summaryrefslogtreecommitdiffstats
path: root/zebra/zebra_vxlan.h
diff options
context:
space:
mode:
authorChirag Shah <chirag@cumulusnetworks.com>2018-07-07 06:46:46 +0200
committerChirag Shah <chirag@cumulusnetworks.com>2018-07-17 22:06:41 +0200
commit68e331515e90422ec3c9e8c2ede74e3157460d31 (patch)
tree969603513aea3ab3eff49a761e8625da9317bb81 /zebra/zebra_vxlan.h
parentMerge pull request #2669 from netravnen/hotfix/documentation/activate-bgp-rpki (diff)
downloadfrr-68e331515e90422ec3c9e8c2ede74e3157460d31.tar.xz
frr-68e331515e90422ec3c9e8c2ede74e3157460d31.zip
bgpd: support evpn nd ext community
EVPN ND ext community support NA flag R-bit, to have proxy ND. Set R-bit in EVPN NA if a given router is default gateway or there is a local router attached, which can be determine based on local neighbor entry. Implement BGP ext community attribute to generate and parse R-bit and pass along zebra to program neigh entry in kernel. Upon receiving MAC/IP update with community type 0x06 and sub_type 0x08, pass the R-bit to zebra to program neigh entry. Set NTF_ROUTER in neigh entry and inform kernel to do proxy NA for EVPN. Ref: https://tools.ietf.org/html/draft-ietf-bess-evpn-na-flags-01 Ticket:CM-21712, CM-21711 Reviewed By: Testing Done: Configure Local vni enabled L3 Gateway, which would act as router, checked show evpn arp-cache vni x ip <ip of svi> on originated and remote VTEPs. "Router" flag is set. Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Diffstat (limited to 'zebra/zebra_vxlan.h')
-rw-r--r--zebra/zebra_vxlan.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/zebra/zebra_vxlan.h b/zebra/zebra_vxlan.h
index 34d115275..2732ef72e 100644
--- a/zebra/zebra_vxlan.h
+++ b/zebra/zebra_vxlan.h
@@ -124,7 +124,8 @@ extern int zebra_vxlan_svi_down(struct interface *ifp,
struct interface *link_if);
extern int zebra_vxlan_handle_kernel_neigh_update(
struct interface *ifp, struct interface *link_if, struct ipaddr *ip,
- struct ethaddr *macaddr, uint16_t state, uint8_t ext_learned);
+ struct ethaddr *macaddr, uint16_t state, uint8_t ext_learned,
+ uint8_t router_flag);
extern int zebra_vxlan_handle_kernel_neigh_del(struct interface *ifp,
struct interface *link_if,
struct ipaddr *ip);