diff options
author | Stefan Schmidt <stefan@osg.samsung.com> | 2015-12-09 16:46:28 -0500 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2015-12-09 19:25:25 -0500 |
commit | 43f26e17d02f5c772cedc3ee16b192ed79764474 (patch) | |
tree | da2a89ec0536b0ec1038bf9259fb9357db30ee2d /net/6lowpan | |
parent | 2f4799478c94928802c79edd12711a0e9e8b6f1b (diff) |
6lowpan: add nhc module for GHC routing extension header detection
Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Stefan Schmidt <stefan@osg.samsung.com>
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/6lowpan')
-rw-r--r-- | net/6lowpan/Kconfig | 6 | ||||
-rw-r--r-- | net/6lowpan/Makefile | 1 | ||||
-rw-r--r-- | net/6lowpan/nhc_ghc_ext_route.c | 27 |
3 files changed, 34 insertions, 0 deletions
diff --git a/net/6lowpan/Kconfig b/net/6lowpan/Kconfig index 13abcc56eae6..bcb9d8a21fc0 100644 --- a/net/6lowpan/Kconfig +++ b/net/6lowpan/Kconfig | |||
@@ -87,4 +87,10 @@ config 6LOWPAN_GHC_EXT_HDR_FRAG | |||
87 | 6LoWPAN IPv6 fragmentation option generic header compression | 87 | 6LoWPAN IPv6 fragmentation option generic header compression |
88 | according to RFC7400. | 88 | according to RFC7400. |
89 | 89 | ||
90 | config 6LOWPAN_GHC_EXT_HDR_ROUTE | ||
91 | tristate "GHC Routing Options Header Support" | ||
92 | ---help--- | ||
93 | 6LoWPAN IPv6 routing option generic header compression according | ||
94 | to RFC7400. | ||
95 | |||
90 | endif | 96 | endif |
diff --git a/net/6lowpan/Makefile b/net/6lowpan/Makefile index fb3f48d78604..9e35a5d7b92d 100644 --- a/net/6lowpan/Makefile +++ b/net/6lowpan/Makefile | |||
@@ -17,3 +17,4 @@ obj-$(CONFIG_6LOWPAN_GHC_UDP) += nhc_ghc_udp.o | |||
17 | obj-$(CONFIG_6LOWPAN_GHC_ICMPV6) += nhc_ghc_icmpv6.o | 17 | obj-$(CONFIG_6LOWPAN_GHC_ICMPV6) += nhc_ghc_icmpv6.o |
18 | obj-$(CONFIG_6LOWPAN_GHC_EXT_HDR_DEST) += nhc_ghc_ext_dest.o | 18 | obj-$(CONFIG_6LOWPAN_GHC_EXT_HDR_DEST) += nhc_ghc_ext_dest.o |
19 | obj-$(CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG) += nhc_ghc_ext_frag.o | 19 | obj-$(CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG) += nhc_ghc_ext_frag.o |
20 | obj-$(CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE) += nhc_ghc_ext_route.o | ||
diff --git a/net/6lowpan/nhc_ghc_ext_route.c b/net/6lowpan/nhc_ghc_ext_route.c new file mode 100644 index 000000000000..d7e5bd791c62 --- /dev/null +++ b/net/6lowpan/nhc_ghc_ext_route.c | |||
@@ -0,0 +1,27 @@ | |||
1 | /* | ||
2 | * 6LoWPAN Extension Header compression according to RFC7400 | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation; either version | ||
7 | * 2 of the License, or (at your option) any later version. | ||
8 | */ | ||
9 | |||
10 | #include "nhc.h" | ||
11 | |||
12 | #define LOWPAN_GHC_EXT_ROUTE_IDLEN 1 | ||
13 | #define LOWPAN_GHC_EXT_ROUTE_ID_0 0xb2 | ||
14 | #define LOWPAN_GHC_EXT_ROUTE_MASK_0 0xfe | ||
15 | |||
16 | static void route_ghid_setup(struct lowpan_nhc *nhc) | ||
17 | { | ||
18 | nhc->id[0] = LOWPAN_GHC_EXT_ROUTE_ID_0; | ||
19 | nhc->idmask[0] = LOWPAN_GHC_EXT_ROUTE_MASK_0; | ||
20 | } | ||
21 | |||
22 | LOWPAN_NHC(ghc_ext_route, "RFC7400 Routing Extension Header", NEXTHDR_ROUTING, | ||
23 | 0, route_ghid_setup, LOWPAN_GHC_EXT_ROUTE_IDLEN, NULL, NULL); | ||
24 | |||
25 | module_lowpan_nhc(ghc_ext_route); | ||
26 | MODULE_DESCRIPTION("6LoWPAN generic header routing extension compression"); | ||
27 | MODULE_LICENSE("GPL"); | ||