]> git.proxmox.com Git - mirror_frr.git/commit
bgpd: support evpn nd ext community
authorChirag Shah <chirag@cumulusnetworks.com>
Sat, 7 Jul 2018 04:46:46 +0000 (21:46 -0700)
committerChirag Shah <chirag@cumulusnetworks.com>
Tue, 17 Jul 2018 20:06:41 +0000 (13:06 -0700)
commit68e331515e90422ec3c9e8c2ede74e3157460d31
tree969603513aea3ab3eff49a761e8625da9317bb81
parentbf032674956aa25983825c3c70c646b82bcf581a
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>
14 files changed:
bgpd/bgp_attr.c
bgpd/bgp_attr.h
bgpd/bgp_attr_evpn.c
bgpd/bgp_attr_evpn.h
bgpd/bgp_ecommunity.h
bgpd/bgp_evpn.c
bgpd/bgp_evpn_private.h
lib/zclient.h
zebra/rt.h
zebra/rt_netlink.c
zebra/rt_socket.c
zebra/zebra_vxlan.c
zebra/zebra_vxlan.h
zebra/zebra_vxlan_private.h