mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 06:02:26 +00:00
zebra: fix loop logic in dplane for extra intf info
The way a couple of clauses were placed in a loop meant that some info might not be collected - re-order things just a bit. Signed-off-by: Mark Stapp <mjs@voltanet.io>
This commit is contained in:
parent
b2d8bcc52a
commit
b364e87d56
@ -2014,16 +2014,6 @@ int dplane_ctx_route_init(struct zebra_dplane_ctx *ctx, enum dplane_op_e op,
|
||||
for (ALL_NEXTHOPS(ctx->u.rinfo.zd_ng, nexthop)) {
|
||||
UNSET_FLAG(nexthop->flags, NEXTHOP_FLAG_FIB);
|
||||
|
||||
/* Check for available encapsulations. */
|
||||
if (!CHECK_FLAG(re->flags, ZEBRA_FLAG_EVPN_ROUTE))
|
||||
continue;
|
||||
|
||||
zl3vni = zl3vni_from_vrf(nexthop->vrf_id);
|
||||
if (zl3vni && is_l3vni_oper_up(zl3vni)) {
|
||||
nexthop->nh_encap_type = NET_VXLAN;
|
||||
nexthop->nh_encap.vni = zl3vni->vni;
|
||||
}
|
||||
|
||||
/* Optionally capture extra interface info while we're in the
|
||||
* main zebra pthread - a plugin has to ask for this info.
|
||||
*/
|
||||
@ -2044,6 +2034,16 @@ int dplane_ctx_route_init(struct zebra_dplane_ctx *ctx, enum dplane_op_e op,
|
||||
if_extra, link);
|
||||
}
|
||||
}
|
||||
|
||||
/* Check for available evpn encapsulations. */
|
||||
if (!CHECK_FLAG(re->flags, ZEBRA_FLAG_EVPN_ROUTE))
|
||||
continue;
|
||||
|
||||
zl3vni = zl3vni_from_vrf(nexthop->vrf_id);
|
||||
if (zl3vni && is_l3vni_oper_up(zl3vni)) {
|
||||
nexthop->nh_encap_type = NET_VXLAN;
|
||||
nexthop->nh_encap.vni = zl3vni->vni;
|
||||
}
|
||||
}
|
||||
|
||||
/* Don't need some info when capturing a system notification */
|
||||
|
Loading…
Reference in New Issue
Block a user