diff options
author | Stefan Schmidt <stefan@osg.samsung.com> | 2015-12-09 16:46:23 -0500 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2015-12-09 19:25:24 -0500 |
commit | 7e568f50c19c731938fee24a0f048f35120080f3 (patch) | |
tree | c8eebf5817e5457dcfc3687eafcccbe6a580074c /net/6lowpan | |
parent | 5e5c08cbee7d75d026ff50a5051f2ed19b4ba301 (diff) |
6lowpan: add nhc module for GHC hop-by-hopextension 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 | 3 | ||||
-rw-r--r-- | net/6lowpan/nhc_ghc_ext_hop.c | 27 |
3 files changed, 36 insertions, 0 deletions
diff --git a/net/6lowpan/Kconfig b/net/6lowpan/Kconfig index 6af7a4686060..1bd49ebb1789 100644 --- a/net/6lowpan/Kconfig +++ b/net/6lowpan/Kconfig | |||
@@ -59,4 +59,10 @@ config 6LOWPAN_NHC_UDP | |||
59 | ---help--- | 59 | ---help--- |
60 | 6LoWPAN IPv6 UDP Header compression according to RFC6282. | 60 | 6LoWPAN IPv6 UDP Header compression according to RFC6282. |
61 | 61 | ||
62 | config 6LOWPAN_GHC_EXT_HDR_HOP | ||
63 | tristate "GHC Hop-by-Hop Options Header Support" | ||
64 | ---help--- | ||
65 | 6LoWPAN IPv6 Hop-by-Hop option generic header compression according | ||
66 | to RFC7400. | ||
67 | |||
62 | endif | 68 | endif |
diff --git a/net/6lowpan/Makefile b/net/6lowpan/Makefile index c6ffc55ee0d7..ba20e01b3e42 100644 --- a/net/6lowpan/Makefile +++ b/net/6lowpan/Makefile | |||
@@ -10,3 +10,6 @@ obj-$(CONFIG_6LOWPAN_NHC_IPV6) += nhc_ipv6.o | |||
10 | obj-$(CONFIG_6LOWPAN_NHC_MOBILITY) += nhc_mobility.o | 10 | obj-$(CONFIG_6LOWPAN_NHC_MOBILITY) += nhc_mobility.o |
11 | obj-$(CONFIG_6LOWPAN_NHC_ROUTING) += nhc_routing.o | 11 | obj-$(CONFIG_6LOWPAN_NHC_ROUTING) += nhc_routing.o |
12 | obj-$(CONFIG_6LOWPAN_NHC_UDP) += nhc_udp.o | 12 | obj-$(CONFIG_6LOWPAN_NHC_UDP) += nhc_udp.o |
13 | |||
14 | #rfc7400 ghcs | ||
15 | obj-$(CONFIG_6LOWPAN_GHC_EXT_HDR_HOP) += nhc_ghc_ext_hop.o | ||
diff --git a/net/6lowpan/nhc_ghc_ext_hop.c b/net/6lowpan/nhc_ghc_ext_hop.c new file mode 100644 index 000000000000..baec86fd1974 --- /dev/null +++ b/net/6lowpan/nhc_ghc_ext_hop.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_HOP_IDLEN 1 | ||
13 | #define LOWPAN_GHC_EXT_HOP_ID_0 0xb0 | ||
14 | #define LOWPAN_GHC_EXT_HOP_MASK_0 0xfe | ||
15 | |||
16 | static void hop_ghid_setup(struct lowpan_nhc *nhc) | ||
17 | { | ||
18 | nhc->id[0] = LOWPAN_GHC_EXT_HOP_ID_0; | ||
19 | nhc->idmask[0] = LOWPAN_GHC_EXT_HOP_MASK_0; | ||
20 | } | ||
21 | |||
22 | LOWPAN_NHC(ghc_ext_hop, "RFC7400 Hop-by-Hop Extension Header", NEXTHDR_HOP, 0, | ||
23 | hop_ghid_setup, LOWPAN_GHC_EXT_HOP_IDLEN, NULL, NULL); | ||
24 | |||
25 | module_lowpan_nhc(ghc_ext_hop); | ||
26 | MODULE_DESCRIPTION("6LoWPAN generic header hop-by-hop extension compression"); | ||
27 | MODULE_LICENSE("GPL"); | ||