mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-25 06:23:53 +01:00
Merge pull request #3499 from authmillenon/ng_ipv6/enh/send-dispatch-for-6lowpan
ng_ipv6: use ng_netapi_dispatch_send to dispatch to 6LoWPAN
This commit is contained in:
commit
199736d8db
@ -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 */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user