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