diff options
author | William A. Kennington III <wak@google.com> | 2019-02-01 21:51:41 -0800 |
---|---|---|
committer | William A. Kennington III <wak@google.com> | 2019-02-19 13:09:41 -0800 |
commit | 00506d82189984ad4dc01c7c6b096a1c6281699d (patch) | |
tree | 920682674f1db066b1adabbdf1c2ff87734ca8fc | |
parent | d81a098df4f67202cdf697f32e6e2059f31cd2fe (diff) | |
download | phosphor-networkd-00506d82189984ad4dc01c7c6b096a1c6281699d.tar.gz phosphor-networkd-00506d82189984ad4dc01c7c6b096a1c6281699d.zip |
rtnetlink_server: Refresh for route changes
We want to make sure we update the DefaultGateway if it changes.
Otherwise when someone changes our gateway we don't update the state of
the phosphor-network daemon.
Tested:
Editted the default route manually through netlink and saw the
update get picked up in the dbus interface.
Change-Id: Ib4f5bafbdb7615e235f47bc8fa372396491e69e6
Signed-off-by: William A. Kennington III <wak@google.com>
-rw-r--r-- | rtnetlink_server.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/rtnetlink_server.cpp b/rtnetlink_server.cpp index d0a11b9..732055a 100644 --- a/rtnetlink_server.cpp +++ b/rtnetlink_server.cpp @@ -32,6 +32,8 @@ static bool shouldRefresh(const struct nlmsghdr& hdr) { case RTM_NEWADDR: case RTM_DELADDR: + case RTM_NEWROUTE: + case RTM_DELROUTE: { return true; } @@ -122,7 +124,8 @@ Server::Server(EventPtr& eventPtr, const phosphor::Descriptor& smartSock) std::memset(&addr, 0, sizeof(addr)); addr.nl_family = AF_NETLINK; - addr.nl_groups = RTMGRP_IPV4_IFADDR | RTMGRP_IPV6_IFADDR; + addr.nl_groups = RTMGRP_IPV4_IFADDR | RTMGRP_IPV6_IFADDR | + RTMGRP_IPV4_ROUTE | RTMGRP_IPV6_ROUTE; if (bind(smartSock(), (struct sockaddr*)&addr, sizeof(addr)) < 0) { |