mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-04 17:40:23 +00:00
Merge pull request #16264 from FRRouting/mergify/bp/dev/10.1/pr-16252
zebra: fix evpn mh bond member proto reinstall (backport #16252)
This commit is contained in:
commit
8ef8743e6c
@ -1656,8 +1656,10 @@ static void interface_if_protodown(struct interface *ifp, bool protodown,
|
||||
uint32_t rc_bitfield)
|
||||
{
|
||||
struct zebra_if *zif = ifp->info;
|
||||
bool old_protodown;
|
||||
bool old_protodown, reason_extern;
|
||||
|
||||
reason_extern = !!CHECK_FLAG(zif->protodown_rc,
|
||||
ZEBRA_PROTODOWN_EXTERNAL);
|
||||
/*
|
||||
* Set our reason code to note it wasn't us.
|
||||
* If the reason we got from the kernel is ONLY frr though, don't
|
||||
@ -1673,8 +1675,8 @@ static void interface_if_protodown(struct interface *ifp, bool protodown,
|
||||
return;
|
||||
|
||||
if (IS_ZEBRA_DEBUG_EVPN_MH_ES || IS_ZEBRA_DEBUG_DPLANE)
|
||||
zlog_debug("interface %s dplane change, protodown %s",
|
||||
ifp->name, protodown ? "on" : "off");
|
||||
zlog_debug("interface %s dplane change, protodown %s curr reason_extern %u",
|
||||
ifp->name, protodown ? "on" : "off", reason_extern);
|
||||
|
||||
/* Set protodown, respectively */
|
||||
COND_FLAG(zif->flags, ZIF_FLAG_PROTODOWN, protodown);
|
||||
@ -1699,6 +1701,13 @@ static void interface_if_protodown(struct interface *ifp, bool protodown,
|
||||
return;
|
||||
}
|
||||
|
||||
if (!protodown && reason_extern) {
|
||||
if (IS_ZEBRA_DEBUG_EVPN_MH_ES || IS_ZEBRA_DEBUG_KERNEL)
|
||||
zlog_debug("bond member %s has protodown reason external and clear the reason, skip reinstall.",
|
||||
ifp->name);
|
||||
return;
|
||||
}
|
||||
|
||||
if (IS_ZEBRA_DEBUG_EVPN_MH_ES || IS_ZEBRA_DEBUG_KERNEL)
|
||||
zlog_debug(
|
||||
"bond mbr %s reinstate protodown %s in the dplane",
|
||||
|
Loading…
Reference in New Issue
Block a user