Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7e568f50 authored by Stefan Schmidt's avatar Stefan Schmidt Committed by Marcel Holtmann
Browse files

6lowpan: add nhc module for GHC hop-by-hopextension header detection

parent 5e5c08cb
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -59,4 +59,10 @@ config 6LOWPAN_NHC_UDP
	---help---
	  6LoWPAN IPv6 UDP Header compression according to RFC6282.

config 6LOWPAN_GHC_EXT_HDR_HOP
	tristate "GHC Hop-by-Hop Options Header Support"
	---help---
	  6LoWPAN IPv6 Hop-by-Hop option generic header compression according
	  to RFC7400.

endif
+3 −0
Original line number Diff line number Diff line
@@ -10,3 +10,6 @@ obj-$(CONFIG_6LOWPAN_NHC_IPV6) += nhc_ipv6.o
obj-$(CONFIG_6LOWPAN_NHC_MOBILITY) += nhc_mobility.o
obj-$(CONFIG_6LOWPAN_NHC_ROUTING) += nhc_routing.o
obj-$(CONFIG_6LOWPAN_NHC_UDP) += nhc_udp.o

#rfc7400 ghcs
obj-$(CONFIG_6LOWPAN_GHC_EXT_HDR_HOP) += nhc_ghc_ext_hop.o
+27 −0
Original line number Diff line number Diff line
/*
 *	6LoWPAN Extension Header compression according to RFC7400
 *
 *	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_GHC_EXT_HOP_IDLEN	1
#define LOWPAN_GHC_EXT_HOP_ID_0		0xb0
#define LOWPAN_GHC_EXT_HOP_MASK_0	0xfe

static void hop_ghid_setup(struct lowpan_nhc *nhc)
{
	nhc->id[0] = LOWPAN_GHC_EXT_HOP_ID_0;
	nhc->idmask[0] = LOWPAN_GHC_EXT_HOP_MASK_0;
}

LOWPAN_NHC(ghc_ext_hop, "RFC7400 Hop-by-Hop Extension Header", NEXTHDR_HOP, 0,
	   hop_ghid_setup, LOWPAN_GHC_EXT_HOP_IDLEN, NULL, NULL);

module_lowpan_nhc(ghc_ext_hop);
MODULE_DESCRIPTION("6LoWPAN generic header hop-by-hop extension compression");
MODULE_LICENSE("GPL");