mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-05 01:11:42 +00:00
Merge pull request #9699 from manojvn/379032-dev
ospf6d: minor struct compare issues.
This commit is contained in:
commit
45ebf5f134
@ -53,6 +53,16 @@
|
||||
|
||||
unsigned char conf_debug_ospf6_abr;
|
||||
|
||||
int ospf6_ls_origin_same(struct ospf6_path *o_path, struct ospf6_path *r_path)
|
||||
{
|
||||
if (((o_path->origin.type == r_path->origin.type)
|
||||
&& (o_path->origin.id == r_path->origin.id)
|
||||
&& (o_path->origin.adv_router == r_path->origin.adv_router)))
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool ospf6_check_and_set_router_abr(struct ospf6 *o)
|
||||
{
|
||||
struct listnode *node;
|
||||
@ -815,9 +825,8 @@ void ospf6_abr_old_path_update(struct ospf6_route *old_route,
|
||||
struct ospf6_nexthop *nh, *rnh;
|
||||
|
||||
for (ALL_LIST_ELEMENTS(old_route->paths, anode, anext, o_path)) {
|
||||
if (o_path->area_id != route->path.area_id ||
|
||||
(memcmp(&(o_path)->origin, &(route)->path.origin,
|
||||
sizeof(struct ospf6_ls_origin)) != 0))
|
||||
if (o_path->area_id != route->path.area_id
|
||||
|| !ospf6_ls_origin_same(o_path, &route->path))
|
||||
continue;
|
||||
|
||||
if ((o_path->cost == route->path.cost) &&
|
||||
@ -1232,9 +1241,8 @@ void ospf6_abr_examin_summary(struct ospf6_lsa *lsa, struct ospf6_area *oa)
|
||||
|
||||
for (ALL_LIST_ELEMENTS_RO(old_route->paths, anode,
|
||||
o_path)) {
|
||||
if (o_path->area_id == route->path.area_id &&
|
||||
(memcmp(&(o_path)->origin, &(route)->path.origin,
|
||||
sizeof(struct ospf6_ls_origin)) == 0))
|
||||
if (o_path->area_id == route->path.area_id
|
||||
&& ospf6_ls_origin_same(o_path, &route->path))
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -89,5 +89,7 @@ extern void ospf6_abr_init(void);
|
||||
extern void ospf6_abr_range_update(struct ospf6_route *range,
|
||||
struct ospf6 *ospf6);
|
||||
extern void ospf6_abr_remove_unapproved_summaries(struct ospf6 *ospf6);
|
||||
extern int ospf6_ls_origin_same(struct ospf6_path *o_path,
|
||||
struct ospf6_path *r_path);
|
||||
|
||||
#endif /*OSPF6_ABR_H*/
|
||||
|
@ -290,9 +290,7 @@ void ospf6_asbr_update_route_ecmp_path(struct ospf6_route *old,
|
||||
* origin.
|
||||
*/
|
||||
if (o_path->area_id != route->path.area_id
|
||||
|| (memcmp(&(o_path)->origin, &(route)->path.origin,
|
||||
sizeof(struct ospf6_ls_origin))
|
||||
!= 0))
|
||||
|| !ospf6_ls_origin_same(o_path, &route->path))
|
||||
continue;
|
||||
|
||||
/* Cost is not same then delete current path */
|
||||
@ -411,10 +409,7 @@ void ospf6_asbr_update_route_ecmp_path(struct ospf6_route *old,
|
||||
for (ALL_LIST_ELEMENTS_RO(old_route->paths, anode,
|
||||
o_path)) {
|
||||
if (o_path->area_id == route->path.area_id
|
||||
&& (memcmp(&(o_path)->origin,
|
||||
&(route)->path.origin,
|
||||
sizeof(struct ospf6_ls_origin))
|
||||
== 0))
|
||||
&& ospf6_ls_origin_same(o_path, &route->path))
|
||||
break;
|
||||
}
|
||||
/* If path is not found in old_route paths's list,
|
||||
|
@ -1237,7 +1237,6 @@ void ospf6_receive_lsa(struct ospf6_neighbor *from,
|
||||
ospf6_lsa_delete(new);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1524,9 +1524,8 @@ void ospf6_intra_prefix_route_ecmp_path(struct ospf6_area *oa,
|
||||
/* Check old route path and route has same
|
||||
* origin.
|
||||
*/
|
||||
if (o_path->area_id != route->path.area_id ||
|
||||
(memcmp(&(o_path)->origin, &(route)->path.origin,
|
||||
sizeof(struct ospf6_ls_origin)) != 0))
|
||||
if (o_path->area_id != route->path.area_id
|
||||
|| !ospf6_ls_origin_same(o_path, &route->path))
|
||||
continue;
|
||||
|
||||
/* Cost is not same then delete current path */
|
||||
@ -1630,10 +1629,8 @@ void ospf6_intra_prefix_route_ecmp_path(struct ospf6_area *oa,
|
||||
*/
|
||||
for (ALL_LIST_ELEMENTS_RO(old_route->paths, anode,
|
||||
o_path)) {
|
||||
if (o_path->area_id == route->path.area_id &&
|
||||
(memcmp(&(o_path)->origin,
|
||||
&(route)->path.origin,
|
||||
sizeof(struct ospf6_ls_origin)) == 0))
|
||||
if (o_path->area_id == route->path.area_id
|
||||
&& ospf6_ls_origin_same(o_path, &route->path))
|
||||
break;
|
||||
}
|
||||
/* If path is not found in old_route paths's list,
|
||||
|
@ -726,7 +726,6 @@ static void ospf6_dbdesc_recv_master(struct ospf6_header *oh,
|
||||
zlog_debug("Ignoring LSA of reserved scope");
|
||||
ospf6_lsa_delete(his);
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
if (ntohs(his->header->type) == OSPF6_LSTYPE_AS_EXTERNAL
|
||||
@ -947,7 +946,6 @@ static void ospf6_dbdesc_recv_slave(struct ospf6_header *oh,
|
||||
zlog_debug("Ignoring LSA of reserved scope");
|
||||
ospf6_lsa_delete(his);
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
if (OSPF6_LSA_SCOPE(his->header->type) == OSPF6_SCOPE_AS
|
||||
@ -1082,7 +1080,6 @@ static void ospf6_lsreq_recv(struct in6_addr *src, struct in6_addr *dst,
|
||||
if (IS_OSPF6_DEBUG_MESSAGE(oh->type, RECV))
|
||||
zlog_debug("Ignoring LSA of reserved scope");
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Find database copy */
|
||||
@ -1634,7 +1631,6 @@ static void ospf6_lsack_recv(struct in6_addr *src, struct in6_addr *dst,
|
||||
zlog_debug("Ignoring LSA of reserved scope");
|
||||
ospf6_lsa_delete(his);
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
if (IS_OSPF6_DEBUG_MESSAGE(oh->type, RECV))
|
||||
|
@ -408,8 +408,6 @@ int ospf6_nexthop_cmp(struct ospf6_nexthop *a, struct ospf6_nexthop *b)
|
||||
else
|
||||
return memcmp(&a->address, &b->address,
|
||||
sizeof(struct in6_addr));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ospf6_path_cmp(struct ospf6_path *a, struct ospf6_path *b)
|
||||
|
Loading…
Reference in New Issue
Block a user