mirror_frr/zebra
vivek 1ec31309bb *: EVPN symmetric routing for IPv6 tenant routes
Implement support for EVPN symmetric routing for IPv6 routes. The next hop
for EVPN routes is the IP address of the remote VTEP which is only an IPv4
address. This means that for IPv6 symmetric routing, there will be IPv6
destinations with IPv4 next hops. To make this work, the IPv4 next hops are
converted into IPv4-mapped IPv6 addresses.

As part of support, ensure that "L3" route-targets are not announced with
IPv6 link-local addresses so that they won't be installed in the routing
table.

Signed-off-by: Vivek Venkatraman vivek@cumulusnetworks.com
Reviewed-by: Mitesh Kanjariya mitesh@cumulusnetworks.com
Reviewed-by: Donald Sharp sharpd@cumulusnetworks.com
2018-02-28 02:07:23 +00:00
..
.gitignore build: convert zebra/ to non-recursive build 2017-07-31 23:03:30 +02:00
client_main.c *: Make zapi route install Notifications optional 2017-11-27 09:09:35 -05:00
connected.c *: Track vrfs per nexthop not per route entry 2018-02-08 19:35:53 -05:00
connected.h zebra: Refactor connected_down_ipv[4|6] 2017-08-31 13:47:26 -04:00
debug.c *: add missing \n in some help strings 2017-10-24 19:30:30 -02:00
debug.h zebra: add pseudowire manager 2017-08-09 12:35:15 +02:00
GNOME-PRODUCT-ZEBRA-MIB Initial revision 2002-12-13 20:15:29 +00:00
GNOME-SMI Initial revision 2002-12-13 20:15:29 +00:00
if_ioctl_solaris.c *: introduce new rb-tree to optimize interface lookup by ifindex 2017-10-10 09:05:02 -03:00
if_ioctl.c zebra: handle some ioctl operations for VRF 2018-02-27 11:11:24 +01:00
if_netlink.c lib: add vrf-lite bind capability to vrf APIs 2018-02-27 11:11:24 +01:00
if_netlink.h *: reindent 2017-07-17 14:04:07 +02:00
if_sysctl.c build: zebra: remove *_method Makefile hacks 2017-07-31 23:03:30 +02:00
interface.c zebra: retrieve zns context from zvrf when netlink discovery 2018-02-27 11:11:24 +01:00
interface.h zebra: Add one-shot thread to recheck speed 2018-01-11 09:52:34 -05:00
ioctl_solaris.c zebra: handle some ioctl operations for VRF 2018-02-27 11:11:24 +01:00
ioctl_solaris.h *: reindent 2017-07-17 14:04:07 +02:00
ioctl.c zebra: handle some ioctl operations for VRF 2018-02-27 11:11:24 +01:00
ioctl.h zebra: handle some ioctl operations for VRF 2018-02-27 11:11:24 +01:00
ipforward_proc.c bgpd, zebra: Use sscanf return value 2017-12-04 21:28:19 -05:00
ipforward_solaris.c build: zebra: remove *_method Makefile hacks 2017-07-31 23:03:30 +02:00
ipforward_sysctl.c configure, zebra: Kame is not responsible for on/off of v6 forwarding 2017-12-05 17:26:32 -05:00
ipforward.h *: reindent 2017-07-17 14:04:07 +02:00
irdp_interface.c *: Convert list_delete(struct list *) to ** to allow nulling 2017-10-05 10:53:13 -04:00
irdp_main.c *: use the FOR_ALL_INTERFACES abstraction from babeld 2017-10-10 09:05:46 -03:00
irdp_packet.c *: fix assorted issues detected by Coverity Scan 2017-08-24 21:49:39 -03:00
irdp.h zebra: Fix irdp so it doesn't crash when looked at 2017-09-26 19:57:27 -04:00
kernel_netlink.c zebra: socket operations stick to namespace if necessary 2018-02-27 11:11:24 +01:00
kernel_netlink.h *: reindent 2017-07-17 14:04:07 +02:00
kernel_socket.c zebra: socket operations stick to namespace if necessary 2018-02-27 11:11:24 +01:00
kernel_socket.h zebra: cleanup blackhole support 2017-08-28 05:07:51 +02:00
label_manager.c *: Make code use a consisten definition of labels 2018-02-08 20:31:37 -05:00
label_manager.h *: reindent 2017-07-17 14:04:07 +02:00
main.c zebra: adapt the vrf and logical router initialisation 2018-02-27 11:11:24 +01:00
Makefile build: convert zebra/ to non-recursive build 2017-07-31 23:03:30 +02:00
redistribute.c zebra: proper refcounting for rmac/nh entries 2017-12-14 10:57:06 -08:00
redistribute.h *: Cleanup multiple is_default... code 2017-08-31 16:11:17 -04:00
rib.h *: Track vrfs per nexthop not per route entry 2018-02-08 19:35:53 -05:00
router-id.c *: use clang's 'ForEachMacros' format style option 2017-09-15 14:53:46 -03:00
router-id.h *: make consistent & update GPLv2 file headers 2017-05-15 16:37:41 +02:00
rt_netlink.c zebra: retrieve zns context from zvrf when netlink discovery 2018-02-27 11:11:24 +01:00
rt_netlink.h OSPFD: Update Segment Routing following reviews 2018-01-22 19:18:10 +01:00
rt_socket.c zebra: ipv6 operations stick to namespace 2018-02-27 11:11:24 +01:00
rt.h zebra: ipv6 operations stick to namespace 2018-02-27 11:11:24 +01:00
rtadv.c zebra: socket operations stick to namespace if necessary 2018-02-27 11:11:24 +01:00
rtadv.h zebra: No need to pass sock descriptor around. 2017-10-23 18:09:22 -04:00
rtread_getmsg.c *: Track vrfs per nexthop not per route entry 2018-02-08 19:35:53 -05:00
rtread_netlink.c zebra: Make zserv.h the true api for zapi northbound 2017-12-13 07:57:15 -05:00
rtread_sysctl.c zebra: Make zserv.h the true api for zapi northbound 2017-12-13 07:57:15 -05:00
subdir.am zebra: collect and get netnamespaces information 2018-02-27 11:11:24 +01:00
testrib.conf zebra: Build the test client, can be useful, and add IPv6 to testrib.conf 2016-05-26 01:13:58 +00:00
zebra_fpm_dt.c *: reindent 2017-07-17 14:04:07 +02:00
zebra_fpm_netlink.c zebra: cleanup blackhole support 2017-08-28 05:07:51 +02:00
zebra_fpm_private.h *: reindent 2017-07-17 14:04:07 +02:00
zebra_fpm_protobuf.c zebra: cleanup blackhole support 2017-08-28 05:07:51 +02:00
zebra_fpm.c zebra: Add some more debug information on read issues in FPM 2018-01-18 09:31:20 -05:00
zebra_l2_null.c *: reindent 2017-07-17 14:04:07 +02:00
zebra_l2.c *: use the FOR_ALL_INTERFACES abstraction from babeld 2017-10-10 09:05:46 -03:00
zebra_l2.h Revert "*: reindent pt. 2" 2017-07-22 14:52:33 +02:00
zebra_memory.c *: reindent 2017-07-17 14:04:07 +02:00
zebra_memory.h zebra: Refactor 'struct rib' to be 'struct route_entry' 2017-06-01 08:00:05 -04:00
zebra_mpls_netlink.c zebra: Fix route replace flags 2017-11-29 13:01:01 -05:00
zebra_mpls_null.c zebra: Fix lsp add/del from kernel using SETFLAG 2017-11-29 13:01:00 -05:00
zebra_mpls_openbsd.c zebra: Fix lsp add/del from kernel using SETFLAG 2017-11-29 13:01:00 -05:00
zebra_mpls_vty.c *: Make code use a consisten definition of labels 2018-02-08 20:31:37 -05:00
zebra_mpls.c zebra: Use appropriate output function for label printing 2018-02-08 20:38:16 -05:00
zebra_mpls.h lib, sharpd, zebra: Add new enum for lsp type and pass it through. 2018-02-08 20:35:14 -05:00
zebra_mroute.c zebra: use zclient_create_header 2018-01-22 11:55:22 -05:00
zebra_mroute.h zebra: No need to pass sock descriptor around. 2017-10-23 18:09:22 -04:00
zebra_netns_id.c zebra: upon startup, a NSID is assigned to default netns 2018-02-27 11:11:24 +01:00
zebra_netns_id.h zebra: upon startup, a NSID is assigned to default netns 2018-02-27 11:11:24 +01:00
zebra_netns_notify.c zebra: prevent from discovering a NS with same NSID as previous one 2018-02-27 11:11:24 +01:00
zebra_netns_notify.h zebra: collect and get netnamespaces information 2018-02-27 11:11:24 +01:00
zebra_ns.c zebra: adapt the vrf and logical router initialisation 2018-02-27 11:11:24 +01:00
zebra_ns.h zebra: handle the zns init/destroy 2018-02-27 11:11:24 +01:00
zebra_ptm_redistribute.c zebra: use zclient_create_header 2018-01-22 11:55:22 -05:00
zebra_ptm_redistribute.h *: reindent 2017-07-17 14:04:07 +02:00
zebra_ptm.c zebra: Clean up some SA issues found by new code 2018-02-13 23:41:31 -05:00
zebra_ptm.h zebra: No need to pass sock descriptor around. 2017-10-23 18:09:22 -04:00
zebra_pw.c *: Make assignment from RB_ROOT in while loop work better 2018-02-23 07:08:36 -05:00
zebra_pw.h zebra: add support for static pseudowires 2017-08-09 13:03:36 +02:00
zebra_rib.c *: EVPN symmetric routing for IPv6 tenant routes 2018-02-28 02:07:23 +00:00
zebra_rnh.c lib, zebra: Move nh_resolve_via_default to appropriate header 2018-02-08 19:36:18 -05:00
zebra_rnh.h lib, zebra: Move nh_resolve_via_default to appropriate header 2018-02-08 19:36:18 -05:00
zebra_routemap.c *: Track vrfs per nexthop not per route entry 2018-02-08 19:35:53 -05:00
zebra_routemap.h zebra: Make zserv.h the true api for zapi northbound 2017-12-13 07:57:15 -05:00
zebra_snmp.c *: use clang's 'ForEachMacros' format style option 2017-09-15 14:53:46 -03:00
zebra_static.c *: Track vrfs per nexthop not per route entry 2018-02-08 19:35:53 -05:00
zebra_static.h zebra: Add the zvrf pointer to the 'struct static_route' 2018-01-12 09:22:46 -05:00
zebra_vrf.c zebra: adapt the vrf and logical router initialisation 2018-02-27 11:11:24 +01:00
zebra_vrf.h zebra: adapt the vrf and logical router initialisation 2018-02-27 11:11:24 +01:00
zebra_vty.c zebra: enhance show vrf for netns and fixing 2018-02-27 11:11:24 +01:00
zebra_vxlan_null.c *: Handle VRF configuration when VRF gets inactivated and activated 2018-01-23 16:24:35 -08:00
zebra_vxlan_private.h zebra, bgp: Support type-5 routes with asymmetric routing 2018-02-10 00:41:28 -08:00
zebra_vxlan.c zebra, bgp: Support type-5 routes with asymmetric routing 2018-02-10 00:41:28 -08:00
zebra_vxlan.h zebra, bgp: Support type-5 routes with asymmetric routing 2018-02-10 00:41:28 -08:00
zebra.conf.sample *: Remove cvs control points 2017-12-05 17:28:12 -05:00
zserv.c *: EVPN symmetric routing for IPv6 tenant routes 2018-02-28 02:07:23 +00:00
zserv.h *: Add tableid the route entry was sent to 2018-02-23 14:45:57 -05:00