diff options
author | vivek <vivek@cumulusnetworks.com> | 2017-05-15 23:42:57 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-07-12 20:37:14 +0200 |
commit | c85c03c7f90bfc6110c4621bfb096690c70b8bec (patch) | |
tree | 0430b6cca5448f0a38ec49d4a735378b112d72d4 /bgpd/bgp_evpn.h | |
parent | bgpd: EVPN route handling (diff) | |
download | frr-c85c03c7f90bfc6110c4621bfb096690c70b8bec.tar.xz frr-c85c03c7f90bfc6110c4621bfb096690c70b8bec.zip |
bgpd, zebra: Support for sticky MACs
Implement support for sticky (static) MACs. This includes the following:
- Recognize MAC is static (using NUD_NOARP flag) and inform BGP
- Construct MAC mobility extended community for sticky MACs as per
RFC 7432 section 15.2
- Inform to zebra that remote MAC is sticky, where appropriate
- Install sticky MACs into the kernel with the right flag
- Appropriate handling in route selection
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@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 40b61bb00..ed76bc3a4 100644 --- a/bgpd/bgp_evpn.h +++ b/bgpd/bgp_evpn.h @@ -41,7 +41,8 @@ bgp_evpn_local_macip_del (struct bgp *bgp, vni_t vni, struct ethaddr *mac, struct ipaddr *ip); extern int bgp_evpn_local_macip_add (struct bgp *bgp, vni_t vni, - struct ethaddr *mac, struct ipaddr *ip); + struct ethaddr *mac, struct ipaddr *ip, + u_char sticky); extern int bgp_evpn_local_vni_del (struct bgp *bgp, vni_t vni); extern int |