Distributed Virtual Router Support 38/8638/2
authorNeale Ranns <nranns@cisco.com>
Tue, 3 Oct 2017 15:20:21 +0000 (08:20 -0700)
committerDamjan Marion <dmarion.lists@gmail.com>
Thu, 5 Oct 2017 09:50:26 +0000 (09:50 +0000)
commit6f6311560380d0e992f710558e213df1b098ef94
tree237e34a2165ed5d2fc0848a1daec457ce57acc3e
parentd3c008d108aa2187d1a2afe2833b4de25ca2c2ab
Distributed Virtual Router Support

A distributed virtual router works by attmpeting to switch a packet, but on failing to find a local consumer (i.e. the packet is destined to a locally attached host) then the packet is sent unmodified 'upstream' to where the rest of the 'distributed' router is present. When L3 switching a packet this means the L2 header must not be modifed. This patch adds a 'l2-bridge' object to the L3 FIB which re-injects packets from the L3 path back into the L2 path - use with extreme caution.

Change-Id: I069724eb45956647d7980cbe40a80a788ee6ee82
Signed-off-by: Neale Ranns <nranns@cisco.com>
16 files changed:
src/vnet.am
src/vnet/dpo/dpo.c
src/vnet/dpo/dpo.h
src/vnet/dpo/l2_bridge_dpo.c [new file with mode: 0644]
src/vnet/dpo/l2_bridge_dpo.h [new file with mode: 0644]
src/vnet/fib/fib_api.h
src/vnet/fib/fib_path.c
src/vnet/fib/fib_table.c
src/vnet/fib/fib_test.c
src/vnet/fib/fib_test.h
src/vnet/ip/ip.api
src/vnet/ip/ip_api.c
src/vnet/mpls/mpls_api.c
test/test_dvr.py [new file with mode: 0644]
test/vpp_ip_route.py
test/vpp_papi_provider.py