gnrc_ipv6_nib: get node from proper interface
If we switch the interface in gnrc_ipv6_nib_get_next_hop_l2addr() we must also re-get the nib entry from the 'proper' interface. Otherwise we will always find the host unreachable on the 'wrong' interface.
This commit is contained in:
parent
13eb3f05c5
commit
ae4165b374
@ -228,6 +228,10 @@ int gnrc_ipv6_nib_get_next_hop_l2addr(const ipv6_addr_t *dst,
|
|||||||
/* release pre-assumed netif */
|
/* release pre-assumed netif */
|
||||||
gnrc_netif_release(netif);
|
gnrc_netif_release(netif);
|
||||||
netif = _acquire_new_iface(iface);
|
netif = _acquire_new_iface(iface);
|
||||||
|
/* get node from proper interface */
|
||||||
|
if (netif != NULL) {
|
||||||
|
node = _nib_onl_get(dst, netif->pid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ((netif == NULL) ||
|
if ((netif == NULL) ||
|
||||||
!_resolve_addr(dst, netif, pkt, nce, node)) {
|
!_resolve_addr(dst, netif, pkt, nce, node)) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user