summaryrefslogtreecommitdiffstats
path: root/ethernet_interface.cpp
diff options
context:
space:
mode:
authorRatan Gupta <ratagupt@in.ibm.com>2017-07-26 22:40:21 +0530
committerPatrick Williams <patrick@stwcx.xyz>2017-08-13 11:32:38 +0000
commit92bc2fe4663b8a9e2a38084692dc9587762926f9 (patch)
tree1b3da24dac31b0fa55bb5e549b5beaf8ef7b7a6e /ethernet_interface.cpp
parent2b1065328b4fc8131dc5bd2509a326ad68006617 (diff)
downloadphosphor-networkd-92bc2fe4663b8a9e2a38084692dc9587762926f9.tar.gz
phosphor-networkd-92bc2fe4663b8a9e2a38084692dc9587762926f9.zip
Load the VLAN interfaces from the system
At start up Network Manager creates all the interfaces by reading it from the system.This commit creates the vlan interface after reading it from the system. Change-Id: I38e6f3b776f834e33d17e4e88f700b4f52af4048 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
Diffstat (limited to 'ethernet_interface.cpp')
-rw-r--r--ethernet_interface.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/ethernet_interface.cpp b/ethernet_interface.cpp
index 3b50d4e..30927f6 100644
--- a/ethernet_interface.cpp
+++ b/ethernet_interface.cpp
@@ -303,10 +303,35 @@ bool EthernetInterface::dHCPEnabled(bool value)
{
writeConfigurationFile();
createIPAddressObjects();
+
}
+
return value;
}
+void EthernetInterface::loadVLAN(VlanId id)
+{
+ std::string vlanInterfaceName = interfaceName() + "." +
+ std::to_string(id);
+ std::string path = objPath;
+ path += "_" + std::to_string(id);
+
+ auto vlanIntf = std::make_unique<phosphor::network::VlanInterface>(
+ bus,
+ path.c_str(),
+ EthernetInterfaceIntf::dHCPEnabled(),
+ id,
+ *this,
+ manager);
+
+ // Fetch the ip address from the system
+ // and create the dbus object.
+ vlanIntf->createIPAddressObjects();
+
+ this->vlanInterfaces.emplace(std::move(vlanInterfaceName),
+ std::move(vlanIntf));
+}
+
void EthernetInterface::createVLAN(VlanId id)
{
std::string vlanInterfaceName = interfaceName() + "." +
OpenPOWER on IntegriCloud