summaryrefslogtreecommitdiffstats
path: root/src/vnet/mpls/mpls_tunnel.c
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2019-02-19 02:10:13 -0800
committerNeale Ranns <nranns@cisco.com>2019-02-28 07:59:34 +0000
commit901cbb9e4dcda09e93452129096c057efea4e390 (patch)
treec65cf5fefd7595a56b4e5c66edb0ef985a9d6be3 /src/vnet/mpls/mpls_tunnel.c
parent53f526b680973df1455bbc77986ec133d470898a (diff)
MPLS: tunnel delete crash
Change-Id: I4adf713f4a1d596b9c8a78b79b5df2c7eb0c56f0 Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/mpls/mpls_tunnel.c')
-rw-r--r--src/vnet/mpls/mpls_tunnel.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/vnet/mpls/mpls_tunnel.c b/src/vnet/mpls/mpls_tunnel.c
index ad61ac2b25d..e70f4287360 100644
--- a/src/vnet/mpls/mpls_tunnel.c
+++ b/src/vnet/mpls/mpls_tunnel.c
@@ -245,6 +245,12 @@ mpls_tunnel_stack (adj_index_t ai)
if (NULL == mt)
return;
+ if (FIB_NODE_INDEX_INVALID == mt->mt_path_list)
+ {
+ adj_nbr_midchain_unstack(ai);
+ return;
+ }
+
/*
* while we're stacking the adj, remove the tunnel from the child list
* of the path list. this breaks a circular dependency of walk updates