mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 10:54:47 +00:00
zebra: handle route notification with no nexthops
Handle the special case where a route update contains no installed nexthops - that means the route is not installed. Signed-off-by: Mark Stapp <mjs@voltanet.io>
This commit is contained in:
parent
4c0b5436f9
commit
1f6a5aca26
@ -1369,6 +1369,14 @@ static bool rib_update_re_from_ctx(struct route_entry *re,
|
|||||||
|
|
||||||
ctx_nexthop = dplane_ctx_get_ng(ctx)->nexthop;
|
ctx_nexthop = dplane_ctx_get_ng(ctx)->nexthop;
|
||||||
|
|
||||||
|
/* Nothing installed - we can skip some of the checking/comparison
|
||||||
|
* of nexthops.
|
||||||
|
*/
|
||||||
|
if (ctx_nexthop == NULL) {
|
||||||
|
changed_p = true;
|
||||||
|
goto no_nexthops;
|
||||||
|
}
|
||||||
|
|
||||||
/* Get the first `installed` one to check against.
|
/* Get the first `installed` one to check against.
|
||||||
* If the dataplane doesn't set these to be what was actually installed,
|
* If the dataplane doesn't set these to be what was actually installed,
|
||||||
* it will just be whatever was in re->nhe->nhg?
|
* it will just be whatever was in re->nhe->nhg?
|
||||||
@ -1431,6 +1439,8 @@ static bool rib_update_re_from_ctx(struct route_entry *re,
|
|||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
no_nexthops:
|
||||||
|
|
||||||
/* FIB nexthop set differs from the RIB set:
|
/* FIB nexthop set differs from the RIB set:
|
||||||
* create a fib-specific nexthop-group
|
* create a fib-specific nexthop-group
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user