summaryrefslogtreecommitdiff
path: root/zebra/if_netlink.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/if_netlink.c')
-rw-r--r--zebra/if_netlink.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/zebra/if_netlink.c b/zebra/if_netlink.c
index 3591106fed..47e0140256 100644
--- a/zebra/if_netlink.c
+++ b/zebra/if_netlink.c
@@ -872,6 +872,13 @@ static void netlink_proc_dplane_if_protodown(struct zebra_if *zif,
zif->flags &= ~ZIF_FLAG_PROTODOWN;
if (zebra_evpn_is_es_bond_member(zif->ifp)) {
+ /* Check it's not already being sent to the dplane first */
+ if (protodown && (zif->flags & ZIF_FLAG_SET_PROTODOWN))
+ return;
+
+ if (!protodown && (zif->flags & ZIF_FLAG_UNSET_PROTODOWN))
+ return;
+
if (IS_ZEBRA_DEBUG_EVPN_MH_ES || IS_ZEBRA_DEBUG_KERNEL)
zlog_debug(
"bond mbr %s re-instate protdown %s in the dplane",