diff options
-rw-r--r-- | src/vnet/fib/fib_path.c | 6 | ||||
-rw-r--r-- | src/vnet/interface.c | 5 | ||||
-rw-r--r-- | src/vnet/interface_format.c | 4 |
3 files changed, 8 insertions, 7 deletions
diff --git a/src/vnet/fib/fib_path.c b/src/vnet/fib/fib_path.c index 1cc65b67cb8..ee2cc8ef642 100644 --- a/src/vnet/fib/fib_path.c +++ b/src/vnet/fib/fib_path.c @@ -501,11 +501,9 @@ format_fib_path (u8 * s, va_list * args) else { s = format (s, " %U", - format_vnet_sw_interface_name, + format_vnet_sw_if_index_name, vnm, - vnet_get_sw_interface( - vnm, - path->attached_next_hop.fp_interface)); + path->attached_next_hop.fp_interface); if (vnet_sw_interface_is_p2p(vnet_get_main(), path->attached_next_hop.fp_interface)) { diff --git a/src/vnet/interface.c b/src/vnet/interface.c index b21170f9c3a..44bcc39d3cd 100644 --- a/src/vnet/interface.c +++ b/src/vnet/interface.c @@ -1359,7 +1359,10 @@ vnet_hw_interface_compare (vnet_main_t * vnm, int vnet_sw_interface_is_p2p (vnet_main_t * vnm, u32 sw_if_index) { - vnet_sw_interface_t *si = vnet_get_sw_interface (vnm, sw_if_index); + vnet_sw_interface_t *si = vnet_get_sw_interface_or_null (vnm, sw_if_index); + if (si == NULL) + return -1; + if ((si->type == VNET_SW_INTERFACE_TYPE_P2P) || (si->type == VNET_SW_INTERFACE_TYPE_PIPE)) return 1; diff --git a/src/vnet/interface_format.c b/src/vnet/interface_format.c index 0c051dd4757..f74a4ea7c20 100644 --- a/src/vnet/interface_format.c +++ b/src/vnet/interface_format.c @@ -290,7 +290,7 @@ format_vnet_sw_if_index_name (u8 * s, va_list * args) if (NULL == si) { - return format (s, "DELETED"); + return format (s, "DELETED (%u)", sw_if_index); } return format (s, "%U", format_vnet_sw_interface_name, vnm, si); } @@ -305,7 +305,7 @@ format_vnet_hw_if_index_name (u8 * s, va_list * args) hi = vnet_get_hw_interface (vnm, hw_if_index); if (hi == 0) - return format (s, "DELETED"); + return format (s, "DELETED (%u)", hw_if_index); return format (s, "%v", hi->name); } |