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:
commit
3253d82eac
@ -813,7 +813,13 @@ static void _ep_to_session(const sock_udp_ep_t *ep, session_t *session)
|
|||||||
session->port = ep->port;
|
session->port = ep->port;
|
||||||
session->size = sizeof(ipv6_addr_t) + /* addr */
|
session->size = sizeof(ipv6_addr_t) + /* addr */
|
||||||
sizeof(unsigned short); /* port */
|
sizeof(unsigned short); /* port */
|
||||||
|
if (ipv6_addr_is_link_local((ipv6_addr_t *)ep->addr.ipv6)) {
|
||||||
|
/* set ifindex for link-local addresses */
|
||||||
session->ifindex = ep->netif;
|
session->ifindex = ep->netif;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
session->ifindex = SOCK_ADDR_ANY_NETIF;
|
||||||
|
}
|
||||||
memcpy(&session->addr, &ep->addr.ipv6, sizeof(ipv6_addr_t));
|
memcpy(&session->addr, &ep->addr.ipv6, sizeof(ipv6_addr_t));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user