diff options
author | Kishore Aramalla <karamalla@vmware.com> | 2020-02-10 20:38:27 +0100 |
---|---|---|
committer | Kishore Aramalla <karamalla@vmware.com> | 2020-02-11 21:36:50 +0100 |
commit | c6ec0c745a77024c0b5690127ebd961493daed3d (patch) | |
tree | 3861a7eb9a4902b7b4551d6b7f526dafe323578a /lib/prefix.h | |
parent | Merge pull request #5793 from ton31337/fix/formatting_show_bgp_summary_failed (diff) | |
download | frr-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.h | 2 |
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); |