xref: /linux/net/6lowpan/nhc_ghc_ext_hop.c (revision da1d9caf95def6f0320819cf941c9fd1069ba9e1)
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  *	6LoWPAN Extension Header compression according to RFC7400
4  */
5 
6 #include "nhc.h"
7 
8 #define LOWPAN_GHC_EXT_HOP_IDLEN	1
9 #define LOWPAN_GHC_EXT_HOP_ID_0		0xb0
10 #define LOWPAN_GHC_EXT_HOP_MASK_0	0xfe
11 
12 static void hop_ghid_setup(struct lowpan_nhc *nhc)
13 {
14 	nhc->id[0] = LOWPAN_GHC_EXT_HOP_ID_0;
15 	nhc->idmask[0] = LOWPAN_GHC_EXT_HOP_MASK_0;
16 }
17 
18 LOWPAN_NHC(ghc_ext_hop, "RFC7400 Hop-by-Hop Extension Header", NEXTHDR_HOP, 0,
19 	   hop_ghid_setup, LOWPAN_GHC_EXT_HOP_IDLEN, NULL, NULL);
20 
21 module_lowpan_nhc(ghc_ext_hop);
22 MODULE_DESCRIPTION("6LoWPAN generic header hop-by-hop extension compression");
23 MODULE_LICENSE("GPL");
24