diff options
Diffstat (limited to 'ospf6d')
| -rw-r--r-- | ospf6d/ospf6_abr.c | 7 | ||||
| -rw-r--r-- | ospf6d/ospf6_route.h | 1 | 
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))  | 
