diff options
| author | vivek <vivek@cumulusnetworks.com> | 2017-05-15 14:42:57 -0700 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-07-12 14:37:14 -0400 |
| commit | c85c03c7f90bfc6110c4621bfb096690c70b8bec (patch) | |
| tree | 0430b6cca5448f0a38ec49d4a735378b112d72d4 /zebra/rt_socket.c | |
| parent | 128ea8abbd38eddd2a9bfa18b596acd95f081353 (diff) | |
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 'zebra/rt_socket.c')
| -rw-r--r-- | zebra/rt_socket.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/zebra/rt_socket.c b/zebra/rt_socket.c index c03ed27c63..93adf02298 100644 --- a/zebra/rt_socket.c +++ b/zebra/rt_socket.c @@ -444,7 +444,8 @@ kernel_del_vtep (vni_t vni, struct interface *ifp, struct in_addr *vtep_ip) int kernel_add_mac (struct interface *ifp, vlanid_t vid, - struct ethaddr *mac, struct in_addr vtep_ip) + struct ethaddr *mac, struct in_addr vtep_ip, + u_char sticky) { return 0; } |
