From aca48e4ba570369e877e5039bf5eabb33f542caa Mon Sep 17 00:00:00 2001 From: Sam Tannous Date: Tue, 8 Jul 2014 15:15:41 -0400 Subject: [PATCH] lldpd: Fix netlink notification group for address changes The current netlink notification registration registers for only link changes. This patch fixes it to include address changes. Signed-off-by: Roopa Prabhu Signed-off-by: Sam Tannous --- src/daemon/netlink.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/daemon/netlink.c b/src/daemon/netlink.c index 3168554a..46d653f9 100644 --- a/src/daemon/netlink.c +++ b/src/daemon/netlink.c @@ -422,6 +422,12 @@ netlink_get_addresses() return ifaddrs; } +static int +netlink_group_mask(int group) +{ + return group ? (1 << (group - 1)) : 0; +} + /** * Subscribe to link changes. * @@ -430,6 +436,13 @@ netlink_get_addresses() 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); } -- 2.39.5