summaryrefslogtreecommitdiffstats
path: root/src/vnet/fib
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2019-03-08 12:18:40 +0000
committerFlorin Coras <florin.coras@gmail.com>2019-03-12 01:35:31 +0000
commit38fb88973f26ddc826ae0ca2c82d73ee4dac7ae1 (patch)
treea7fcf4d6a260bebe849f613c78ed612e4b9236c3 /src/vnet/fib
parent88aec650c5e9858159e5dee90c77f7f15c633b0d (diff)
FIB: crash when deleting default route
when adding a recursive path the table is locked so that it can be removed when the last recursive path is removed. however, not all RR source'd prefixs use a recursive path. so flushing the table of all RR source'd entries is not correct. Change-Id: Id4010774011046e66ddc443ac83cb8e9245313dd Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/fib')
-rw-r--r--src/vnet/fib/fib_table.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/src/vnet/fib/fib_table.c b/src/vnet/fib/fib_table.c
index f46a5b42183..56c8f030fda 100644
--- a/src/vnet/fib/fib_table.c
+++ b/src/vnet/fib/fib_table.c
@@ -1244,15 +1244,6 @@ fib_table_unlock (u32 fib_index,
fib_table->ft_locks[source]--;
fib_table->ft_locks[FIB_TABLE_TOTAL_LOCKS]--;
- if (0 == fib_table->ft_locks[source])
- {
- /*
- * The source no longer needs the table. flush any routes
- * from it just in case
- */
- fib_table_flush(fib_index, proto, source);
- }
-
if (0 == fib_table->ft_locks[FIB_TABLE_TOTAL_LOCKS])
{
/*