diff --git a/sys/net/gnrc/network_layer/ipv6/gnrc_ipv6.c b/sys/net/gnrc/network_layer/ipv6/gnrc_ipv6.c index 1e48116473..641e8720d7 100644 --- a/sys/net/gnrc/network_layer/ipv6/gnrc_ipv6.c +++ b/sys/net/gnrc/network_layer/ipv6/gnrc_ipv6.c @@ -530,26 +530,26 @@ static inline kernel_pid_t _next_hop_l2addr(uint8_t *l2addr, uint8_t *l2addr_len kernel_pid_t iface, ipv6_addr_t *dst, gnrc_pktsnip_t *pkt) { + kernel_pid_t found_iface; #if defined(MODULE_GNRC_SIXLOWPAN_ND) (void)pkt; - iface = gnrc_sixlowpan_nd_next_hop_l2addr(l2addr, l2addr_len, iface, dst); - if (iface <= KERNEL_PID_UNDEF) { - return iface; + found_iface = gnrc_sixlowpan_nd_next_hop_l2addr(l2addr, l2addr_len, iface, dst); + if (found_iface > KERNEL_PID_UNDEF) { + return found_iface; } #endif #if defined(MODULE_GNRC_NDP_NODE) - if (iface <= KERNEL_PID_UNDEF) { - iface = gnrc_ndp_node_next_hop_l2addr(l2addr, l2addr_len, iface, dst, pkt); - } + found_iface = gnrc_ndp_node_next_hop_l2addr(l2addr, l2addr_len, iface, dst, pkt); #elif !defined(MODULE_GNRC_SIXLOWPAN_ND) - iface = KERNEL_PID_UNDEF; + found_iface = KERNEL_PID_UNDEF; (void)l2addr; + (void)l2addr_len; (void)iface; (void)dst; (void)pkt; *l2addr_len = 0; #endif - return iface; + return found_iface; } static void _send(gnrc_pktsnip_t *pkt, bool prep_hdr)