diff options
| author | vivek <vivek@cumulusnetworks.com> | 2019-02-27 11:52:34 +0000 | 
|---|---|---|
| committer | vivek <vivek@cumulusnetworks.com> | 2019-02-27 11:52:34 +0000 | 
| commit | 0483af6e4c6236ae3b9ac412742411499175de80 (patch) | |
| tree | db7b024755a6ce922c93a274a91b86603899d12a /bgpd/bgp_evpn.h | |
| parent | cacbdfb14ded71e6c36c97a570d30b89c851b2fe (diff) | |
zebra, bgpd: Exchange L3 interface for VRF's VNI
In the case of EVPN symmetric routing, the tenant VRF is associated with
a VNI that is used for routing and commonly referred to as the L3 VNI or
VRF VNI. Corresponding to this VNI is a VLAN and its associated L3 (IP)
interface (SVI). Overlay next hops (i.e., next hops for routes in the
tenant VRF) are reachable over this interface.
https://tools.ietf.org/html/draft-ietf-bess-evpn-prefix-advertisement
section 4.4 provides additional description of the above constructs.
The implementation currently derives this L3 interface for EVPN tenant
routes using special code that looks at route flags. This patch
exchanges the L3 interface between zebra and bgpd as part of the L3-VNI
exchange in order to eliminate some this special code.
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'bgpd/bgp_evpn.h')
| -rw-r--r-- | bgpd/bgp_evpn.h | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/bgpd/bgp_evpn.h b/bgpd/bgp_evpn.h index 5c3d4ce3aa..fbf30083e1 100644 --- a/bgpd/bgp_evpn.h +++ b/bgpd/bgp_evpn.h @@ -136,7 +136,8 @@ extern int bgp_evpn_local_macip_add(struct bgp *bgp, vni_t vni,  				    uint8_t flags, uint32_t seq);  extern int bgp_evpn_local_l3vni_add(vni_t vni, vrf_id_t vrf_id,  				    struct ethaddr *rmac, -				    struct in_addr originator_ip, int filter); +				    struct in_addr originator_ip, int filter, +				    ifindex_t svi_ifindex);  extern int bgp_evpn_local_l3vni_del(vni_t vni, vrf_id_t vrf_id);  extern int bgp_evpn_local_vni_del(struct bgp *bgp, vni_t vni);  extern int bgp_evpn_local_vni_add(struct bgp *bgp, vni_t vni,  | 
