mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-05 01:14:48 +00:00
zebra: check all dplane nexthops when processing
When processing route updates from the dataplane, we were terminating the checking of nexthops prematurely, and we could miss meaningful changes. Signed-off-by: Mark Stapp <mjs@voltanet.io>
This commit is contained in:
parent
e6dafed0e2
commit
11260e7011
@ -1547,7 +1547,9 @@ static bool rib_update_re_from_ctx(struct route_entry *re,
|
||||
changed_p = true;
|
||||
|
||||
UNSET_FLAG(nexthop->flags, NEXTHOP_FLAG_FIB);
|
||||
break;
|
||||
|
||||
/* Keep checking nexthops */
|
||||
continue;
|
||||
}
|
||||
|
||||
if (CHECK_FLAG(ctx_nexthop->flags, NEXTHOP_FLAG_FIB)) {
|
||||
@ -1983,6 +1985,9 @@ static void rib_process_dplane_notify(struct zebra_dplane_ctx *ctx)
|
||||
* not-installed; or not-installed to installed.
|
||||
*/
|
||||
if (start_count > 0 && end_count > 0) {
|
||||
if (debug_p)
|
||||
zlog_debug("%u:%s applied nexthop changes from dplane notification",
|
||||
dplane_ctx_get_vrf(ctx), dest_str);
|
||||
|
||||
/* Changed nexthops - update kernel/others */
|
||||
dplane_route_notif_update(rn, re,
|
||||
|
Loading…
Reference in New Issue
Block a user