From 6f6311560380d0e992f710558e213df1b098ef94 Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Tue, 3 Oct 2017 08:20:21 -0700 Subject: 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 --- src/vnet/dpo/dpo.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/vnet/dpo/dpo.h') diff --git a/src/vnet/dpo/dpo.h b/src/vnet/dpo/dpo.h index 33562968272..d1309c19031 100644 --- a/src/vnet/dpo/dpo.h +++ b/src/vnet/dpo/dpo.h @@ -114,6 +114,7 @@ typedef enum dpo_type_t_ { DPO_MFIB_ENTRY, DPO_INTERFACE_RX, DPO_INTERFACE_TX, + DPO_L2_BRIDGE, DPO_LAST, } __attribute__((packed)) dpo_type_t; @@ -140,7 +141,8 @@ typedef enum dpo_type_t_ { [DPO_MPLS_DISPOSITION] = "dpo-mpls-diposition", \ [DPO_MFIB_ENTRY] = "dpo-mfib_entry", \ [DPO_INTERFACE_RX] = "dpo-interface-rx", \ - [DPO_INTERFACE_TX] = "dpo-interface-tx" \ + [DPO_INTERFACE_TX] = "dpo-interface-tx", \ + [DPO_L2_BRIDGE] = "dpo-l2-bridge" \ } /** -- cgit 1.2.3-korg