Skip to content

Commit

Permalink
Merge pull request FRRouting#17737 from chiragshah6/fdev7
Browse files Browse the repository at this point in the history
zebra:check DAD freeze action before notifying bgp
  • Loading branch information
ton31337 authored Jan 3, 2025
2 parents 352b97f + 5aa9c86 commit 73fad72
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions zebra/zebra_evpn_mac.c
Original file line number Diff line number Diff line change
Expand Up @@ -1323,19 +1323,22 @@ int zebra_evpn_mac_send_del_to_client(vni_t vni, const struct ethaddr *macaddr,
uint32_t flags, bool force)
{
int state = ZEBRA_NEIGH_ACTIVE;
struct zebra_vrf *zvrf;

if (!force) {
if (CHECK_FLAG(flags, ZEBRA_MAC_LOCAL_INACTIVE) &&
!CHECK_FLAG(flags, ZEBRA_MAC_ES_PEER_ACTIVE))
/* the host was not advertised - nothing to delete */
return 0;

/* MAC is LOCAL and DUP_DETECTED, this local mobility event
* is not known to bgpd. Upon receiving local delete
* ask bgp to reinstall the best route (remote entry).
/* Duplicate detect action is freeze enabled and
* Local MAC is duplicate deteced, this local
* mobility event is not known to bgpd.
* Upon receiving local delete ask bgp to reinstall
* the best route (remote entry).
*/
if (CHECK_FLAG(flags, ZEBRA_MAC_LOCAL) &&
CHECK_FLAG(flags, ZEBRA_MAC_DUPLICATE))
zvrf = zebra_vrf_get_evpn();
if (zvrf && zvrf->dad_freeze && CHECK_FLAG(flags, ZEBRA_MAC_DUPLICATE))
state = ZEBRA_NEIGH_INACTIVE;
}

Expand Down

0 comments on commit 73fad72

Please sign in to comment.