aboutsummaryrefslogtreecommitdiffstats
path: root/net/6lowpan/nhc_ipv6.c
diff options
context:
space:
mode:
authorAlexander Aring <alex.aring@gmail.com>2015-01-09 16:42:59 +0100
committerMarcel Holtmann <marcel@holtmann.org>2015-02-14 23:08:44 +0100
commitff0fcc2987b42857d233e8a72c7476fb1e520110 (patch)
tree8f5c5f0e10a832de8a6f8869e831614264ff7584 /net/6lowpan/nhc_ipv6.c
parent6lowpan: add udp compression via nhc layer (diff)
downloadlinux-dev-ff0fcc2987b42857d233e8a72c7476fb1e520110.tar.xz
linux-dev-ff0fcc2987b42857d233e8a72c7476fb1e520110.zip
6lowpan: nhc: add other known rfc6282 compressions
This patch adds other known rfc6282 compression formats to the nhc framework. These compression formats are known but not implemented yet. For now this is useful to printout a warning which compression format isn't supported. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Cc: Martin Townsend <mtownsend1973@gmail.com> Reviewed-by: Stefan Schmidt <s.schmidt@samsung.com> Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/6lowpan/nhc_ipv6.c')
-rw-r--r--net/6lowpan/nhc_ipv6.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/net/6lowpan/nhc_ipv6.c b/net/6lowpan/nhc_ipv6.c
new file mode 100644
index 000000000000..2313d1600af3
--- /dev/null
+++ b/net/6lowpan/nhc_ipv6.c
@@ -0,0 +1,27 @@
+/*
+ * 6LoWPAN IPv6 Header compression according to RFC6282
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ */
+
+#include "nhc.h"
+
+#define LOWPAN_NHC_IPV6_IDLEN 1
+#define LOWPAN_NHC_IPV6_ID_0 0xee
+#define LOWPAN_NHC_IPV6_MASK_0 0xfe
+
+static void ipv6_nhid_setup(struct lowpan_nhc *nhc)
+{
+ nhc->id[0] = LOWPAN_NHC_IPV6_ID_0;
+ nhc->idmask[0] = LOWPAN_NHC_IPV6_MASK_0;
+}
+
+LOWPAN_NHC(nhc_ipv6, "RFC6282 IPv6", NEXTHDR_IPV6, 0, ipv6_nhid_setup,
+ LOWPAN_NHC_IPV6_IDLEN, NULL, NULL);
+
+module_lowpan_nhc(nhc_ipv6);
+MODULE_DESCRIPTION("6LoWPAN next header RFC6282 IPv6 compression");
+MODULE_LICENSE("GPL");