summaryrefslogtreecommitdiff
path: root/zebra/zebra_evpn_neigh.c
diff options
context:
space:
mode:
authorStephen Worley <sworley@nvidia.com>2021-07-23 13:35:14 -0400
committerStephen Worley <sworley@nvidia.com>2022-10-11 15:18:39 -0400
commit34c7f35f0217e16447ca0bc6aedd8aba2e51f877 (patch)
tree0ec904baf275d59ae7ecdd758e5f38e727f87d34 /zebra/zebra_evpn_neigh.c
parent7d99ad7f93e42ca2f58023374843d70039a8310f (diff)
bgpd: rework VNI table for type2/macip routes
Use the IP addr of type2/macip routes only for the hash/key of the VNI table and carry the MAC in a path_info_extra attribute. There is exists situations that can be hit during extended MAC mobility events where two MACs could be pointing to the same IP in our global table. It is requires very specific timings. When that happens, BPG would (because we key'd on both MAC and IP) install both into it's VNI table as separate entries, but zebra only knows/needs to know about a single IP -> MAC relationship for it's VNI table's type2 routes. So it was compleletly undeterministic which one zebra would end up with in these timing situations. With these changes, we move BGP's VNI table to key'd the same as Zebra's and now a single IP will have multiple path_info's with a path_info_extra that is carrying the MAC info for each path. BGP will then run best path to deterministically decide which one to send to zebra during the occasions where there exist's two possible MACs. Signed-off-by: Stephen Worley <sworley@nvidia.com>
Diffstat (limited to 'zebra/zebra_evpn_neigh.c')
0 files changed, 0 insertions, 0 deletions