From 69711b3f8364d3bcf5d170649eef4c0ed536d851 Mon Sep 17 00:00:00 2001 From: Anuradha Karuppiah Date: Sun, 7 Jun 2020 19:33:48 -0700 Subject: zebra: on local mac add from the dplane a re-install maybe need as static As a part of extended MM handing a MAC can be updated from local to remote while being referenced by SYNC neighs (this is really a temporary/small window). During this window if the MAC transitions back to local again we need to re-inforce the previous SYNC flags (based on the sync-neigh count) as subsequent SYNC updates to the MAC will be de-duped and ignored. Ticket: CM-29636 Signed-off-by: Anuradha Karuppiah --- zebra/zebra_evpn_mac.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'zebra/zebra_evpn_mac.c') diff --git a/zebra/zebra_evpn_mac.c b/zebra/zebra_evpn_mac.c index c1e8b2385..f1e289ec6 100644 --- a/zebra/zebra_evpn_mac.c +++ b/zebra/zebra_evpn_mac.c @@ -2097,13 +2097,12 @@ int zebra_evpn_add_update_local_mac(struct zebra_vrf *zvrf, zebra_evpn_t *zevpn, } /* if the dataplane thinks the entry is sync but it is - * not sync in zebra we need to re-install to fixup + * not sync in zebra (or vice-versa) we need to re-install + * to fixup */ - if (dp_static) { - new_static = zebra_evpn_mac_is_static(mac); - if (!new_static) - inform_dataplane = true; - } + new_static = zebra_evpn_mac_is_static(mac); + if (dp_static != new_static) + inform_dataplane = true; if (local_inactive) SET_FLAG(mac->flags, ZEBRA_MAC_LOCAL_INACTIVE); -- cgit v1.2.3