summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_route.h
diff options
context:
space:
mode:
authorAcee <aceelindem@gmail.com>2024-05-28 10:02:27 -0400
committerAcee <aceelindem@gmail.com>2024-05-28 16:46:18 -0400
commit772688d2d3c03d8eeeb711c2fe3735c9e0885498 (patch)
treecaffcb52376b4ebaa7bab347f0532a5e7c5bb5b6 /ospf6d/ospf6_route.h
parentf7712516d8ea19629d346eca1d5ad71831ec1f22 (diff)
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 https://github.com/FRRouting/frr/issues/16053 although the actual problem is not the computing router (r2) and not the OSPFv3 redistribution (r3). Signed-off-by: Acee <aceelindem@gmail.com>
Diffstat (limited to 'ospf6d/ospf6_route.h')
-rw-r--r--ospf6d/ospf6_route.h1
1 files changed, 1 insertions, 0 deletions
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))