From: Quentin Young Date: Thu, 21 Feb 2019 22:42:55 +0000 (+0000) Subject: vrrpd: do not transition to backup on ifdown X-Git-Tag: base_7.2~330^2~62 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=c4485ad5aaade4b6f68b932a9be35b7f911b50cf;p=matthieu%2Ffrr.git vrrpd: do not transition to backup on ifdown Transitioning to backup on an interface down causes all sorts of problems when it comes back up, not least of which is breaking preempt mode. Signed-off-by: Quentin Young --- diff --git a/vrrpd/vrrp.c b/vrrpd/vrrp.c index 92ed12e239..da6f5ba4d9 100644 --- a/vrrpd/vrrp.c +++ b/vrrpd/vrrp.c @@ -1874,24 +1874,11 @@ void vrrp_if_down(struct interface *ifp) vrs = vrrp_lookup_by_if_any(ifp); for (ALL_LIST_ELEMENTS_RO(vrs, ln, vr)) { - if (vr->v4->mvl_ifp == ifp || vr->ifp == ifp) { - if (vr->v4->fsm.state == VRRP_STATE_MASTER) { - DEBUGD(&vrrp_dbg_auto, - VRRP_LOGPFX VRRP_LOGPFX_VRID - "Interface %s down; transitioning IPv4 VRRP router to Backup", - vr->vrid, ifp->name); - vrrp_change_state(vr->v4, VRRP_STATE_BACKUP); - } - } - - if (vr->v6->mvl_ifp == ifp || vr->ifp == ifp) { - if (vr->v6->fsm.state == VRRP_STATE_MASTER) { - DEBUGD(&vrrp_dbg_auto, - VRRP_LOGPFX VRRP_LOGPFX_VRID - "Interface %s down; transitioning IPv6 VRRP router to Backup", - vr->vrid, ifp->name); - vrrp_change_state(vr->v6, VRRP_STATE_BACKUP); - } + if (vr->ifp == ifp || vr->v4->mvl_ifp == ifp + || vr->v6->mvl_ifp == ifp) { + DEBUGD(&vrrp_dbg_auto, + VRRP_LOGPFX VRRP_LOGPFX_VRID "Interface %s down", + vr->vrid, ifp->name); } }