summaryrefslogtreecommitdiff
path: root/zebra/zebra_evpn.c
AgeCommit message (Collapse)Author
2020-09-15zebra: re-name some mh functions to make the code more readableAnuradha Karuppiah
As a part of the re-factoring some of the evpn_vni_es apis got re-named as evpn_evpn_es. Changed them to evpn_es_evi to make it common to vxlan and mpls. Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
2020-09-11zebra: support for macvlan interfacesPhilippe Guibert
mac vlan interfaces are supported in different network namespaces. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2020-09-11lib, zebra: reuse and adapt ns_list walk functionalityPhilippe Guibert
the walk routine is used by vxlan service to identify some contexts in each specific network namespace, when vrf netns backend is used. that walk mechanism is extended with some additional paramters to the walk routine. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2020-09-11zebra: local mac entries populated in correct netnamespacePhilippe Guibert
MAC address neighbours are read on the same netnamespace where the vxlan interface is. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2020-09-11zebra: when parsing local entry against dad, retrieve configPhilippe Guibert
when duplicate address detection is observed, some incrementation, some timing mechanisms need to be done. For that the main evpn configuration is retrieved. Until now, the VRF that was storing the dad config parameters was the same VRF that hosted the VXLAN interface. With netns backend, this is not true, as the VXLAN interface is in the same VRF as the bridge interface. The modification takes same definition as in BGP, that is to say that there is a single bgp evpn instance, and this is that instance that will give the correct config settings. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2020-09-11zebra: zvni_map_to_vlan() adaptation for all namespacesPhilippe Guibert
this change is needed when a MAC/IP entry is learned by zebra, and the entry happens to be in a different namespace. So that the entry be active, the correct vni match has to be found. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2020-08-18zebra: zvni_map_to_svi() adaptation for other network namespacesPhilippe Guibert
the function is called with all the network namespaces. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2020-08-18zebra: zvni_from_svi() adaptation for other network namespacesPhilippe Guibert
other network namespaces are parsed because bridge interface can be bridged with vxlan interfaces with a link in the default vrf that hosts l2vpn. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2020-08-12zebra: extract core EVPN functions from zebra_vxlan.cPat Ruddy
extract the core EVPN functions from zebra_vxlan.c and put them in a new file zebra_evpn.c. Signed-off-by: Pat Ruddy <pat@voltanet.io>
2020-08-12zebra: clone zebra_vxlan.c to zebra_evpn.cPat Ruddy
clone zebra_vxlan.c to create a file zebra_evpn.c for core EVPN functions whilst retaining the history of zebra_vxlan.c Signed-off-by: Pat Ruddy <pat@voltanet.io>