summaryrefslogtreecommitdiffstats
path: root/zebra
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@cumulusnetworks.com>2019-08-01 19:37:05 +0200
committerQuentin Young <qlyoung@cumulusnetworks.com>2019-08-02 19:20:45 +0200
commit6f908ded80eeba40a850e8d1f6246fb3ed31e648 (patch)
treefb0df6ba5db5fc85b5f5ace48cc45fee70312206 /zebra
parentvrrpd: add more dbg logs around interfaces (diff)
downloadfrr-6f908ded80eeba40a850e8d1f6246fb3ed31e648.tar.xz
frr-6f908ded80eeba40a850e8d1f6246fb3ed31e648.zip
zebra: send interface updates when down
When interfaces change while they are up, Zebra sends if_up notifications with the updated interface info. Change Zebra to send if_down notifications with interface info when the interface changes while it is down. VRRP, at the least, needs these to know about MAC changes while an interface is down. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Diffstat (limited to 'zebra')
-rw-r--r--zebra/if_netlink.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/zebra/if_netlink.c b/zebra/if_netlink.c
index df8d4bfe1..4a916bd2c 100644
--- a/zebra/if_netlink.c
+++ b/zebra/if_netlink.c
@@ -1347,6 +1347,12 @@ int netlink_link_change(struct nlmsghdr *h, ns_id_t ns_id, int startup)
"Intf %s(%u) has come UP",
name, ifp->ifindex);
if_up(ifp);
+ } else {
+ if (IS_ZEBRA_DEBUG_KERNEL)
+ zlog_debug(
+ "Intf %s(%u) has gone DOW",
+ name, ifp->ifindex);
+ if_down(ifp);
}
}