From 6a5bc5173a9050e0e038638b7eac5a0c9ecf5c7d Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Tue, 25 Sep 2018 07:22:36 -0700 Subject: MPLS tunnel dump fix Change-Id: I9d3d5243841d5b888f079e3ea5dc1e2e8befd1dc Signed-off-by: Neale Ranns --- src/vnet/mpls/mpls.api | 2 +- src/vnet/mpls/mpls_api.c | 1 + src/vnet/mpls/mpls_tunnel.c | 9 ++++++--- 3 files changed, 8 insertions(+), 4 deletions(-) (limited to 'src') 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)) { -- cgit 1.2.3-korg