diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index f47081d302..2192907b21 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -1400,6 +1400,10 @@ static void rib_process_del_fib(struct zebra_vrf *zvrf, struct route_node *rn, } /* Update nexthop for route, reset changed flag. */ + /* Note: this code also handles the Linux case when an interface goes + * down, causing the kernel to delete routes without sending DELROUTE + * notifications + */ if (!nexthop_active_update(rn, old, 1) && (RIB_KERNEL_ROUTE(old))) SET_FLAG(old->status, ROUTE_ENTRY_REMOVED);