diff options
author | Anuradha Karuppiah <anuradhak@cumulusnetworks.com> | 2018-10-16 21:59:24 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-10-31 11:23:32 +0100 |
commit | f3a930da157cd9febea3d8f0f723fb8351e75d9c (patch) | |
tree | 3d3d67f81fcbaa4e67a7d11763cc8b642858872c /zebra | |
parent | zebra: make neigh active when it is modified from local to remote (diff) | |
download | frr-f3a930da157cd9febea3d8f0f723fb8351e75d9c.tar.xz frr-f3a930da157cd9febea3d8f0f723fb8351e75d9c.zip |
zebra: set remoteseq to 0 when remote mac is deleted by bgpd
When the remote mac is deleted by bgpd we can end up with an auto mac
entry in zebra if there are neighs referring to the mac. The remote sequence
number in the auto mac entry needs to be reset to 0 as the mac entry may
have been removed on all VTEPs (including the originating one).
Now if the MAC comes back on a remote VTEP it may be added with MM=0 which
will NOT be accepted if the remote seq was not reset in the previous step.
Ticket: CM-22707
Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Diffstat (limited to 'zebra')
-rw-r--r-- | zebra/zebra_vxlan.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/zebra/zebra_vxlan.c b/zebra/zebra_vxlan.c index b98b7381f..ab7ccc381 100644 --- a/zebra/zebra_vxlan.c +++ b/zebra/zebra_vxlan.c @@ -4433,6 +4433,13 @@ static void process_remote_macip_del(vni_t vni, } else { if (CHECK_FLAG(mac->flags, ZEBRA_MAC_REMOTE)) { zvni_process_neigh_on_remote_mac_del(zvni, mac); + /* + * the remote sequence number in the auto mac entry + * needs to be reset to 0 as the mac entry may have + * been removed on all VTEPs (including + * the originating one) + */ + mac->rem_seq = 0; /* If all remote neighbors referencing a remote MAC * go away, we need to uninstall the MAC. |