]> git.puffer.fish Git - matthieu/frr.git/commit
bgpd, zebra: Support for sticky MACs
authorvivek <vivek@cumulusnetworks.com>
Mon, 15 May 2017 21:42:57 +0000 (14:42 -0700)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 12 Jul 2017 18:37:14 +0000 (14:37 -0400)
commitc85c03c7f90bfc6110c4621bfb096690c70b8bec
tree0430b6cca5448f0a38ec49d4a735378b112d72d4
parent128ea8abbd38eddd2a9bfa18b596acd95f081353
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>
13 files changed:
bgpd/bgp_attr.c
bgpd/bgp_attr_evpn.c
bgpd/bgp_attr_evpn.h
bgpd/bgp_evpn.c
bgpd/bgp_evpn.h
bgpd/bgp_zebra.c
zebra/rt.h
zebra/rt_netlink.c
zebra/rt_socket.c
zebra/zebra_vxlan.c
zebra/zebra_vxlan.h
zebra/zebra_vxlan_null.c
zebra/zebra_vxlan_private.h