mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-11-03 21:50:52 +00:00
Merge pull request #9016 from LabNConsulting/chopps/ospf6d-fix-backlink-chk
ospf6d: fix backlink check
This commit is contained in:
commit
d0f980f8bb
@ -225,21 +225,25 @@ static char *ospf6_lsdesc_backlink(struct ospf6_lsa *lsa, caddr_t lsdesc,
|
||||
assert(!(OSPF6_LSA_IS_TYPE(NETWORK, lsa)
|
||||
&& VERTEX_IS_TYPE(NETWORK, v)));
|
||||
|
||||
if (OSPF6_LSA_IS_TYPE(NETWORK, lsa)
|
||||
&& NETWORK_LSDESC_GET_NBR_ROUTERID(backlink)
|
||||
== v->lsa->header->adv_router)
|
||||
found = backlink;
|
||||
else if (VERTEX_IS_TYPE(NETWORK, v)
|
||||
&& ROUTER_LSDESC_IS_TYPE(TRANSIT_NETWORK, backlink)
|
||||
&& ROUTER_LSDESC_GET_NBR_ROUTERID(backlink)
|
||||
== v->lsa->header->adv_router
|
||||
&& ROUTER_LSDESC_GET_NBR_IFID(backlink)
|
||||
== ntohl(v->lsa->header->id))
|
||||
found = backlink;
|
||||
else {
|
||||
if (OSPF6_LSA_IS_TYPE(NETWORK, lsa)) {
|
||||
if (NETWORK_LSDESC_GET_NBR_ROUTERID(backlink)
|
||||
== v->lsa->header->adv_router)
|
||||
found = backlink;
|
||||
} else if (VERTEX_IS_TYPE(NETWORK, v)) {
|
||||
if (ROUTER_LSDESC_IS_TYPE(TRANSIT_NETWORK, backlink)
|
||||
&& ROUTER_LSDESC_GET_NBR_ROUTERID(backlink)
|
||||
== v->lsa->header->adv_router
|
||||
&& ROUTER_LSDESC_GET_NBR_IFID(backlink)
|
||||
== ntohl(v->lsa->header->id))
|
||||
found = backlink;
|
||||
} else {
|
||||
assert(OSPF6_LSA_IS_TYPE(ROUTER, lsa)
|
||||
&& VERTEX_IS_TYPE(ROUTER, v));
|
||||
|
||||
if (!ROUTER_LSDESC_IS_TYPE(POINTTOPOINT, backlink)
|
||||
|| !ROUTER_LSDESC_IS_TYPE(POINTTOPOINT, lsdesc))
|
||||
continue;
|
||||
|
||||
if (ROUTER_LSDESC_GET_NBR_IFID(backlink)
|
||||
!= ROUTER_LSDESC_GET_IFID(lsdesc)
|
||||
|| ROUTER_LSDESC_GET_NBR_IFID(lsdesc)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user