diff --git a/sys/net/network_layer/ng_ipv6/ng_ipv6.c b/sys/net/network_layer/ng_ipv6/ng_ipv6.c index 328d7f5ebb..6d6b5bea0f 100644 --- a/sys/net/network_layer/ng_ipv6/ng_ipv6.c +++ b/sys/net/network_layer/ng_ipv6/ng_ipv6.c @@ -66,7 +66,7 @@ kernel_pid_t ng_ipv6_init(void) { if (ng_ipv6_pid == KERNEL_PID_UNDEF) { ng_ipv6_pid = thread_create(_stack, sizeof(_stack), NG_IPV6_PRIO, - CREATE_STACKTEST, _event_loop, NULL, "ipv6"); + CREATE_STACKTEST, _event_loop, NULL, "ipv6"); } return ng_ipv6_pid; @@ -201,20 +201,9 @@ static void _send_to_iface(kernel_pid_t iface, ng_pktsnip_t *pkt) if ((if_entry != NULL) && (if_entry->flags & NG_IPV6_NETIF_FLAGS_SIXLOWPAN)) { DEBUG("ipv6: send to 6LoWPAN instead\n"); - ng_netreg_entry_t *reg = ng_netreg_lookup(NG_NETTYPE_SIXLOWPAN, - NG_NETREG_DEMUX_CTX_ALL); - - if (reg != NULL) { - ng_pktbuf_hold(pkt, ng_netreg_num(NG_NETTYPE_SIXLOWPAN, - NG_NETREG_DEMUX_CTX_ALL) - 1); - } - else { + if (!ng_netapi_dispatch_send(NG_NETTYPE_SIXLOWPAN, NG_NETREG_DEMUX_CTX_ALL, pkt)) { DEBUG("ipv6: no 6LoWPAN thread found"); - } - - while (reg) { - ng_netapi_send(reg->pid, pkt); - reg = ng_netreg_getnext(reg); + ng_pktbuf_release(pkt); } } else { @@ -343,7 +332,7 @@ static int _fill_ipv6_hdr(kernel_pid_t iface, ng_pktsnip_t *ipv6, } static inline void _send_multicast_over_iface(kernel_pid_t iface, ng_pktsnip_t *pkt, - ng_pktsnip_t *netif) + ng_pktsnip_t *netif) { DEBUG("ipv6: send multicast over interface %" PRIkernel_pid "\n", iface); /* mark as multicast */