]> git.proxmox.com Git - mirror_frr.git/commit
zebra: Ethernet segment management and support for MAC-ECMP
authorAnuradha Karuppiah <anuradhak@cumulusnetworks.com>
Sat, 28 Mar 2020 00:14:45 +0000 (17:14 -0700)
committerAnuradha Karuppiah <anuradhak@cumulusnetworks.com>
Wed, 5 Aug 2020 13:46:12 +0000 (06:46 -0700)
commitce5160c08141db3002060189d624398409bd6317
treedf19f2619fa3d2db3a186720f1cb341fee9550be
parent506efd379b4ed72454650a32049028a7f5b4c5c8
zebra: Ethernet segment management and support for MAC-ECMP

1. Local ethernet segments are configured in zebra by attaching a
local-es-id and sys-mac to a access interface -
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
!
interface hostbond1
 evpn mh es-id 1
 evpn mh es-sys-mac 00:00:00:00:01:11
!
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
This info is then sent to BGP and used for the generation of EAD-per-ES
routes.

2. Access VLANs associated with an (ES) access port are translated into
ES-EVI objects and sent to BGP. This is used by BGP for the
generation of EAD-EVI routes.

3. Remote ESs are imported by BGP and sent to zebra. A list of VTEPs
is maintained per-remote ES in zebra. This list is used for the creation
of the L2-NHG that is used for forwarding traffic.

4. MAC entries with a non-zero ESI destination use the L2-NHG associated
with the ESI for forwarding traffic over the VxLAN overlay.

Please see zebra_evpn_mh.h for the datastruct organization details.

Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
19 files changed:
lib/log.c
lib/zclient.c
lib/zclient.h
zebra/interface.c
zebra/interface.h
zebra/subdir.am
zebra/zapi_msg.c
zebra/zebra_errors.h
zebra/zebra_evpn_mh.c [new file with mode: 0644]
zebra/zebra_evpn_mh.h [new file with mode: 0644]
zebra/zebra_l2.c
zebra/zebra_l2.h
zebra/zebra_memory.c
zebra/zebra_router.h
zebra/zebra_vxlan.c
zebra/zebra_vxlan.h
zebra/zebra_vxlan_private.h
zebra/zserv.c
zebra/zserv.h