mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 14:17:20 +00:00
Merge pull request #8608 from Fredi-raspall/pr_isis_sr_anycast
isisd: clear the N-flag in ext. reachability TLVs
This commit is contained in:
commit
0376f8a48c
@ -361,9 +361,9 @@ struct sr_prefix_cfg *isis_sr_cfg_prefix_add(struct isis_area *area,
|
|||||||
pcfg->last_hop_behavior = yang_get_default_enum(
|
pcfg->last_hop_behavior = yang_get_default_enum(
|
||||||
"%s/prefix-sid-map/prefix-sid/last-hop-behavior", ISIS_SR);
|
"%s/prefix-sid-map/prefix-sid/last-hop-behavior", ISIS_SR);
|
||||||
|
|
||||||
/* Set the N-flag when appropriate. */
|
/* Mark as node Sid if the prefix is host and configured in loopback */
|
||||||
ifp = if_lookup_prefix(prefix, VRF_DEFAULT);
|
ifp = if_lookup_prefix(prefix, VRF_DEFAULT);
|
||||||
if (ifp && sr_prefix_is_node_sid(ifp, prefix) && !pcfg->n_flag_clear)
|
if (ifp && sr_prefix_is_node_sid(ifp, prefix))
|
||||||
pcfg->node_sid = true;
|
pcfg->node_sid = true;
|
||||||
|
|
||||||
/* Save prefix-sid configuration. */
|
/* Save prefix-sid configuration. */
|
||||||
@ -438,7 +438,7 @@ void isis_sr_prefix_cfg2subtlv(const struct sr_prefix_cfg *pcfg, bool external,
|
|||||||
}
|
}
|
||||||
if (external)
|
if (external)
|
||||||
SET_FLAG(psid->flags, ISIS_PREFIX_SID_READVERTISED);
|
SET_FLAG(psid->flags, ISIS_PREFIX_SID_READVERTISED);
|
||||||
if (pcfg->node_sid)
|
if (pcfg->node_sid && !pcfg->n_flag_clear)
|
||||||
SET_FLAG(psid->flags, ISIS_PREFIX_SID_NODE);
|
SET_FLAG(psid->flags, ISIS_PREFIX_SID_NODE);
|
||||||
|
|
||||||
/* Set SID value. */
|
/* Set SID value. */
|
||||||
@ -948,8 +948,7 @@ static int sr_if_new_hook(struct interface *ifp)
|
|||||||
if (!pcfg)
|
if (!pcfg)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (sr_prefix_is_node_sid(ifp, &pcfg->prefix)
|
if (sr_prefix_is_node_sid(ifp, &pcfg->prefix)) {
|
||||||
&& !pcfg->n_flag_clear) {
|
|
||||||
pcfg->node_sid = true;
|
pcfg->node_sid = true;
|
||||||
lsp_regenerate_schedule(area, area->is_type, 0);
|
lsp_regenerate_schedule(area, area->is_type, 0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user