system_queries: Get Interface Info from netlink
This reduces all of the interface information probing down to a single
netlink request for all the label + mac information needed to build an
ethernet interface.
If we ever plumb the ethernet stats into dbus, we can get that
information with this same netlink code.
Change-Id: Ied8a73639dcd74bcfecda392905638573ab7970f
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/test/mock_network_manager.hpp b/test/mock_network_manager.hpp
index 69a3263..637ce69 100644
--- a/test/mock_network_manager.hpp
+++ b/test/mock_network_manager.hpp
@@ -25,20 +25,18 @@
void createInterfaces() override
{
- // clear all the interfaces first
interfaces.clear();
- auto interfaceStrList = system::getInterfaces();
- for (auto& interface : interfaceStrList)
+ for (auto& interface : system::getInterfaces())
{
- // normal ethernet interface
- config::Parser config(config::pathForIntfConf(confDir, interface));
+ config::Parser config(
+ config::pathForIntfConf(confDir, *interface.name));
auto intf = std::make_unique<MockEthernetInterface>(
- bus, *this, getInterfaceInfo(interface), objectPath, config);
+ bus, *this, interface, objectPath, config);
intf->createIPAddressObjects();
intf->createStaticNeighborObjects();
intf->loadNameServers(config);
this->interfaces.emplace(
- std::make_pair(std::move(interface), std::move(intf)));
+ std::make_pair(std::move(*interface.name), std::move(intf)));
}
}