diff options
author | Anuradha Karuppiah <anuradhak@cumulusnetworks.com> | 2020-03-27 22:37:16 +0100 |
---|---|---|
committer | Anuradha Karuppiah <anuradhak@cumulusnetworks.com> | 2020-08-05 15:46:12 +0200 |
commit | 0a50c248132f3eec45c3e46ad1cf0dac1cb72e91 (patch) | |
tree | 23951494128a5814c0717d79378ea3d69a976532 /bgpd/bgp_attr_evpn.h | |
parent | bgpd: extended community for EAD routes (diff) | |
download | frr-0a50c248132f3eec45c3e46ad1cf0dac1cb72e91.tar.xz frr-0a50c248132f3eec45c3e46ad1cf0dac1cb72e91.zip |
bgpd: attr changes for EAD routes
Add ESI as an inline attribute field along with the other EVPN
attributes. This may be re-worked when the rest of the EVPN
attributes find a new home.
Some cleanup has been done to get rid of stale/unused references
to ESI. And also to consolidate duplicate definitions of ES ID
types.
Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Diffstat (limited to 'bgpd/bgp_attr_evpn.h')
-rw-r--r-- | bgpd/bgp_attr_evpn.h | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/bgpd/bgp_attr_evpn.h b/bgpd/bgp_attr_evpn.h index c1bfd8376..e87863461 100644 --- a/bgpd/bgp_attr_evpn.h +++ b/bgpd/bgp_attr_evpn.h @@ -21,38 +21,20 @@ #ifndef _QUAGGA_BGP_ATTR_EVPN_H #define _QUAGGA_BGP_ATTR_EVPN_H -/* value of first byte of ESI */ -#define ESI_TYPE_ARBITRARY 0 /* */ -#define ESI_TYPE_LACP 1 /* <> */ -#define ESI_TYPE_BRIDGE 2 /* <Root bridge Mac-6B>:<Root Br Priority-2B>:00 */ -#define ESI_TYPE_MAC 3 /* <Syst Mac Add-6B>:<Local Discriminator Value-3B> */ -#define ESI_TYPE_ROUTER 4 /* <RouterId-4B>:<Local Discriminator Value-4B> */ -#define ESI_TYPE_AS 5 /* <AS-4B>:<Local Discriminator Value-4B> */ - -#define MAX_ESI {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff} -#define ESI_LEN 10 - #define MAX_ET 0xffffffff struct attr; -/* EVPN ESI */ -struct eth_segment_id { - uint8_t val[ESI_LEN]; -}; - union gw_addr { struct in_addr ipv4; struct in6_addr ipv6; }; struct bgp_route_evpn { - struct eth_segment_id eth_s_id; union gw_addr gw_ip; }; -extern bool str2esi(const char *str, struct eth_segment_id *id); -extern char *esi2str(struct eth_segment_id *id); +extern bool str2esi(const char *str, esi_t *id); extern char *ecom_mac2str(char *ecom_mac); extern void bgp_add_routermac_ecom(struct attr *attr, @@ -68,5 +50,4 @@ extern void bgp_attr_evpn_na_flag(struct attr *attr, uint8_t *router_flag); extern bool is_zero_gw_ip(const union gw_addr *gw_ip, afi_t afi); -extern bool is_zero_esi(const struct eth_segment_id *esi); #endif /* _QUAGGA_BGP_ATTR_EVPN_H */ |