summaryrefslogtreecommitdiffstats
path: root/ospfd
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2023-03-17 17:04:43 +0100
committerGitHub <noreply@github.com>2023-03-17 17:04:43 +0100
commit7644097f618d129c9a77746f7999ec674b5fcfae (patch)
treea8d009a46905f58267b8db50f963a614ebe89aaf /ospfd
parentMerge pull request #13005 from donaldsharp/prefix_list_speedup (diff)
parentospfd: Ospf ABR doesnt Advertise LSA summary (diff)
downloadfrr-7644097f618d129c9a77746f7999ec674b5fcfae.tar.xz
frr-7644097f618d129c9a77746f7999ec674b5fcfae.zip
Merge pull request #13019 from rgirada/ospf_type3_fix
ospfd: Ospf ABR doesnt Advertise LSA summary
Diffstat (limited to 'ospfd')
-rw-r--r--ospfd/ospf_lsa.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c
index 49e342d72..f41e303ef 100644
--- a/ospfd/ospf_lsa.c
+++ b/ospfd/ospf_lsa.c
@@ -38,7 +38,7 @@
#include "ospfd/ospf_abr.h"
#include "ospfd/ospf_errors.h"
-static struct ospf_lsa *ospf_handle_summarylsa_lsId_chg(struct ospf *ospf,
+static struct ospf_lsa *ospf_handle_summarylsa_lsId_chg(struct ospf_area *area,
struct prefix_ipv4 *p,
uint8_t type,
uint32_t metric,
@@ -1283,7 +1283,7 @@ ospf_summary_lsa_prepare_and_flood(struct prefix_ipv4 *p, uint32_t metric,
return new;
}
-static struct ospf_lsa *ospf_handle_summarylsa_lsId_chg(struct ospf *ospf,
+static struct ospf_lsa *ospf_handle_summarylsa_lsId_chg(struct ospf_area *area,
struct prefix_ipv4 *p,
uint8_t type,
uint32_t metric,
@@ -1293,13 +1293,14 @@ static struct ospf_lsa *ospf_handle_summarylsa_lsId_chg(struct ospf *ospf,
struct ospf_lsa *new = NULL;
struct summary_lsa *sl = NULL;
struct ospf_area *old_area = NULL;
+ struct ospf *ospf = area->ospf;
struct prefix_ipv4 old_prefix;
uint32_t old_metric;
struct in_addr mask;
uint32_t metric_val;
char *metric_buf;
- lsa = ospf_lsdb_lookup_by_id(ospf->lsdb, type, p->prefix,
+ lsa = ospf_lsdb_lookup_by_id(area->lsdb, type, p->prefix,
ospf->router_id);
if (!lsa) {
@@ -1358,8 +1359,8 @@ struct ospf_lsa *ospf_summary_lsa_originate(struct prefix_ipv4 *p,
if (IS_DEBUG_OSPF(lsa, LSA_GENERATE))
zlog_debug("Link ID has to be changed.");
- new = ospf_handle_summarylsa_lsId_chg(
- area->ospf, p, OSPF_SUMMARY_LSA, metric, id);
+ new = ospf_handle_summarylsa_lsId_chg(area, p, OSPF_SUMMARY_LSA,
+ metric, id);
return new;
} else if (status == LSID_NOT_AVAILABLE) {
/* Link State ID not available. */
@@ -1521,7 +1522,7 @@ struct ospf_lsa *ospf_summary_asbr_lsa_originate(struct prefix_ipv4 *p,
zlog_debug("Link ID has to be changed.");
new = ospf_handle_summarylsa_lsId_chg(
- area->ospf, p, OSPF_ASBR_SUMMARY_LSA, metric, id);
+ area, p, OSPF_ASBR_SUMMARY_LSA, metric, id);
return new;
} else if (status == LSID_NOT_AVAILABLE) {
/* Link State ID not available. */