From 6a30b5f9182a44989e97bbc044f29adccdef09b2 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 7fa24f4812d..7d38ffc5bdc 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 dbd1d8b6e31..97b66965190 100644 --- a/src/vnet/mpls/mpls_api.c +++ b/src/vnet/mpls/mpls_api.c @@ -439,6 +439,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 1d85c3bc78c..55b60cdb1e5 100644 --- a/src/vnet/mpls/mpls_tunnel.c +++ b/src/vnet/mpls/mpls_tunnel.c @@ -165,9 +165,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