Adding system configuration object & UT
This commit adds the system config object that implements
the SystemConfiguration interface.
The hostname property under this interface will initially
be set from the bios table when the service starts.
Whenever user sets the property, the same will be updated
in the bios table.
busctl tree xyz.openbmc_project.Network.Hypervisor
└─/xyz
└─/xyz/openbmc_project
└─/xyz/openbmc_project/network
└─/xyz/openbmc_project/network/hypervisor
└─/xyz/openbmc_project/network/hypervisor/config
Tested By:
busctl set-property xyz.openbmc_project.Network.Hypervisor
/xyz/openbmc_project/network/hypervisor/config
xyz.openbmc_project.Network.SystemConfiguration HostName s "vmi HN"
busctl introspect xyz.openbmc_project.Network.Hypervisor /xyz/openbmc_project/network/hypervisor/config
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
org.freedesktop.DBus.Introspectable interface - - -
.Introspect method - s -
org.freedesktop.DBus.Peer interface - - -
.GetMachineId method - s -
.Ping method - - -
org.freedesktop.DBus.Properties interface - - -
.Get method ss v -
.GetAll method s a{sv} -
.Set method ssv - -
.PropertiesChanged signal sa{sv}as - -
xyz.openbmc_project.Network.SystemConfiguration interface - - -
.DefaultGateway property s "" emits-change writable
.DefaultGateway6 property s "" emits-change writable
.HostName property s "vmi HN" emits-change writable
busctl call xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager GetAttribute s vmi_hostname
svv "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.String" s "vmi HN" s ""
Signed-off-by: Asmitha Karunanithi <asmitk01@in.ibm.com>
Change-Id: Ib3afaef2da039d18cc672a1759b721698f9c14e2
diff --git a/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.cpp b/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.cpp
index 4923cac..1540e0f 100644
--- a/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.cpp
+++ b/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.cpp
@@ -241,5 +241,12 @@
log<level::INFO>("Create eth0 and eth1 objects");
}
+void HypNetworkMgr::createSysConfObj()
+{
+ systemConf.reset(nullptr);
+ this->systemConf = std::make_unique<phosphor::network::HypSysConfig>(
+ bus, objectPath + "/config", *this);
+}
+
} // namespace network
} // namespace phosphor