summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_attr_evpn.h
diff options
context:
space:
mode:
authorAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2020-03-27 22:37:16 +0100
committerAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2020-08-05 15:46:12 +0200
commit0a50c248132f3eec45c3e46ad1cf0dac1cb72e91 (patch)
tree23951494128a5814c0717d79378ea3d69a976532 /bgpd/bgp_attr_evpn.h
parentbgpd: extended community for EAD routes (diff)
downloadfrr-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.h21
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 */