xref: /openbmc/linux/net/6lowpan/nhc_ghc_icmpv6.c (revision 78700c0a)
1 /*
2  *	6LoWPAN ICMPv6 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_ICMPV6_IDLEN		1
13 #define LOWPAN_GHC_ICMPV6_ID_0		0xdf
14 #define LOWPAN_GHC_ICMPV6_MASK_0	0xff
15 
16 static void icmpv6_ghid_setup(struct lowpan_nhc *nhc)
17 {
18 	nhc->id[0] = LOWPAN_GHC_ICMPV6_ID_0;
19 	nhc->idmask[0] = LOWPAN_GHC_ICMPV6_MASK_0;
20 }
21 
22 LOWPAN_NHC(ghc_icmpv6, "RFC7400 ICMPv6", NEXTHDR_ICMP, 0,
23 	   icmpv6_ghid_setup, LOWPAN_GHC_ICMPV6_IDLEN, NULL, NULL);
24 
25 module_lowpan_nhc(ghc_icmpv6);
26 MODULE_DESCRIPTION("6LoWPAN generic header ICMPv6 compression");
27 MODULE_LICENSE("GPL");
28