ethernet_interface: Remove DHCP from constructor

It should be set or configured just like all other parameters.

Change-Id: Ic93de4e80b4da0de2e97b9655c424fa55a6844bf
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/ethernet_interface.cpp b/src/ethernet_interface.cpp
index 3afe48c..c222af1 100644
--- a/src/ethernet_interface.cpp
+++ b/src/ethernet_interface.cpp
@@ -64,8 +64,7 @@
 EthernetInterface::EthernetInterface(sdbusplus::bus_t& bus,
                                      const std::string& objPath,
                                      const config::Parser& config,
-                                     DHCPConf dhcpEnabled, Manager& parent,
-                                     bool emitSignal,
+                                     Manager& parent, bool emitSignal,
                                      std::optional<bool> enabled) :
     Ifaces(bus, objPath.c_str(),
            emitSignal ? Ifaces::action::defer_emit
@@ -75,7 +74,7 @@
     auto intfName = objPath.substr(objPath.rfind("/") + 1);
     std::replace(intfName.begin(), intfName.end(), '_', '.');
     interfaceName(intfName);
-    EthernetInterfaceIntf::dhcpEnabled(dhcpEnabled);
+    EthernetInterfaceIntf::dhcpEnabled(getDHCPValue(config));
     EthernetInterfaceIntf::ipv6AcceptRA(getIPv6AcceptRA(config));
     EthernetInterfaceIntf::nicEnabled(enabled ? *enabled : queryNicEnabled());
     const auto& gatewayList = manager.getRouteTable().getDefaultGateway();
@@ -887,8 +886,8 @@
         config::pathForIntfConf(manager.getConfDir(), vlanInterfaceName));
 
     auto vlanIntf = std::make_unique<phosphor::network::VlanInterface>(
-        bus, path.c_str(), config, getDHCPValue(config),
-        EthernetInterfaceIntf::nicEnabled(), id, *this, manager);
+        bus, path.c_str(), config, EthernetInterfaceIntf::nicEnabled(), id,
+        *this, manager);
 
     // Fetch the ip address from the system
     // and create the dbus object.
@@ -917,7 +916,7 @@
     // Pass the parents nicEnabled property, so that the child
     // VLAN interface can inherit.
     auto vlanIntf = std::make_unique<phosphor::network::VlanInterface>(
-        bus, path.c_str(), config::Parser(), EthernetInterface::DHCPConf::none,
+        bus, path.c_str(), config::Parser(),
         EthernetInterfaceIntf::nicEnabled(), id, *this, manager);
 
     // write the device file for the vlan interface.
diff --git a/src/ethernet_interface.hpp b/src/ethernet_interface.hpp
index e4be9ab..e0f2987 100644
--- a/src/ethernet_interface.hpp
+++ b/src/ethernet_interface.hpp
@@ -82,15 +82,14 @@
      *  @param[in] bus - Bus to attach to.
      *  @param[in] objPath - Path to attach at.
      *  @param[in] config - The parsed configuation file.
-     *  @param[in] dhcpEnabled - is dhcp enabled(true/false).
      *  @param[in] parent - parent object.
      *  @param[in] emitSignal - true if the object added signal needs to be
      *                          send.
      *  @param[in] enabled - Override the lookup of nicEnabled
      */
     EthernetInterface(sdbusplus::bus_t& bus, const std::string& objPath,
-                      const config::Parser& config, DHCPConf dhcpEnabled,
-                      Manager& parent, bool emitSignal = true,
+                      const config::Parser& config, Manager& parent,
+                      bool emitSignal = true,
                       std::optional<bool> enabled = std::nullopt);
 
     /** @brief Function used to load the nameservers.
diff --git a/src/network_manager.cpp b/src/network_manager.cpp
index 7d288be..86d892f 100644
--- a/src/network_manager.cpp
+++ b/src/network_manager.cpp
@@ -133,7 +133,7 @@
         config::Parser config(config::pathForIntfConf(confDir, interface));
 
         auto intf = std::make_shared<phosphor::network::EthernetInterface>(
-            bus, objPath.string(), config, getDHCPValue(config), *this);
+            bus, objPath.string(), config, *this);
 
         intf->createIPAddressObjects();
         intf->createStaticNeighborObjects();
diff --git a/src/vlan_interface.cpp b/src/vlan_interface.cpp
index 1ea6a17..129cbf7 100644
--- a/src/vlan_interface.cpp
+++ b/src/vlan_interface.cpp
@@ -20,13 +20,12 @@
 using namespace sdbusplus::xyz::openbmc_project::Common::Error;
 
 VlanInterface::VlanInterface(sdbusplus::bus_t& bus, const std::string& objPath,
-                             const config::Parser& config, DHCPConf dhcpEnabled,
-                             bool nicEnabled, uint32_t vlanID,
-                             EthernetInterface& intf, Manager& parent) :
+                             const config::Parser& config, bool nicEnabled,
+                             uint32_t vlanID, EthernetInterface& intf,
+                             Manager& parent) :
     VlanIface(bus, objPath.c_str()),
     DeleteIface(bus, objPath.c_str()),
-    EthernetInterface(bus, objPath, config, dhcpEnabled, parent, true,
-                      nicEnabled),
+    EthernetInterface(bus, objPath, config, parent, true, nicEnabled),
     parentInterface(intf)
 {
     id(vlanID);
diff --git a/src/vlan_interface.hpp b/src/vlan_interface.hpp
index 2d8baaa..09b9bb0 100644
--- a/src/vlan_interface.hpp
+++ b/src/vlan_interface.hpp
@@ -41,7 +41,6 @@
      *  @param[in] bus - Bus to attach to.
      *  @param[in] objPath - Path to attach at.
      *  @param[in] config - The parsed configuation file.
-     *  @param[in] dhcpEnabled - DHCP enable value.
      *  @param[in] vlanID - vlan identifier.
      *  @param[in] intf - ethernet interface object.
      *  @param[in] manager - network manager object.
@@ -49,9 +48,8 @@
      *  This constructor is called during loading the VLAN Interface
      */
     VlanInterface(sdbusplus::bus_t& bus, const std::string& objPath,
-                  const config::Parser& config, DHCPConf dhcpEnabled,
-                  bool nicEnabled, uint32_t vlanID, EthernetInterface& intf,
-                  Manager& parent);
+                  const config::Parser& config, bool nicEnabled,
+                  uint32_t vlanID, EthernetInterface& intf, Manager& parent);
 
     /** @brief Delete this d-bus object.
      */
diff --git a/test/mock_ethernet_interface.hpp b/test/mock_ethernet_interface.hpp
index a0358ed..5e21170 100644
--- a/test/mock_ethernet_interface.hpp
+++ b/test/mock_ethernet_interface.hpp
@@ -13,9 +13,9 @@
 {
   public:
     MockEthernetInterface(sdbusplus::bus_t& bus, const std::string& objPath,
-                          const config::Parser& config, DHCPConf dhcpEnabled,
-                          Manager& parent, bool emitSignal) :
-        EthernetInterface(bus, objPath, config, dhcpEnabled, parent, emitSignal,
+                          const config::Parser& config, Manager& parent,
+                          bool emitSignal) :
+        EthernetInterface(bus, objPath, config, parent, emitSignal,
                           /*nicEnabled=*/true)
     {
     }
diff --git a/test/mock_network_manager.hpp b/test/mock_network_manager.hpp
index 46c7c4b..fde3bbd 100644
--- a/test/mock_network_manager.hpp
+++ b/test/mock_network_manager.hpp
@@ -34,8 +34,7 @@
             config::Parser config(config::pathForIntfConf(confDir, interface));
             auto intf =
                 std::make_shared<phosphor::network::MockEthernetInterface>(
-                    bus, objPath.string(), config, getDHCPValue(config), *this,
-                    true);
+                    bus, objPath.string(), config, *this, true);
             intf->createIPAddressObjects();
             intf->createStaticNeighborObjects();
             intf->loadNameServers(config);
diff --git a/test/test_ethernet_interface.cpp b/test/test_ethernet_interface.cpp
index ac96190..0893147 100644
--- a/test/test_ethernet_interface.cpp
+++ b/test/test_ethernet_interface.cpp
@@ -43,12 +43,8 @@
     {
         mock_clear();
         mock_addIF("test0", 1, mac);
-        return {bus,
-                "/xyz/openbmc_test/network/test0",
-                config::Parser(),
-                EthernetInterface::DHCPConf::none,
-                manager,
-                true};
+        return {bus, "/xyz/openbmc_test/network/test0", config::Parser(),
+                manager, true};
     }
 
     int countIPObjects()
diff --git a/test/test_vlan_interface.cpp b/test/test_vlan_interface.cpp
index 8d31c7b..c4734b1 100644
--- a/test/test_vlan_interface.cpp
+++ b/test/test_vlan_interface.cpp
@@ -44,7 +44,6 @@
         return {bus,
                 "/xyz/openbmc_test/network/test0",
                 config::Parser(),
-                EthernetInterface::DHCPConf::none,
                 manager,
                 false,
                 true};