diff options
Diffstat (limited to 'zebra/zebra_rib.c')
| -rw-r--r-- | zebra/zebra_rib.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index 9eb28483c6..300c2143cb 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -1670,6 +1670,12 @@ rib_process (struct route_node *rn) } rib_install_kernel (rn, select, fib? 1 : 0); } + else + { + /* Uninstall prior route here, if needed. */ + if (fib && !RIB_SYSTEM_ROUTE (fib)) + rib_uninstall_kernel (rn, fib); + } SET_FLAG (select->flags, ZEBRA_FLAG_SELECTED); /* Unconditionally announce, this part is exercised by new routes */ |
