]> git.proxmox.com Git - mirror_frr.git/commit
zebra: Refactoring changes for zebra_evpn_map_vlan zebra_evpn_from_svi and zl3vni_fro...
authorSharath Ramamurthy <sramamurthy@nvidia.com>
Tue, 27 Jul 2021 09:24:40 +0000 (14:54 +0530)
committerStephen Worley <sworley@nvidia.com>
Mon, 13 Feb 2023 23:12:04 +0000 (18:12 -0500)
commitefde4f25612fb3a690ed1e0ce789a490f949bb2e
tree50630ce82382f9009ec471472a2ec2d244c103ab
parent239b26f932e5b78828dce8f7fe628c12b7ddbd9f
zebra: Refactoring changes for zebra_evpn_map_vlan zebra_evpn_from_svi and zl3vni_from_svi

Today to find the vni for a given (vlan, bridge) we walk over all interfaces
and filter the vxlan device associated with the bridge. With multiple vlan aware
bridge changes, we can derive the vni directly by looking up the hash table i.e.
the vlan_table of the associated (vlan, bridge) which would give the vni.

During vrf_terminate() call zebra_l2_bridge_if_cleanup if the interface
that we are removing is of type bridge. In this case, we walk over all
the vlan<->access_bd association and clean them up.

zebra_evpn_t is modified to record (vlan, bridge) details and the
corresponding vty is modified to print the same.
zevpn_bridge_if_set and zl3vni_bridge_if_set is used to set/unset the
association.

Signed-off-by: Sharath Ramamurthy <sramamurthy@nvidia.com>
zebra/interface.c
zebra/interface.h
zebra/zebra_evpn.c
zebra/zebra_evpn.h
zebra/zebra_evpn_vxlan.h
zebra/zebra_l2.c
zebra/zebra_vxlan.c
zebra/zebra_vxlan_if.c
zebra/zebra_vxlan_if.h
zebra/zebra_vxlan_private.h