# Service Management ## Overview Applications must use service manager daemon to configure services like phosphor-ipmi-net, web, SSH etc. service in the system, instead of directly controlling the same using 'systemd' or 'iptables'. This way client applications doesn't need to change to configure services, when the implementations differ. ### Attributes Interface Service manager daemon, will create objects for configurable service in the system under object path `/xyz/openbmc_project/Control/Service/`. Each service object can be handled through 'org.freedesktop.DBus.ObjectManager'. Service object will expose following properties. #### xyz.openbmc_project.Control.Service.Attributes interface ##### properties * State - State of the service. Enabled / Disabled. * Port - Port number to which the service is configured to listen. * Channel - Supported network interface objects, to which port has to bind. ## Note Implementations can elect to implement service manager daemon either through 'systemctl' (override.conf) or implement the same through 'iptables' logic, of disabling the port, updating the port etc. ## Example usage: Webserver can update the RMCP+ port number from default 623 to different one, by updating the `Port` property value under path `/xyz/openbmc_project/Control/ Service/netipmid` through interface `xyz.openbmc_project.Control.Service. Attributes`. ## Systemd (override.conf) implementation In order to update the property value, `override.conf` file under `/etc/systemd /system//` has to be updated and service unit has to be restarted through `org.freedesktop.systemd1`.