diff options
author | Nathan Skrzypczak <nathan.skrzypczak@gmail.com> | 2023-12-06 17:34:57 +0100 |
---|---|---|
committer | Damjan Marion <dmarion@0xa5.net> | 2023-12-07 10:14:49 +0000 |
commit | 535364e90459566b603661c3dbe360c72f59ad71 (patch) | |
tree | 574bb762d345c7871081233823f00cbb968a35cb /src/vnet/interface.c | |
parent | 327c3230652240c91be2342639c53ee56f868d4d (diff) |
vnet: allow format deleted swifidx
This patch prevents the sw interfaces format
function to fail when the interface was deleted.
It also prints the swifindex alongside the 'DELETED'
keyword.
Printing deleted swifindex should not happen, but it is still
helpful to have these safeguards for troubleshooting in the case
invariants get corrupted (e.g. fib entry refcounts, ...)
Type: improvement
Change-Id: I66711049db2eebe0ad17e37c3a260ac81d1e5134
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Diffstat (limited to 'src/vnet/interface.c')
-rw-r--r-- | src/vnet/interface.c | 5 |
1 files changed, 4 insertions, 1 deletions
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; |