xref: /linux/net/6lowpan/nhc_ghc_icmpv6.c (revision a4eb44a6435d6d8f9e642407a4a06f65eb90ca04)
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  *	6LoWPAN ICMPv6 compression according to RFC7400
4  */
5 
6 #include "nhc.h"
7 
8 #define LOWPAN_GHC_ICMPV6_IDLEN		1
9 #define LOWPAN_GHC_ICMPV6_ID_0		0xdf
10 #define LOWPAN_GHC_ICMPV6_MASK_0	0xff
11 
12 static void icmpv6_ghid_setup(struct lowpan_nhc *nhc)
13 {
14 	nhc->id[0] = LOWPAN_GHC_ICMPV6_ID_0;
15 	nhc->idmask[0] = LOWPAN_GHC_ICMPV6_MASK_0;
16 }
17 
18 LOWPAN_NHC(ghc_icmpv6, "RFC7400 ICMPv6", NEXTHDR_ICMP, 0,
19 	   icmpv6_ghid_setup, LOWPAN_GHC_ICMPV6_IDLEN, NULL, NULL);
20 
21 module_lowpan_nhc(ghc_icmpv6);
22 MODULE_DESCRIPTION("6LoWPAN generic header ICMPv6 compression");
23 MODULE_LICENSE("GPL");
24