commit | 25c93aa2acb4acfe04f31f79d51f46e7e5cb2ec5 | [log] [tgz] |
---|---|---|
author | leonhuang <leonhuang@nvidia.com> | Mon Mar 10 20:41:56 2025 -0700 |
committer | leonhuang <leonhuang@nvidia.com> | Fri Apr 04 06:27:37 2025 +0000 |
tree | 0d235c1ba662b63b2a42b61fa96ac8e7c4f3f844 | |
parent | 543e072e7cac8e3830e608477e976ded35275afe [diff] |
Add SSIF in service config manager Why we want to control ssifbridge: It is a requirement to allow user enabling/disabling. To enhance security, SSIF should be disabled before entering the OS environment. This can be easily achieved through service configuration. Add SSIF to map table and set it as false. true → This service is started through a systemd socket. false → This service is a regular systemd service. Verification: Validated SSIF device presence and ssifbridge DBus service behavior under both enabled and disabled configurations using QEMU-based evb-ast2600 simulation. Test Steps: [Case 1] No SSIF device present: - Boot QEMU without SSIF - Verified that /dev/ipmi-ssif-host does NOT exist - Confirmed ssifbridge is NOT registered under /xyz/openbmc_project/control/service [Case 2] SSIF device present: - Boot QEMU with SSIF enabled - Verified that /dev/ipmi-ssif-host exists - Confirmed ssifbridge registered under /xyz/openbmc_project/control/service - Validated ssifbridge properties: Enabled=true, Running=true [Case 3] Disable ssifbridge service: - Set Enabled=false and Running=false via busctl - Verified systemctl shows ssifbridge.service is inactive (dead) [Case 4] Re-enable ssifbridge service: - Set Enabled=true and Running=true via busctl - Verified systemctl shows ssifbridge.service is active and running Result: PASS: All expected behaviors observed in each case PASS: DBus properties reflect correct service state PASS: systemd service state matches DBus setting Tested on: - evb-ast2600 QEMU environment (with/without SSIF) Change-Id: I7e6f642403721a020cdd33940b2d05d33a026175 Signed-off-by: Leon Huang <leonhuang@nvidia.com>
The service config manager provides a D-Bus interface to manage BMC services as described by the service management D-Bus interfaces.
The configuration settings are intended to persist across BMC reboots.
An example use case for this service is BMCWeb's implementation of the Redfish NetworkProtocol schema.
Implementation details are described in the D-Bus interface README.
The service config manager generally makes configuration changes to systemd
units via D-Bus interfaces.
The design pattern to add new services or controls is:
Running
and Enabled
properties of a service: