Lines Matching refs:skb

64 static int uncompress_addr(struct sk_buff *skb,  in uncompress_addr()  argument
74 fail = lowpan_fetch_skb(skb, ipaddr->s6_addr, 16); in uncompress_addr()
80 fail = lowpan_fetch_skb(skb, &ipaddr->s6_addr[8], 8); in uncompress_addr()
88 fail = lowpan_fetch_skb(skb, &ipaddr->s6_addr[14], 2); in uncompress_addr()
143 static int uncompress_context_based_src_addr(struct sk_buff *skb, in uncompress_context_based_src_addr() argument
159 netdev_warn(skb->dev, "SAM value 0x%x not supported\n", sam); in uncompress_context_based_src_addr()
176 static int lowpan_uncompress_multicast_daddr(struct sk_buff *skb, in lowpan_uncompress_multicast_daddr() argument
187 fail = lowpan_fetch_skb(skb, ipaddr->s6_addr, 16); in lowpan_uncompress_multicast_daddr()
194 fail = lowpan_fetch_skb(skb, &ipaddr->s6_addr[1], 1); in lowpan_uncompress_multicast_daddr()
195 fail |= lowpan_fetch_skb(skb, &ipaddr->s6_addr[11], 5); in lowpan_uncompress_multicast_daddr()
202 fail = lowpan_fetch_skb(skb, &ipaddr->s6_addr[1], 1); in lowpan_uncompress_multicast_daddr()
203 fail |= lowpan_fetch_skb(skb, &ipaddr->s6_addr[13], 3); in lowpan_uncompress_multicast_daddr()
211 fail = lowpan_fetch_skb(skb, &ipaddr->s6_addr[15], 1); in lowpan_uncompress_multicast_daddr()
233 lowpan_header_decompress(struct sk_buff *skb, struct net_device *dev, in lowpan_header_decompress() argument
244 skb->data, skb->len); in lowpan_header_decompress()
249 if (lowpan_fetch_skb(skb, &num_context, sizeof(num_context))) in lowpan_header_decompress()
261 if (lowpan_fetch_skb(skb, &tmp, sizeof(tmp))) in lowpan_header_decompress()
264 memcpy(&hdr.flow_lbl, &skb->data[0], 3); in lowpan_header_decompress()
265 skb_pull(skb, 3); in lowpan_header_decompress()
274 if (lowpan_fetch_skb(skb, &tmp, sizeof(tmp))) in lowpan_header_decompress()
284 if (lowpan_fetch_skb(skb, &tmp, sizeof(tmp))) in lowpan_header_decompress()
287 hdr.flow_lbl[0] = (skb->data[0] & 0x0F) | ((tmp >> 2) & 0x30); in lowpan_header_decompress()
288 memcpy(&hdr.flow_lbl[1], &skb->data[0], 2); in lowpan_header_decompress()
289 skb_pull(skb, 2); in lowpan_header_decompress()
301 if (lowpan_fetch_skb(skb, &hdr.nexthdr, sizeof(hdr.nexthdr))) in lowpan_header_decompress()
312 if (lowpan_fetch_skb(skb, &hdr.hop_limit, in lowpan_header_decompress()
323 err = uncompress_context_based_src_addr(skb, &hdr.saddr, tmp); in lowpan_header_decompress()
327 err = uncompress_addr(skb, &hdr.saddr, tmp, saddr, in lowpan_header_decompress()
344 err = lowpan_uncompress_multicast_daddr(skb, &hdr.daddr, in lowpan_header_decompress()
351 err = uncompress_addr(skb, &hdr.daddr, tmp, daddr, in lowpan_header_decompress()
361 err = lowpan_nhc_do_uncompression(skb, dev, &hdr); in lowpan_header_decompress()
365 err = skb_cow(skb, sizeof(hdr)); in lowpan_header_decompress()
370 hdr.payload_len = htons(skb->len); in lowpan_header_decompress()
373 skb_headroom(skb), skb->len); in lowpan_header_decompress()
380 skb_push(skb, sizeof(hdr)); in lowpan_header_decompress()
381 skb_reset_network_header(skb); in lowpan_header_decompress()
382 skb_copy_to_linear_data(skb, &hdr, sizeof(hdr)); in lowpan_header_decompress()
416 int lowpan_header_compress(struct sk_buff *skb, struct net_device *dev, in lowpan_header_compress() argument
428 hdr = ipv6_hdr(skb); in lowpan_header_compress()
437 skb_network_header(skb), sizeof(struct ipv6hdr)); in lowpan_header_compress()
455 skb->data, skb->len); in lowpan_header_compress()
503 ret = lowpan_nhc_check_compression(skb, hdr, &hc_ptr, &iphc0); in lowpan_header_compress()
593 ret = lowpan_nhc_do_compression(skb, hdr, &hc_ptr); in lowpan_header_compress()
601 skb_pull(skb, sizeof(struct ipv6hdr)); in lowpan_header_compress()
602 skb_reset_transport_header(skb); in lowpan_header_compress()
603 memcpy(skb_push(skb, hc_ptr - head), head, hc_ptr - head); in lowpan_header_compress()
604 skb_reset_network_header(skb); in lowpan_header_compress()
606 pr_debug("header len %d skb %u\n", (int)(hc_ptr - head), skb->len); in lowpan_header_compress()
609 skb->data, skb->len); in lowpan_header_compress()