Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cnetlink::get_neighbor() check pending notification for deleted neighs
When a route and its nexthop (neigh) get removed at the same time, we may process the route removal before the neigh removal. On route removal we try to unregister for nexthop notifications, and remove any pending l3 interfaces. Since cnetlink::get_neighbour() only asks the cache, it only returns live neighs, but since the neigh was already removed from the cache, it wont find any. At the same time, since we did not process the neigh removal yet, we are still registered for nh unreachable notifications, but since from the perspective of the nl_l3::del_l3_route(), the nexthop is already unreachable, so we fail to remove the unreachable notification. Fix this by also going through the pending neigh deletions to find the reference in case there is a neigh delete pending. Fixes: dfe4485 ("add netlink functions") Signed-off-by: Jonas Gorski <[email protected]>
- Loading branch information