From 79de5ae6e655f3a85f0760c96d3e636861e8299e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cenk=20G=C3=BCndo=C4=9Fan?= <mail-github@cgundogan.de>
Date: Tue, 13 Nov 2018 09:45:09 +0100
Subject: [PATCH] sixlowpan: minor fixes for non-ipv6 usage

---
 .../gnrc/network_layer/sixlowpan/gnrc_sixlowpan.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/sys/net/gnrc/network_layer/sixlowpan/gnrc_sixlowpan.c b/sys/net/gnrc/network_layer/sixlowpan/gnrc_sixlowpan.c
index 258a292a38..d88133fb70 100644
--- a/sys/net/gnrc/network_layer/sixlowpan/gnrc_sixlowpan.c
+++ b/sys/net/gnrc/network_layer/sixlowpan/gnrc_sixlowpan.c
@@ -67,7 +67,7 @@ void gnrc_sixlowpan_dispatch_recv(gnrc_pktsnip_t *pkt, void *context,
 
     (void)context;
     (void)page;
-#ifdef MODULE_CCNLITE
+#ifndef MODULE_GNRC_IPV6
     type = GNRC_NETTYPE_UNDEF;
     for (gnrc_pktsnip_t *ptr = pkt; (ptr || (type == GNRC_NETTYPE_UNDEF));
          ptr = ptr->next) {
@@ -75,11 +75,10 @@ void gnrc_sixlowpan_dispatch_recv(gnrc_pktsnip_t *pkt, void *context,
             type = ptr->type;
         }
     }
-    assert(network_snip);
-#else   /* MODULE_CCNLITE */
+#else   /* MODULE_GNRC_IPV6 */
     /* just assume normal IPv6 traffic */
     type = GNRC_NETTYPE_IPV6;
-#endif  /* MODULE_CCNLITE */
+#endif  /* MODULE_GNRC_IPV6 */
     if (!gnrc_netapi_dispatch_receive(type,
                                       GNRC_NETREG_DEMUX_CTX_ALL, pkt)) {
         DEBUG("6lo: No receivers for this packet found\n");
@@ -200,7 +199,13 @@ static void _receive(gnrc_pktsnip_t *pkt)
         }
 
         pkt = gnrc_pktbuf_remove_snip(pkt, sixlowpan);
+#if defined(MODULE_CCN_LITE)
+        payload->type = GNRC_NETTYPE_CCN;
+#elif defined(MODULE_GNRC_IPV6)
         payload->type = GNRC_NETTYPE_IPV6;
+#else
+        payload->type = GNRC_NETTYPE_UNDEF;
+#endif
     }
 #ifdef MODULE_GNRC_SIXLOWPAN_FRAG
     else if (sixlowpan_frag_is((sixlowpan_frag_t *)dispatch)) {
@@ -257,11 +262,13 @@ static void _send(gnrc_pktsnip_t *pkt)
         return;
     }
 
+#ifdef MODULE_GNRC_IPV6
     if ((pkt->next == NULL) || (pkt->next->type != GNRC_NETTYPE_IPV6)) {
         DEBUG("6lo: Sending packet has no IPv6 header\n");
         gnrc_pktbuf_release(pkt);
         return;
     }
+#endif
 
     tmp = gnrc_pktbuf_start_write(pkt);
 
-- 
GitLab