Merge pull request #16910 from miri64/tinydtls/bug/no-global-ifindex

tinydtls: sock_dtls: only use ifindex with link-local addresses
This commit is contained in:
benpicco 2021-09-29 17:57:14 +02:00 committed by GitHub
commit 3253d82eac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -813,7 +813,13 @@ static void _ep_to_session(const sock_udp_ep_t *ep, session_t *session)
session->port = ep->port;
session->size = sizeof(ipv6_addr_t) + /* addr */
sizeof(unsigned short); /* port */
session->ifindex = ep->netif;
if (ipv6_addr_is_link_local((ipv6_addr_t *)ep->addr.ipv6)) {
/* set ifindex for link-local addresses */
session->ifindex = ep->netif;
}
else {
session->ifindex = SOCK_ADDR_ANY_NETIF;
}
memcpy(&session->addr, &ep->addr.ipv6, sizeof(ipv6_addr_t));
}