summaryrefslogtreecommitdiff
path: root/ospf6d
diff options
context:
space:
mode:
authorDonald Sharp <donaldsharp72@gmail.com>2024-05-29 08:58:42 -0400
committerGitHub <noreply@github.com>2024-05-29 08:58:42 -0400
commit0008dec4804da264d94a463f734422a8c55f04ad (patch)
tree7c7521ce500a73701f42d66583519697bd0ca27c /ospf6d
parent33e01b663e8de515943907729ccd71507d77970f (diff)
parent772688d2d3c03d8eeeb711c2fe3735c9e0885498 (diff)
Merge pull request #16098 from LabNConsulting/aceelindem/ospfv3-route-asbr-change
ospf6d: OSPFv3 route change comparision fixed for ASBR-only change
Diffstat (limited to 'ospf6d')
-rw-r--r--ospf6d/ospf6_abr.c7
-rw-r--r--ospf6d/ospf6_route.h1
2 files changed, 5 insertions, 3 deletions
diff --git a/ospf6d/ospf6_abr.c b/ospf6d/ospf6_abr.c
index aec947a698..0c5be29ff8 100644
--- a/ospf6d/ospf6_abr.c
+++ b/ospf6d/ospf6_abr.c
@@ -1352,9 +1352,10 @@ void ospf6_abr_examin_summary(struct ospf6_lsa *lsa, struct ospf6_area *oa)
* does not match with the new entry then add the new route
*/
if (old_entry_updated == false) {
- if ((old == NULL) || (old->type != route->type)
- || (old->path.type != route->path.type)
- || (old->path.cost != route->path.cost))
+ if ((old == NULL) || (old->type != route->type) ||
+ (old->path.type != route->path.type) ||
+ (old->path.cost != route->path.cost) ||
+ (old->path.router_bits != route->path.router_bits))
add_route = true;
}
diff --git a/ospf6d/ospf6_route.h b/ospf6d/ospf6_route.h
index d3c1804658..88813491e4 100644
--- a/ospf6d/ospf6_route.h
+++ b/ospf6d/ospf6_route.h
@@ -290,6 +290,7 @@ extern const char *const ospf6_path_type_substr[OSPF6_PATH_TYPE_MAX];
prefix_same(&(ra)->prefix, &(rb)->prefix) && \
(ra)->path.type == (rb)->path.type && \
(ra)->path.cost == (rb)->path.cost && \
+ (ra)->path.router_bits == (rb)->path.router_bits && \
(ra)->path.u.cost_e2 == (rb)->path.u.cost_e2 && \
listcount(ra->paths) == listcount(rb->paths) && \
ospf6_route_cmp_nexthops(ra, rb))