aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNeale Ranns <neale.ranns@cisco.com>2018-09-25 07:22:36 -0700
committerDamjan Marion <dmarion@me.com>2018-09-25 19:47:37 +0000
commit6a5bc5173a9050e0e038638b7eac5a0c9ecf5c7d (patch)
tree0e6b5b051aac81c077af51971e9b9fd18d415ee8 /src
parentd159e6f3114360c52d9cded5c9ee617334d41e68 (diff)
MPLS tunnel dump fix
Change-Id: I9d3d5243841d5b888f079e3ea5dc1e2e8befd1dc Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Diffstat (limited to 'src')
-rw-r--r--src/vnet/mpls/mpls.api2
-rw-r--r--src/vnet/mpls/mpls_api.c1
-rw-r--r--src/vnet/mpls/mpls_tunnel.c9
3 files changed, 8 insertions, 4 deletions
diff --git a/src/vnet/mpls/mpls.api b/src/vnet/mpls/mpls.api
index 7ab0f3750cc..21dcc8f1f83 100644
--- a/src/vnet/mpls/mpls.api
+++ b/src/vnet/mpls/mpls.api
@@ -88,7 +88,7 @@ define mpls_tunnel_dump
manual_endian manual_print define mpls_tunnel_details
{
u32 context;
- u8 mt_sw_if_index;
+ u32 mt_sw_if_index;
u8 mt_tunnel_index;
u8 mt_l2_only;
u8 mt_is_multicast;
diff --git a/src/vnet/mpls/mpls_api.c b/src/vnet/mpls/mpls_api.c
index 47a3408520e..e62fce47291 100644
--- a/src/vnet/mpls/mpls_api.c
+++ b/src/vnet/mpls/mpls_api.c
@@ -429,6 +429,7 @@ send_mpls_tunnel_entry (u32 mti, void *arg)
mp->context = ctx->context;
mp->mt_tunnel_index = ntohl (mti);
+ mp->mt_sw_if_index = ntohl (mt->mt_sw_if_index);
mp->mt_count = ntohl (n);
fib_path_list_walk (mt->mt_path_list, fib_path_encode, &api_rpaths);
diff --git a/src/vnet/mpls/mpls_tunnel.c b/src/vnet/mpls/mpls_tunnel.c
index 84d569bcfee..784dd545d12 100644
--- a/src/vnet/mpls/mpls_tunnel.c
+++ b/src/vnet/mpls/mpls_tunnel.c
@@ -170,9 +170,12 @@ mpls_tunnel_mk_lb (mpls_tunnel_t *mt,
lb_proto = fib_forw_chain_type_to_dpo_proto(fct);
- fib_path_list_walk(mt->mt_path_list,
- mpls_tunnel_collect_forwarding,
- &ctx);
+ if (FIB_NODE_INDEX_INVALID != mt->mt_path_list)
+ {
+ fib_path_list_walk(mt->mt_path_list,
+ mpls_tunnel_collect_forwarding,
+ &ctx);
+ }
if (!dpo_id_is_valid(dpo_lb))
{