From 60231f35fa860228f31f40753d94e129e8432988 Mon Sep 17 00:00:00 2001 From: Dave Wallace Date: Thu, 17 Dec 2015 21:04:30 -0500 Subject: Add vpe-api message to get vxlan tunnel details. Change-Id: I3bfb84dfcb08c6ff5cb473f3ce05b91b222182a1 Signed-off-by: Dave Wallace --- vnet/vnet/vxlan/vxlan.c | 5 +++++ vnet/vnet/vxlan/vxlan.h | 3 +++ 2 files changed, 8 insertions(+) (limited to 'vnet') diff --git a/vnet/vnet/vxlan/vxlan.c b/vnet/vnet/vxlan/vxlan.c index 75cbc6c6..316f8cb1 100644 --- a/vnet/vnet/vxlan/vxlan.c +++ b/vnet/vnet/vxlan/vxlan.c @@ -218,6 +218,9 @@ int vnet_vxlan_add_del_tunnel t->hw_if_index = hw_if_index; t->sw_if_index = sw_if_index = hi->sw_if_index; + vec_validate_init_empty (vxm->tunnel_index_by_sw_if_index, sw_if_index, ~0); + vxm->tunnel_index_by_sw_if_index[sw_if_index] = t - vxm->tunnels; + if (a->decap_next_index == VXLAN_INPUT_NEXT_L2_INPUT) { l2input_main_t * l2im = &l2input_main; @@ -242,6 +245,8 @@ int vnet_vxlan_add_del_tunnel set_int_l2_mode(vxm->vlib_main, vnm, MODE_L3, t->sw_if_index, 0, 0, 0, 0); vec_add1 (vxm->free_vxlan_tunnel_hw_if_indices, t->hw_if_index); + vxm->tunnel_index_by_sw_if_index[t->sw_if_index] = ~0; + hash_unset (vxm->vxlan_tunnel_by_key, key.as_u64); vec_free (t->rewrite); diff --git a/vnet/vnet/vxlan/vxlan.h b/vnet/vnet/vxlan/vxlan.h index 5c82a3df..b38e65de 100644 --- a/vnet/vnet/vxlan/vxlan.h +++ b/vnet/vnet/vxlan/vxlan.h @@ -102,6 +102,9 @@ typedef struct { u64 dummy_str [sizeof(ip4_vxlan_header_t)/sizeof(u64) + 2]; #define vxlan_dummy_rewrite ((u8 *) &vxlan_main.dummy_str[1]) + /* Mapping from sw_if_index to tunnel index */ + u32 * tunnel_index_by_sw_if_index; + /* convenience */ vlib_main_t * vlib_main; vnet_main_t * vnet_main; -- cgit 1.2.3-korg