18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * 6LoWPAN Extension Header compression according to RFC7400 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#include "nhc.h" 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#define LOWPAN_GHC_EXT_FRAG_IDLEN 1 98c2ecf20Sopenharmony_ci#define LOWPAN_GHC_EXT_FRAG_ID_0 0xb4 108c2ecf20Sopenharmony_ci#define LOWPAN_GHC_EXT_FRAG_MASK_0 0xfe 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cistatic void frag_ghid_setup(struct lowpan_nhc *nhc) 138c2ecf20Sopenharmony_ci{ 148c2ecf20Sopenharmony_ci nhc->id[0] = LOWPAN_GHC_EXT_FRAG_ID_0; 158c2ecf20Sopenharmony_ci nhc->idmask[0] = LOWPAN_GHC_EXT_FRAG_MASK_0; 168c2ecf20Sopenharmony_ci} 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciLOWPAN_NHC(ghc_ext_frag, "RFC7400 Fragmentation Extension Header", 198c2ecf20Sopenharmony_ci NEXTHDR_FRAGMENT, 0, frag_ghid_setup, 208c2ecf20Sopenharmony_ci LOWPAN_GHC_EXT_FRAG_IDLEN, NULL, NULL); 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_cimodule_lowpan_nhc(ghc_ext_frag); 238c2ecf20Sopenharmony_ciMODULE_DESCRIPTION("6LoWPAN generic header fragmentation extension compression"); 248c2ecf20Sopenharmony_ciMODULE_LICENSE("GPL"); 25