Backend changes for Populating Nameservers(DNS & Static)
- As per the proposed design :
https://lists.ozlabs.org/pipermail/openbmc/2019-September/018399.html
Depends on :
https://gerrit.openbmc-project.xyz/#/c/openbmc/phosphor-dbus-interfaces/+/26060/
The idea of this commit is to
- Support NameServers(Read Only) property to display current
Nameservers (both DHCP provided& Static) configured on the
interface.
- Support StaticNameServers(Writable) property by which user
can set the Nameservers on an interface.
Tested By:
1.Configure a DNS via DHCP Server & Make sure NameServer property
populates accordingly.
2.With DNS from DHCP existing, set a name server using PATCH on
StaticNameServer property & make sure both properties populate
the data as per the proposal.
3.Make sure /etc/resolv.conf is populated with the right content
in case of DHCP/Static and DHCP & Static (Co-existing)
4.Make sure network configuration file is updated properly when
user sets a staic name server.
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: If10b9aa683d2b50e51780e91323c6d10a5ec3710
diff --git a/ethernet_interface.hpp b/ethernet_interface.hpp
index 68668d6..4a0f030 100644
--- a/ethernet_interface.hpp
+++ b/ethernet_interface.hpp
@@ -86,6 +86,10 @@
bool dhcpEnabled, Manager& parent,
bool emitSignal = true);
+ /** @brief Function used to load the nameservers.
+ */
+ virtual void loadNameServers();
+
/** @brief Function to create ipaddress dbus object.
* @param[in] addressType - Type of ip address.
* @param[in] ipaddress- IP address.
@@ -180,6 +184,12 @@
*/
ServerList nameservers(ServerList value) override;
+ /** @brief sets the Static DNS/nameservers.
+ * @param[in] value - vector of DNS servers.
+ */
+
+ ServerList staticNameServers(ServerList value) override;
+
/** @brief create Vlan interface.
* @param[in] id- VLAN identifier.
*/
@@ -275,7 +285,8 @@
/** @brief get the name server details from the network conf
*
*/
- ServerList getNameServerFromConf();
+ virtual ServerList getNameServerFromResolvd();
+ ServerList getstaticNameServerFromConf();
/** @brief Persistent sdbusplus DBus bus connection. */
sdbusplus::bus::bus& bus;