Skip to content

Commit

Permalink
Merge pull request #8608 from Fredi-raspall/pr_isis_sr_anycast
Browse files Browse the repository at this point in the history
isisd: clear the N-flag in ext. reachability TLVs
  • Loading branch information
rwestphal authored May 18, 2021
2 parents 365215d + 249c445 commit 0376f8a
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions isisd/isis_sr.c
Original file line number Diff line number Diff line change
Expand Up @@ -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(
"%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);
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;

/* Save prefix-sid configuration. */
Expand Down Expand Up @@ -438,7 +438,7 @@ void isis_sr_prefix_cfg2subtlv(const struct sr_prefix_cfg *pcfg, bool external,
}
if (external)
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 SID value. */
Expand Down Expand Up @@ -948,8 +948,7 @@ static int sr_if_new_hook(struct interface *ifp)
if (!pcfg)
continue;

if (sr_prefix_is_node_sid(ifp, &pcfg->prefix)
&& !pcfg->n_flag_clear) {
if (sr_prefix_is_node_sid(ifp, &pcfg->prefix)) {
pcfg->node_sid = true;
lsp_regenerate_schedule(area, area->is_type, 0);
}
Expand Down

0 comments on commit 0376f8a

Please # to comment.