Skip to content

Commit

Permalink
Merge pull request #15997 from FRRouting/mergify/bp/stable/9.1/pr-15655
Browse files Browse the repository at this point in the history
isisd: fix ip/ipv6 reachability tlvs (backport #15655)
  • Loading branch information
ton31337 committed May 13, 2024
2 parents 629118a + b6e5b5f commit 995e159
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions isisd/isis_tlvs.c
Original file line number Diff line number Diff line change
Expand Up @@ -8011,7 +8011,6 @@ void isis_tlvs_add_extended_ip_reach(struct isis_tlvs *tlvs,
apply_mask_ipv4(&r->prefix);

if (pcfgs) {
r->subtlvs = isis_alloc_subtlvs(ISIS_CONTEXT_SUBTLV_IP_REACH);
for (int i = 0; i < SR_ALGORITHM_COUNT; i++) {
struct isis_prefix_sid *psid;
struct sr_prefix_cfg *pcfg = pcfgs[i];
Expand All @@ -8021,6 +8020,10 @@ void isis_tlvs_add_extended_ip_reach(struct isis_tlvs *tlvs,

psid = XCALLOC(MTYPE_ISIS_SUBTLV, sizeof(*psid));
isis_sr_prefix_cfg2subtlv(pcfg, external, psid);

if (!r->subtlvs)
r->subtlvs = isis_alloc_subtlvs(
ISIS_CONTEXT_SUBTLV_IP_REACH);
append_item(&r->subtlvs->prefix_sids,
(struct isis_item *)psid);
}
Expand All @@ -8039,7 +8042,6 @@ void isis_tlvs_add_ipv6_reach(struct isis_tlvs *tlvs, uint16_t mtid,
memcpy(&r->prefix, dest, sizeof(*dest));
apply_mask_ipv6(&r->prefix);
if (pcfgs) {
r->subtlvs = isis_alloc_subtlvs(ISIS_CONTEXT_SUBTLV_IP_REACH);
for (int i = 0; i < SR_ALGORITHM_COUNT; i++) {
struct isis_prefix_sid *psid;
struct sr_prefix_cfg *pcfg = pcfgs[i];
Expand All @@ -8049,6 +8051,10 @@ void isis_tlvs_add_ipv6_reach(struct isis_tlvs *tlvs, uint16_t mtid,

psid = XCALLOC(MTYPE_ISIS_SUBTLV, sizeof(*psid));
isis_sr_prefix_cfg2subtlv(pcfg, external, psid);

if (!r->subtlvs)
r->subtlvs = isis_alloc_subtlvs(
ISIS_CONTEXT_SUBTLV_IPV6_REACH);
append_item(&r->subtlvs->prefix_sids,
(struct isis_item *)psid);
}
Expand Down

0 comments on commit 995e159

Please sign in to comment.