18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * 6LoWPAN IPv6 Routing Header compression according to RFC6282 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#include "nhc.h" 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#define LOWPAN_NHC_ROUTING_IDLEN 1 98c2ecf20Sopenharmony_ci#define LOWPAN_NHC_ROUTING_ID_0 0xe2 108c2ecf20Sopenharmony_ci#define LOWPAN_NHC_ROUTING_MASK_0 0xfe 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cistatic void routing_nhid_setup(struct lowpan_nhc *nhc) 138c2ecf20Sopenharmony_ci{ 148c2ecf20Sopenharmony_ci nhc->id[0] = LOWPAN_NHC_ROUTING_ID_0; 158c2ecf20Sopenharmony_ci nhc->idmask[0] = LOWPAN_NHC_ROUTING_MASK_0; 168c2ecf20Sopenharmony_ci} 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciLOWPAN_NHC(nhc_routing, "RFC6282 Routing", NEXTHDR_ROUTING, 0, 198c2ecf20Sopenharmony_ci routing_nhid_setup, LOWPAN_NHC_ROUTING_IDLEN, NULL, NULL); 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_cimodule_lowpan_nhc(nhc_routing); 228c2ecf20Sopenharmony_ciMODULE_DESCRIPTION("6LoWPAN next header RFC6282 Routing compression"); 238c2ecf20Sopenharmony_ciMODULE_LICENSE("GPL"); 24