rtnetlink_server: Dump all netlink data at startup
We want to be able to build the configuration tree without performing an
initial object refresh.
Change-Id: I640ba802bb3ba2a8c0e6e5d4069ba4298f604b4d
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/rtnetlink_server.cpp b/src/rtnetlink_server.cpp
index c5732e9..ffa123e 100644
--- a/src/rtnetlink_server.cpp
+++ b/src/rtnetlink_server.cpp
@@ -113,6 +113,13 @@
return eventHandler(manager, std::forward<decltype(args)>(args)...);
})
{
+ auto cb = [&](const nlmsghdr& hdr, std::string_view data) {
+ handler(manager, hdr, data);
+ };
+ performRequest(NETLINK_ROUTE, RTM_GETLINK, NLM_F_DUMP, ifinfomsg{}, cb);
+ performRequest(NETLINK_ROUTE, RTM_GETADDR, NLM_F_DUMP, ifaddrmsg{}, cb);
+ performRequest(NETLINK_ROUTE, RTM_GETROUTE, NLM_F_DUMP, rtmsg{}, cb);
+ performRequest(NETLINK_ROUTE, RTM_GETNEIGH, NLM_F_DUMP, ndmsg{}, cb);
}
} // namespace netlink