0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-23 10:11:53 +00:00

Static: Fix reset neighbor entries for ECMP routes

Neighbor entries for static ECMP routes were not cleaned up during
reconfigure and pointed to the old instances, which leads to crash
after reconfigure.

Thanks to Vladimir Osmolovskiy for the bugreport.
This commit is contained in:
Ondrej Zajicek (work) 2018-12-04 13:52:58 +01:00
parent 93cec70361
commit ea59172cde

View File

@ -518,6 +518,11 @@ static_match(struct proto *p, struct static_route *r, struct static_config *n)
if (r->neigh) if (r->neigh)
r->neigh->data = NULL; r->neigh->data = NULL;
if (r->dest == RTD_MULTIPATH)
for (t = r->mp_next; t; t = t->mp_next)
if (t->neigh)
t->neigh->data = NULL;
WALK_LIST(t, n->iface_routes) WALK_LIST(t, n->iface_routes)
if (static_same_net(r, t)) if (static_same_net(r, t))
goto found; goto found;