summaryrefslogtreecommitdiff
path: root/lib/command_py.c
diff options
context:
space:
mode:
authorAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2018-10-11 08:48:42 -0700
committerDonald Sharp <sharpd@cumulusnetworks.com>2018-10-31 06:23:32 -0400
commite98e4b8899a696e13bcfcc8fa25b3546c1f4c244 (patch)
tree942f2e5b0f013cc206faa14ca1df1a866d539c72 /lib/command_py.c
parent8029b21687a4de7364607fc2aa9925d770a73507 (diff)
zebra: send a local-mac del to bgpd on mac mod to remote
When events cross paths between bgp and zebra bgpd could end up with a dangling local MAC entry. Consider the following sequence of events on rack-1 - 1. MAC1 has MM sequence number 1 and points to rack-3 2. Now a packet is rxed locally on rack-1 and rack-2 (simultaneously) with source-mac=MAC1. 3. This would cause rack-1 and rack-2 to set the MM seq to 2 and simultaneously report the MAC as local. 4. Now let's say on rack-1 zebra's MACIP_ADD is in bgpd's queue. bgpd accepts rack-3's update and sends a remote MACIP add to zebra with MM=2. 5. zebra updates the MAC entry from local=>remote. 6. bgpd now processes zebra's "stale local" making it the best path. However zebra no longer has a local MAC entry. At this point bgpd and zebra are effectively out of sync i.e. bgpd has a local-MAC which is not present in the kernel or in zebra. To handle this window zebra should send a local MAC delete to bgpd on modifying its cache to remote. Ticket: CM-22687 Reviewed By: CCR-7935 Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Diffstat (limited to 'lib/command_py.c')
0 files changed, 0 insertions, 0 deletions