summaryrefslogtreecommitdiffstats
path: root/lib/prefix.h
diff options
context:
space:
mode:
authorKishore Aramalla <karamalla@vmware.com>2020-02-10 20:38:27 +0100
committerKishore Aramalla <karamalla@vmware.com>2020-02-11 21:36:50 +0100
commitc6ec0c745a77024c0b5690127ebd961493daed3d (patch)
tree3861a7eb9a4902b7b4551d6b7f526dafe323578a /lib/prefix.h
parentMerge pull request #5793 from ton31337/fix/formatting_show_bgp_summary_failed (diff)
downloadfrr-c6ec0c745a77024c0b5690127ebd961493daed3d.tar.xz
frr-c6ec0c745a77024c0b5690127ebd961493daed3d.zip
bgpd: RFC compliance wrt invalid RMAC, GWIP, ESI and VNI
A route where ESI, GW IP, MAC and Label are all zero at the same time SHOULD be treat-as-withdraw. Invalid MAC addresses are broadcast or multicast MAC addresses. The route MUST be treat-as-withdraw in case of an invalid MAC address. As FRR support Ethernet NVO Tunnels only. Route will be withdrawn when ESI, GW IP and MAC are zero or Invalid MAC Test cases: 1) ET-5 route with valid RMAC extended community 2) ET-5 route no RMAC extended community 3) ET-5 route with Multicast MAC in RMAC extended community 4) ET-5 route with Broadcast MAC in RMAC extended community Signed-off-by: Kishore Aramalla <karamalla@vmware.com>
Diffstat (limited to 'lib/prefix.h')
-rw-r--r--lib/prefix.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/prefix.h b/lib/prefix.h
index fb80c4ca6..b01f7d1fd 100644
--- a/lib/prefix.h
+++ b/lib/prefix.h
@@ -470,6 +470,8 @@ extern void masklen2ip6(const int, struct in6_addr *);
extern const char *inet6_ntoa(struct in6_addr);
extern int is_zero_mac(const struct ethaddr *mac);
+extern bool is_mcast_mac(const struct ethaddr *mac);
+extern bool is_bcast_mac(const struct ethaddr *mac);
extern int prefix_str2mac(const char *str, struct ethaddr *mac);
extern char *prefix_mac2str(const struct ethaddr *mac, char *buf, int size);