mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 06:50:17 +00:00
vrrpd: try to bind interfaces on if_down notifications
Normally we only opportunistically try to bind interfaces to VRRP instances upon getting if_add and if_up notifications; now that Zebra sends if_down notifications when interfaces change while they are down, we should try to bind when we get those as well. This solves a bug where VRRP would not bind and activate virtual routers to valid interfaces because their MACs were changed to VRRP macs while the interface was down. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
This commit is contained in:
parent
6f908ded80
commit
2e3d75646e
@ -2133,9 +2133,13 @@ void vrrp_if_down(struct interface *ifp)
|
||||
struct listnode *ln;
|
||||
struct list *vrs;
|
||||
|
||||
vrrp_bind_pending(ifp);
|
||||
|
||||
vrs = vrrp_lookup_by_if_any(ifp);
|
||||
|
||||
for (ALL_LIST_ELEMENTS_RO(vrs, ln, vr)) {
|
||||
vrrp_check_start(vr);
|
||||
|
||||
if (vr->ifp == ifp || vr->v4->mvl_ifp == ifp
|
||||
|| vr->v6->mvl_ifp == ifp) {
|
||||
DEBUGD(&vrrp_dbg_auto,
|
||||
|
Loading…
Reference in New Issue
Block a user