Lines Matching refs:head

381 	struct sk_buff *fp, *head = fq->q.fragments;
393 /* Make the one we just received the head. */
395 head = prev->next;
396 fp = skb_clone(head, GFP_ATOMIC);
401 fp->next = head->next;
406 skb_morph(head, fq->q.fragments);
407 head->next = fq->q.fragments->next;
410 fq->q.fragments = head;
413 WARN_ON(head == NULL);
414 WARN_ON(FRAG6_CB(head)->offset != 0);
417 payload_len = ((head->data - skb_network_header(head)) -
424 if (skb_unclone(head, GFP_ATOMIC))
430 if (skb_has_frag_list(head)) {
436 clone->next = head->next;
437 head->next = clone;
438 skb_shinfo(clone)->frag_list = skb_shinfo(head)->frag_list;
439 skb_frag_list_init(head);
440 for (i = 0; i < skb_shinfo(head)->nr_frags; i++)
441 plen += skb_frag_size(&skb_shinfo(head)->frags[i]);
442 clone->len = clone->data_len = head->data_len - plen;
443 head->data_len -= clone->len;
444 head->len -= clone->len;
446 clone->ip_summed = head->ip_summed;
453 skb_network_header(head)[nhoff] = skb_transport_header(head)[0];
454 memmove(head->head + sizeof(struct frag_hdr), head->head,
455 (head->data - head->head) - sizeof(struct frag_hdr));
456 head->mac_header += sizeof(struct frag_hdr);
457 head->network_header += sizeof(struct frag_hdr);
459 skb_reset_transport_header(head);
460 skb_push(head, head->data - skb_network_header(head));
462 sum_truesize = head->truesize;
463 for (fp = head->next; fp;) {
469 if (head->ip_summed != fp->ip_summed)
470 head->ip_summed = CHECKSUM_NONE;
471 else if (head->ip_summed == CHECKSUM_COMPLETE)
472 head->csum = csum_add(head->csum, fp->csum);
474 if (skb_try_coalesce(head, fp, &headstolen, &delta)) {
477 if (!skb_shinfo(head)->frag_list)
478 skb_shinfo(head)->frag_list = fp;
479 head->data_len += fp->len;
480 head->len += fp->len;
481 head->truesize += fp->truesize;
487 head->next = NULL;
488 head->dev = dev;
489 head->tstamp = fq->q.stamp;
490 ipv6_hdr(head)->payload_len = htons(payload_len);
491 ipv6_change_dsfield(ipv6_hdr(head), 0xff, ecn);
492 IP6CB(head)->nhoff = nhoff;
495 if (head->ip_summed == CHECKSUM_COMPLETE)
496 head->csum = csum_partial(skb_network_header(head),
497 skb_network_header_len(head),
498 head->csum);