From: Neale Ranns Date: Fri, 8 Mar 2019 12:18:40 +0000 (+0000) Subject: FIB: crash when deleting default route X-Git-Tag: v19.04-rc1~251 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F38%2F18138%2F3;p=vpp.git 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 --- 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]) { /*