rtnetlink: Migrate neighbor functions
Change-Id: I697f3d70f327f5d1d5e104dc7e4a2af528bf2b6e
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/system_queries.hpp b/src/system_queries.hpp
index 97a5faa..615c282 100644
--- a/src/system_queries.hpp
+++ b/src/system_queries.hpp
@@ -58,12 +58,19 @@
unsigned ifidx = 0;
};
+struct NeighborFilter
+{
+ 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;
+bool validateNewNeigh(const NeighborInfo& info,
+ const NeighborFilter& filter) noexcept;
} // namespace detail
/** @brief Get all the interfaces from the system.
@@ -76,4 +83,8 @@
*/
std::vector<AddressInfo> getAddresses(const AddressFilter& filter);
+/** @brief Returns a list of system neighbor table
+ */
+std::vector<NeighborInfo> getNeighbors(const NeighborFilter& filter);
+
} // namespace phosphor::network::system