summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_route.h
diff options
context:
space:
mode:
Diffstat (limited to 'ospf6d/ospf6_route.h')
-rw-r--r--ospf6d/ospf6_route.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/ospf6d/ospf6_route.h b/ospf6d/ospf6_route.h
index bb5827a176..c8411c015f 100644
--- a/ospf6d/ospf6_route.h
+++ b/ospf6d/ospf6_route.h
@@ -297,6 +297,14 @@ extern const char *const ospf6_path_type_substr[OSPF6_PATH_TYPE_MAX];
&& (ra)->path.origin.type == (rb)->path.origin.type \
&& (ra)->path.origin.id == (rb)->path.origin.id \
&& (ra)->path.origin.adv_router == (rb)->path.origin.adv_router)
+#define ospf6_route_is_identical(ra, rb) \
+ ((ra)->type == (rb)->type && \
+ prefix_same(&(ra)->prefix, &(rb)->prefix) && \
+ (ra)->path.type == (rb)->path.type && \
+ (ra)->path.cost == (rb)->path.cost && \
+ (ra)->path.u.cost_e2 == (rb)->path.u.cost_e2 && \
+ listcount(ra->paths) == listcount(rb->paths) && \
+ ospf6_route_cmp_nexthops(ra, rb) == 0)
#define ospf6_route_is_best(r) (CHECK_FLAG ((r)->flag, OSPF6_ROUTE_BEST))