aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/vxlan-gpe
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/vxlan-gpe')
-rw-r--r--src/vnet/vxlan-gpe/decap.c9
-rw-r--r--src/vnet/vxlan-gpe/vxlan_gpe.c2
-rw-r--r--src/vnet/vxlan-gpe/vxlan_gpe.h2
3 files changed, 11 insertions, 2 deletions
diff --git a/src/vnet/vxlan-gpe/decap.c b/src/vnet/vxlan-gpe/decap.c
index 151ffa3fcc9..cb7c525a5dc 100644
--- a/src/vnet/vxlan-gpe/decap.c
+++ b/src/vnet/vxlan-gpe/decap.c
@@ -338,6 +338,9 @@ vxlan_gpe_input (vlib_main_t * vm,
/* Required to make the l2 tag push / pop code work on l2 subifs */
vnet_update_l2_len (b0);
+ /* Set packet input sw_if_index to unicast VXLAN tunnel for learning */
+ vnet_buffer (b0)->sw_if_index[VLIB_RX] = t0->sw_if_index;
+
/**
* ip[46] lookup in the configured FIB
*/
@@ -426,6 +429,9 @@ vxlan_gpe_input (vlib_main_t * vm,
/* Required to make the l2 tag push / pop code work on l2 subifs */
vnet_update_l2_len (b1);
+ /* Set packet input sw_if_index to unicast VXLAN tunnel for learning */
+ vnet_buffer (b1)->sw_if_index[VLIB_RX] = t1->sw_if_index;
+
/*
* ip[46] lookup in the configured FIB
*/
@@ -595,6 +601,9 @@ vxlan_gpe_input (vlib_main_t * vm,
/* Required to make the l2 tag push / pop code work on l2 subifs */
vnet_update_l2_len (b0);
+ /* Set packet input sw_if_index to unicast VXLAN tunnel for learning */
+ vnet_buffer (b0)->sw_if_index[VLIB_RX] = t0->sw_if_index;
+
/*
* ip[46] lookup in the configured FIB
*/
diff --git a/src/vnet/vxlan-gpe/vxlan_gpe.c b/src/vnet/vxlan-gpe/vxlan_gpe.c
index a95062b53f0..65a7ba3c291 100644
--- a/src/vnet/vxlan-gpe/vxlan_gpe.c
+++ b/src/vnet/vxlan-gpe/vxlan_gpe.c
@@ -1282,7 +1282,7 @@ vxlan_gpe_init (vlib_main_t * vm)
vxlan_gpe_register_decap_protocol (VXLAN_GPE_PROTOCOL_IP6,
VXLAN_GPE_INPUT_NEXT_IP6_INPUT);
vxlan_gpe_register_decap_protocol (VXLAN_GPE_PROTOCOL_ETHERNET,
- VXLAN_GPE_INPUT_NEXT_ETHERNET_INPUT);
+ VXLAN_GPE_INPUT_NEXT_L2_INPUT);
fib_node_register_type (FIB_NODE_TYPE_VXLAN_GPE_TUNNEL, &vxlan_gpe_vft);
diff --git a/src/vnet/vxlan-gpe/vxlan_gpe.h b/src/vnet/vxlan-gpe/vxlan_gpe.h
index b7e75d7ee81..8c0d37eb07a 100644
--- a/src/vnet/vxlan-gpe/vxlan_gpe.h
+++ b/src/vnet/vxlan-gpe/vxlan_gpe.h
@@ -169,7 +169,7 @@ typedef struct
_(DROP, "error-drop") \
_(IP4_INPUT, "ip4-input") \
_(IP6_INPUT, "ip6-input") \
-_(ETHERNET_INPUT, "ethernet-input")
+_(L2_INPUT, "l2-input")
/** struct for next nodes for VXLAN GPE input */
typedef enum