mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-05 20:51:17 +00:00
Merge pull request #4736 from dslicenc/zebra-skip-queued-entry
zebra: skip queued entries when resolving nexthop
This commit is contained in:
commit
2816a8799d
@ -1364,6 +1364,7 @@ static void zebra_rib_fixup_system(struct route_node *rn)
|
||||
continue;
|
||||
|
||||
SET_FLAG(re->status, ROUTE_ENTRY_INSTALLED);
|
||||
UNSET_FLAG(re->status, ROUTE_ENTRY_QUEUED);
|
||||
|
||||
for (ALL_NEXTHOPS(re->ng, nhop)) {
|
||||
if (CHECK_FLAG(nhop->flags, NEXTHOP_FLAG_RECURSIVE))
|
||||
|
@ -465,6 +465,7 @@ zebra_rnh_resolve_import_entry(struct zebra_vrf *zvrf, afi_t afi,
|
||||
RNODE_FOREACH_RE (rn, re) {
|
||||
if (!CHECK_FLAG(re->status, ROUTE_ENTRY_REMOVED)
|
||||
&& CHECK_FLAG(re->flags, ZEBRA_FLAG_SELECTED)
|
||||
&& !CHECK_FLAG(re->status, ROUTE_ENTRY_QUEUED)
|
||||
&& (re->type != ZEBRA_ROUTE_BGP))
|
||||
break;
|
||||
}
|
||||
@ -679,6 +680,14 @@ zebra_rnh_resolve_nexthop_entry(struct zebra_vrf *zvrf, afi_t afi,
|
||||
continue;
|
||||
}
|
||||
|
||||
if (CHECK_FLAG(re->status, ROUTE_ENTRY_QUEUED)) {
|
||||
if (IS_ZEBRA_DEBUG_NHT_DETAILED)
|
||||
zlog_debug(
|
||||
"\tRoute Entry %s queued",
|
||||
zebra_route_string(re->type));
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Just being SELECTED isn't quite enough - must
|
||||
* have an installed nexthop to be useful.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user