From a8d9f30c3afdd473da4ff5984c4bfe509e76d0f8 Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Mon, 20 Feb 2017 09:17:02 -0800 Subject: 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 --- src/vnet/fib/fib_entry.c | 5 ++++- src/vnet/fib/fib_table.c | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src') 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 diff --git a/src/vnet/fib/fib_table.c b/src/vnet/fib/fib_table.c index f997335a9f2..a0ce0bbb4de 100644 --- a/src/vnet/fib/fib_table.c +++ b/src/vnet/fib/fib_table.c @@ -1162,7 +1162,7 @@ fib_table_flush (u32 fib_index, vec_foreach(fib_entry_index, ctx.ftf_entries) { - fib_entry_delete(*fib_entry_index, source); + fib_table_entry_delete_index(*fib_entry_index, source); } vec_free(ctx.ftf_entries); -- cgit 1.2.3-korg