Skip to content

Commit 3566cdb

Browse files
Aceemergify[bot]
authored andcommitted
ospf6d: OSPFv3 route change comparision fixed for ASBR-only change
When a router route already exists in the area border routers table as an ABR and it solely changes its ABR or ASBR status, the change was missed and border route is not updated. This fixes the comparison for the router_bits in the ospf6_path structure. This fixes issue #16053 although the actual problem is not the computing router (r2) and not the OSPFv3 redistribution (r3). Signed-off-by: Acee <aceelindem@gmail.com> (cherry picked from commit 772688d)
1 parent 9237991 commit 3566cdb

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

ospf6d/ospf6_abr.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1350,9 +1350,10 @@ void ospf6_abr_examin_summary(struct ospf6_lsa *lsa, struct ospf6_area *oa)
13501350
* does not match with the new entry then add the new route
13511351
*/
13521352
if (old_entry_updated == false) {
1353-
if ((old == NULL) || (old->type != route->type)
1354-
|| (old->path.type != route->path.type)
1355-
|| (old->path.cost != route->path.cost))
1353+
if ((old == NULL) || (old->type != route->type) ||
1354+
(old->path.type != route->path.type) ||
1355+
(old->path.cost != route->path.cost) ||
1356+
(old->path.router_bits != route->path.router_bits))
13561357
add_route = true;
13571358
}
13581359

ospf6d/ospf6_route.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ extern const char *const ospf6_path_type_substr[OSPF6_PATH_TYPE_MAX];
287287
prefix_same(&(ra)->prefix, &(rb)->prefix) && \
288288
(ra)->path.type == (rb)->path.type && \
289289
(ra)->path.cost == (rb)->path.cost && \
290+
(ra)->path.router_bits == (rb)->path.router_bits && \
290291
(ra)->path.u.cost_e2 == (rb)->path.u.cost_e2 && \
291292
listcount(ra->paths) == listcount(rb->paths) && \
292293
ospf6_route_cmp_nexthops(ra, rb))

0 commit comments

Comments
 (0)