summaryrefslogtreecommitdiffstats
path: root/src/vnet/fib/fib_entry.c
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2017-02-20 09:17:02 -0800
committerFlorin Coras <florin.coras@gmail.com>2017-02-20 18:43:45 +0000
commita8d9f30c3afdd473da4ff5984c4bfe509e76d0f8 (patch)
tree5e02925a8df08431f0dc7f23f006ca815f50e1ca /src/vnet/fib/fib_entry.c
parent38206ee73d51cef6ef8c00a9947322eea9940f83 (diff)
FIB reset leaves residual routes. Wrong API used to remove the routes meant the lock count on the entry did not drop to zero
Change-Id: I6e2dff8c3c7976fd1c2e4c5258f5dc73123aa9b7 Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/fib/fib_entry.c')
-rw-r--r--src/vnet/fib/fib_entry.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/vnet/fib/fib_entry.c b/src/vnet/fib/fib_entry.c
index 3aa3632c596..8ef4ea898f4 100644
--- a/src/vnet/fib/fib_entry.c
+++ b/src/vnet/fib/fib_entry.c
@@ -1426,7 +1426,10 @@ fib_entry_encode (fib_node_index_t fib_entry_index,
fib_entry_t *fib_entry;
fib_entry = fib_entry_get(fib_entry_index);
- fib_path_list_walk(fib_entry->fe_parent, fib_path_encode, api_rpaths);
+ if (FIB_NODE_INDEX_INVALID != fib_entry->fe_parent)
+ {
+ fib_path_list_walk(fib_entry->fe_parent, fib_path_encode, api_rpaths);
+ }
}
void