summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2019-02-01 21:51:41 -0800
committerWilliam A. Kennington III <wak@google.com>2019-02-19 13:09:41 -0800
commit00506d82189984ad4dc01c7c6b096a1c6281699d (patch)
tree920682674f1db066b1adabbdf1c2ff87734ca8fc
parentd81a098df4f67202cdf697f32e6e2059f31cd2fe (diff)
downloadphosphor-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.cpp5
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)
{
OpenPOWER on IntegriCloud