summaryrefslogtreecommitdiffstats
path: root/src/vnet/fib/fib_entry_src_adj.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/fib/fib_entry_src_adj.c')
-rw-r--r--src/vnet/fib/fib_entry_src_adj.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/vnet/fib/fib_entry_src_adj.c b/src/vnet/fib/fib_entry_src_adj.c
index 57a802d16c5..14bc1c4390e 100644
--- a/src/vnet/fib/fib_entry_src_adj.c
+++ b/src/vnet/fib/fib_entry_src_adj.c
@@ -292,8 +292,15 @@ fib_entry_src_adj_deactivate (fib_entry_src_t *src,
/*
* remove the depednecy on the covering entry
*/
- cover = fib_entry_get(src->u.adj.fesa_cover);
+ if (FIB_NODE_INDEX_INVALID == src->u.adj.fesa_cover)
+ {
+ /*
+ * this is the case if the entry is in the non-forwarding trie
+ */
+ return;
+ }
+ cover = fib_entry_get(src->u.adj.fesa_cover);
fib_entry_cover_untrack(cover, src->u.adj.fesa_sibling);
/*