]> git.puffer.fish Git - matthieu/frr.git/commit
zebra: evpn dup detect handle ip state change
authorChirag Shah <chirag@cumulusnetworks.com>
Fri, 22 Mar 2019 17:02:07 +0000 (10:02 -0700)
committerChirag Shah <chirag@cumulusnetworks.com>
Mon, 25 Mar 2019 22:48:53 +0000 (15:48 -0700)
commitc34e362b7e664c92045c53bc5813049d3bac8521
tree3fc056429c2d055f92fad443903ea1492f0ba0f3
parentdfff60ed3163a184b32adcadf559a09652ecccee
zebra: evpn dup detect handle ip state change

For a MAC-IP pair generally local/netlink msg for
MAC is received followed by Neigh. The MAC can be detected as duplicate
during this event.
When a neigh update is received, the neigh inherits DUP flag from its
MAC and along with that mark the neigh as INACTIVE.
Also, In the case of DUP detected neigh, do not update its state
to ACTIVE before determining to send notification to bgpd.

There is a time when Neigh update received prior to MAC update.
In that case neigh is marked as inactive since its MAC is
still in REMOTE state. Once the MAC update is received and
it is detected as DUPLICATE, the neigh would inherit DUP flag
but remained in inactive state.

By fixing the first case, the neigh remains in inactive once
detected as DUPLICATE in both scenarios.

The unfreeze action would mark all inherited neighs to ACTIVE,
and clears DUP flag then sends notification to bgpd (to send type-2).

Ticket:CM-24339
Reviewed By:CCR-8451
Testing Done:
Validated dup detection on both environment where neigh and mac
notification can come as either one first.
With the fix, the neigh was remained in "inactive" state
once detected as duplicate.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
zebra/zebra_vxlan.c