rtnetlink: Migrate IP functions

Change-Id: I4c87b59306911df4c5a73e441b2b962fbaab072c
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/ethernet_interface.cpp b/src/ethernet_interface.cpp
index c2e3e63..a0c6193 100644
--- a/src/ethernet_interface.cpp
+++ b/src/ethernet_interface.cpp
@@ -176,19 +176,14 @@
 void EthernetInterface::createIPAddressObjects()
 {
     addrs.clear();
-
-    AddressFilter filter;
-    filter.interface = ifIdx;
-    auto currentAddrs = getCurrentAddresses(filter);
-    for (const auto& addr : currentAddrs)
+    for (const auto& addr : system::getAddresses({.ifidx = ifIdx}))
     {
         if (addr.flags & IFA_F_DEPRECATED)
         {
             continue;
         }
-        auto ifaddr = IfAddr(addr.address, addr.prefix);
         IP::AddressOrigin origin = IP::AddressOrigin::Static;
-        if (dhcpIsEnabled(addr.address))
+        if (dhcpIsEnabled(addr.ifaddr.getAddr()))
         {
             origin = IP::AddressOrigin::DHCP;
         }
@@ -200,8 +195,9 @@
 #endif
 
         this->addrs.insert_or_assign(
-            ifaddr, std::make_unique<IPAddress>(bus, std::string_view(objPath),
-                                                *this, ifaddr, origin));
+            addr.ifaddr,
+            std::make_unique<IPAddress>(bus, std::string_view(objPath), *this,
+                                        addr.ifaddr, origin));
     }
 }