ethernet_interface: Migrate object creation from network_manager

Change-Id: I861a7e7484b33bfc94fc30ff17fa27fca2b95bfa
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/types.hpp b/src/types.hpp
index badc977..f426f81 100644
--- a/src/types.hpp
+++ b/src/types.hpp
@@ -851,3 +851,18 @@
     phosphor::network::detail::ToStrBuf<phosphor::network::IfAddr> tsb;
     return os << tsb(v);
 }
+
+namespace phosphor::network
+{
+
+/** @brief Contains all of the object information about the interface */
+struct AllIntfInfo
+{
+    InterfaceInfo intf;
+    std::optional<in_addr> defgw4 = std::nullopt;
+    std::optional<in6_addr> defgw6 = std::nullopt;
+    std::unordered_map<IfAddr, AddressInfo> addrs = {};
+    std::unordered_map<InAddrAny, NeighborInfo> staticNeighs = {};
+};
+
+} // namespace phosphor::network