gnrc_ipv6_nib: add address from netif to address validation timer
The `addr` parameter of the NIB's `_handle_dad()` function can come from anywhere (e.g. in the fallback to classic SLAAC the destination address of the IP header is used), so putting that pointer in a timer is not a good idea. Instead we use the version of the address that is stored within the interface.
This commit is contained in:
parent
f5f8261b1c
commit
a09072c93d
@ -178,7 +178,8 @@ void _handle_dad(const ipv6_addr_t *addr)
|
||||
if (idx >= 0) {
|
||||
ipv6_addr_set_solicited_nodes(&sol_nodes, addr);
|
||||
_snd_ns(addr, netif, &ipv6_addr_unspecified, &sol_nodes);
|
||||
_evtimer_add((void *)addr, GNRC_IPV6_NIB_VALID_ADDR,
|
||||
_evtimer_add((void *)&netif->ipv6.addrs[idx],
|
||||
GNRC_IPV6_NIB_VALID_ADDR,
|
||||
&netif->ipv6.addrs_timers[idx],
|
||||
netif->ipv6.retrans_time);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user