From: Sam Tannous Date: Tue, 8 Jul 2014 19:15:41 +0000 (-0400) Subject: lldpd: Fix netlink notification group for address changes X-Git-Tag: 0.7.10~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aca48e4ba570369e877e5039bf5eabb33f542caa;p=thirdparty%2Flldpd.git 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 --- 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); }