Merge pull request #11910 from fdumontet6WIND/NAI_Adj

pathd: nai adjacency fix query type f for IPV6
This commit is contained in:
Olivier Dugeon 2022-09-27 11:24:53 +02:00 committed by GitHub
commit 031561497c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -243,16 +243,16 @@ uint32_t path_ted_query_type_f(struct ipaddr *local, struct ipaddr *remote)
}
break;
case IPADDR_V6:
key = (uint64_t)(local->ip._v6_addr.s6_addr32[0] & 0xffffffff)
| ((uint64_t)local->ip._v6_addr.s6_addr32[1] << 32);
key = (uint64_t)ntohl(local->ip._v6_addr.s6_addr32[2]) << 32 |
(uint64_t)ntohl(local->ip._v6_addr.s6_addr32[3]);
edge = ls_find_edge_by_key(ted_state_g.ted, key);
if (edge) {
if ((memcmp(&edge->attributes->standard.remote6,
&remote->ip._v6_addr,
sizeof(remote->ip._v6_addr))
&& CHECK_FLAG(edge->attributes->flags,
LS_ATTR_ADJ_SID))) {
sid = edge->attributes->adj_sid[0]
if ((0 == memcmp(&edge->attributes->standard.remote6,
&remote->ip._v6_addr,
sizeof(remote->ip._v6_addr)) &&
CHECK_FLAG(edge->attributes->flags,
LS_ATTR_ADJ_SID6))) {
sid = edge->attributes->adj_sid[ADJ_PRI_IPV6]
.sid; /* from primary */
break;
}