Network:Modified create interface to return the D-Bus object ID
Currently, the create interface doesn't return the Object identifier,
this commit is to modify Create Inferface to return the object identifier.
Change-Id: Icbd30481a1173a0c2b8dbe32ba913504555a119a
Signed-off-by: raviteja-b <raviteja28031990@gmail.com>
diff --git a/ethernet_interface.cpp b/ethernet_interface.cpp
index 5416f74..999613d 100644
--- a/ethernet_interface.cpp
+++ b/ethernet_interface.cpp
@@ -104,8 +104,8 @@
}
}
-void EthernetInterface::iP(IP::Protocol protType, std::string ipaddress,
- uint8_t prefixLength, std::string gateway)
+ObjectPath EthernetInterface::iP(IP::Protocol protType, std::string ipaddress,
+ uint8_t prefixLength, std::string gateway)
{
if (dHCPEnabled())
@@ -152,6 +152,7 @@
origin, prefixLength, gateway));
manager.writeToConfigurationFile();
+ return objectPath;
}
/*
diff --git a/ethernet_interface.hpp b/ethernet_interface.hpp
index bfe1d54..7d7447d 100644
--- a/ethernet_interface.hpp
+++ b/ethernet_interface.hpp
@@ -31,6 +31,7 @@
sdbusplus::xyz::openbmc_project::Network::server::MACAddress;
using ServerList = std::vector<std::string>;
+using ObjectPath = sdbusplus::message::object_path;
namespace fs = std::experimental::filesystem;
@@ -86,8 +87,8 @@
* @param[in] gateway - Gateway ip address.
*/
- void iP(IP::Protocol addressType, std::string ipaddress,
- uint8_t prefixLength, std::string gateway) override;
+ ObjectPath iP(IP::Protocol addressType, std::string ipaddress,
+ uint8_t prefixLength, std::string gateway) override;
/* @brief delete the dbus object of the given ipaddress.
* @param[in] ipaddress - IP address.
diff --git a/xyz/openbmc_project/Network/IP/Create.interface.yaml b/xyz/openbmc_project/Network/IP/Create.interface.yaml
index 38805e7..4a14c16 100644
--- a/xyz/openbmc_project/Network/IP/Create.interface.yaml
+++ b/xyz/openbmc_project/Network/IP/Create.interface.yaml
@@ -20,5 +20,10 @@
type: string
description: >
Gateway Address.
+ returns:
+ - name: Path
+ type: path
+ description: >
+ The path for the created ipaddress object.
errors:
- xyz.openbmc_project.Common.Error.InvalidArgument