Searched refs:nhc (Results 1 - 11 of 11) sorted by relevance
/linux-4.4.14/net/6lowpan/ |
H A D | nhc.c | 18 #include "nhc.h" 24 static int lowpan_nhc_insert(struct lowpan_nhc *nhc) lowpan_nhc_insert() argument 34 len_dif = nhc->idlen - this->idlen; lowpan_nhc_insert() 36 if (nhc->idlen < this->idlen) lowpan_nhc_insert() 37 len = nhc->idlen; lowpan_nhc_insert() 41 result = memcmp(nhc->id, this->id, len); lowpan_nhc_insert() 55 rb_link_node(&nhc->node, parent, new); lowpan_nhc_insert() 56 rb_insert_color(&nhc->node, &rb_root); lowpan_nhc_insert() 61 static void lowpan_nhc_remove(struct lowpan_nhc *nhc) lowpan_nhc_remove() argument 63 rb_erase(&nhc->node, &rb_root); lowpan_nhc_remove() 72 struct lowpan_nhc *nhc = container_of(node, struct lowpan_nhc, lowpan_nhc_by_nhcid() local 77 if (nhcid_skb_ptr + nhc->idlen > skb->data + skb->len) lowpan_nhc_by_nhcid() 81 memcpy(nhcid_skb_ptr_masked, nhcid_skb_ptr, nhc->idlen); lowpan_nhc_by_nhcid() 82 for (i = 0; i < nhc->idlen; i++) lowpan_nhc_by_nhcid() 83 nhcid_skb_ptr_masked[i] &= nhc->idmask[i]; lowpan_nhc_by_nhcid() 85 result = memcmp(nhcid_skb_ptr_masked, nhc->id, nhc->idlen); lowpan_nhc_by_nhcid() 91 return nhc; lowpan_nhc_by_nhcid() 100 struct lowpan_nhc *nhc; lowpan_nhc_check_compression() local 105 nhc = lowpan_nexthdr_nhcs[hdr->nexthdr]; lowpan_nhc_check_compression() 106 if (!(nhc && nhc->compress)) lowpan_nhc_check_compression() 118 struct lowpan_nhc *nhc; lowpan_nhc_do_compression() local 122 nhc = lowpan_nexthdr_nhcs[hdr->nexthdr]; lowpan_nhc_do_compression() 123 /* check if the nhc module was removed in unlocked part. lowpan_nhc_do_compression() 125 * of nhc modules while unlocked part, this will always drop lowpan_nhc_do_compression() 133 if (unlikely(!nhc || !nhc->compress)) { lowpan_nhc_do_compression() 144 ret = nhc->compress(skb, hc_ptr); lowpan_nhc_do_compression() 149 skb_pull(skb, nhc->nexthdrlen); lowpan_nhc_do_compression() 161 struct lowpan_nhc *nhc; lowpan_nhc_do_uncompression() local 166 nhc = lowpan_nhc_by_nhcid(skb); lowpan_nhc_do_uncompression() 167 if (nhc) { lowpan_nhc_do_uncompression() 168 if (nhc->uncompress) { lowpan_nhc_do_uncompression() 169 ret = nhc->uncompress(skb, sizeof(struct ipv6hdr) + lowpan_nhc_do_uncompression() 170 nhc->nexthdrlen); lowpan_nhc_do_uncompression() 177 netdev_warn(dev, "received nhc id for %s which is not implemented.\n", lowpan_nhc_do_uncompression() 178 nhc->name); lowpan_nhc_do_uncompression() 183 netdev_warn(dev, "received unknown nhc id which was not found.\n"); lowpan_nhc_do_uncompression() 187 hdr->nexthdr = nhc->nexthdr; lowpan_nhc_do_uncompression() 190 skb_transport_header(skb), nhc->nexthdrlen); lowpan_nhc_do_uncompression() 197 int lowpan_nhc_add(struct lowpan_nhc *nhc) lowpan_nhc_add() argument 201 if (!nhc->idlen || !nhc->idsetup) lowpan_nhc_add() 204 WARN_ONCE(nhc->idlen > LOWPAN_NHC_MAX_ID_LEN, lowpan_nhc_add() 206 nhc->idlen); lowpan_nhc_add() 208 nhc->idsetup(nhc); lowpan_nhc_add() 212 if (lowpan_nexthdr_nhcs[nhc->nexthdr]) { lowpan_nhc_add() 217 ret = lowpan_nhc_insert(nhc); lowpan_nhc_add() 221 lowpan_nexthdr_nhcs[nhc->nexthdr] = nhc; lowpan_nhc_add() 228 void lowpan_nhc_del(struct lowpan_nhc *nhc) lowpan_nhc_del() argument 232 lowpan_nhc_remove(nhc); lowpan_nhc_del() 233 lowpan_nexthdr_nhcs[nhc->nexthdr] = NULL; lowpan_nhc_del()
|
H A D | nhc_dest.c | 11 #include "nhc.h" 17 static void dest_nhid_setup(struct lowpan_nhc *nhc) dest_nhid_setup() argument 19 nhc->id[0] = LOWPAN_NHC_DEST_ID_0; dest_nhid_setup() 20 nhc->idmask[0] = LOWPAN_NHC_DEST_MASK_0; dest_nhid_setup()
|
H A D | nhc_fragment.c | 10 #include "nhc.h" 16 static void fragment_nhid_setup(struct lowpan_nhc *nhc) fragment_nhid_setup() argument 18 nhc->id[0] = LOWPAN_NHC_FRAGMENT_ID_0; fragment_nhid_setup() 19 nhc->idmask[0] = LOWPAN_NHC_FRAGMENT_MASK_0; fragment_nhid_setup()
|
H A D | nhc_hop.c | 10 #include "nhc.h" 16 static void hop_nhid_setup(struct lowpan_nhc *nhc) hop_nhid_setup() argument 18 nhc->id[0] = LOWPAN_NHC_HOP_ID_0; hop_nhid_setup() 19 nhc->idmask[0] = LOWPAN_NHC_HOP_MASK_0; hop_nhid_setup()
|
H A D | nhc_ipv6.c | 10 #include "nhc.h" 16 static void ipv6_nhid_setup(struct lowpan_nhc *nhc) ipv6_nhid_setup() argument 18 nhc->id[0] = LOWPAN_NHC_IPV6_ID_0; ipv6_nhid_setup() 19 nhc->idmask[0] = LOWPAN_NHC_IPV6_MASK_0; ipv6_nhid_setup()
|
H A D | nhc_mobility.c | 10 #include "nhc.h" 16 static void mobility_nhid_setup(struct lowpan_nhc *nhc) mobility_nhid_setup() argument 18 nhc->id[0] = LOWPAN_NHC_MOBILITY_ID_0; mobility_nhid_setup() 19 nhc->idmask[0] = LOWPAN_NHC_MOBILITY_MASK_0; mobility_nhid_setup()
|
H A D | nhc_routing.c | 10 #include "nhc.h" 16 static void routing_nhid_setup(struct lowpan_nhc *nhc) routing_nhid_setup() argument 18 nhc->id[0] = LOWPAN_NHC_ROUTING_ID_0; routing_nhid_setup() 19 nhc->idmask[0] = LOWPAN_NHC_ROUTING_MASK_0; routing_nhid_setup()
|
H A D | nhc.h | 59 * @id: array for nhc id. Note this need to be in network byteorder. 60 * @mask: array for nhc id mask. Note this need to be in network byteorder. 75 void (*idsetup)(struct lowpan_nhc *nhc); 81 * lowpan_nhc_by_nexthdr - return the 6lowpan nhc by ipv6 nexthdr. 89 * we support the nhc by nexthdr field, the function will return 0. If we 90 * don't support the nhc by nexthdr this function will return -ENOENT. 92 * @skb: skb of 6LoWPAN header to read nhc and replace header. 101 * lowpan_nhc_do_compression - calling compress callback for nhc 103 * @skb: skb of 6LoWPAN header to read nhc and replace header. 112 * lowpan_nhc_do_uncompression - calling uncompress callback for nhc 114 * @nhc: 6LoWPAN nhc context, get by lowpan_nhc_by_ functions. 115 * @skb: skb of 6LoWPAN header, skb->data should be pointed to nhc id value. 126 * @nhc: nhc which should be add. 128 int lowpan_nhc_add(struct lowpan_nhc *nhc); 133 * @nhc: nhc which should be delete. 135 void lowpan_nhc_del(struct lowpan_nhc *nhc);
|
H A D | Makefile | 3 6lowpan-y := core.o iphc.o nhc.o
|
H A D | nhc_udp.c | 18 #include "nhc.h" 177 static void udp_nhid_setup(struct lowpan_nhc *nhc) udp_nhid_setup() argument 179 nhc->id[0] = LOWPAN_NHC_UDP_ID; udp_nhid_setup() 180 nhc->idmask[0] = LOWPAN_NHC_UDP_MASK; udp_nhid_setup()
|
H A D | iphc.c | 59 #include "nhc.h" 785 /* Check if we provide the nhc format for nexthdr and compression lowpan_header_compress()
|
Completed in 114 milliseconds