rtnetlink: Migrate IP functions

Change-Id: I4c87b59306911df4c5a73e441b2b962fbaab072c
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/system_queries.hpp b/src/system_queries.hpp
index 32d54cf..97a5faa 100644
--- a/src/system_queries.hpp
+++ b/src/system_queries.hpp
@@ -53,10 +53,17 @@
     }
 };
 
+struct AddressFilter
+{
+    unsigned ifidx = 0;
+};
+
 namespace detail
 {
 InterfaceInfo parseInterface(const nlmsghdr& hdr, std::string_view msg);
 bool validateNewInterface(const InterfaceInfo& info);
+bool validateNewAddr(const AddressInfo& info,
+                     const AddressFilter& filter) noexcept;
 } // namespace detail
 
 /** @brief Get all the interfaces from the system.
@@ -64,4 +71,9 @@
  */
 std::vector<InterfaceInfo> getInterfaces();
 
+/** @brief Get all the addreses from the system.
+ *  @returns list of addresses
+ */
+std::vector<AddressInfo> getAddresses(const AddressFilter& filter);
+
 } // namespace phosphor::network::system