The current netlink notification registration registers
for only link changes. This patch fixes it to include address
changes.
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: Sam Tannous <stannous@cumulusnetworks.com>
return ifaddrs;
}
+static int
+netlink_group_mask(int group)
+{
+ return group ? (1 << (group - 1)) : 0;
+}
+
/**
* Subscribe to link changes.
*
int
netlink_subscribe_changes()
{
+ unsigned int groups;
+
log_debug("netlink", "listening on interface changes");
- return netlink_connect(NETLINK_ROUTE, RTMGRP_LINK);
+
+ groups = netlink_group_mask(RTNLGRP_LINK) |
+ netlink_group_mask(RTNLGRP_IPV4_IFADDR) |
+ netlink_group_mask(RTNLGRP_IPV6_IFADDR);
+
+ return netlink_connect(NETLINK_ROUTE, groups);
}