Lines Matching defs:head

33  * - the head of a "run" has the sum of all fragment lengths in frag_run_len.
221 static void inet_frag_destroy_rcu(struct rcu_head *head)
223 struct inet_frag_queue *q = container_of(head, struct inet_frag_queue,
413 struct sk_buff *fp, *head = skb_rb_first(&q->rb_fragments);
417 if (head != skb) {
429 skb_morph(skb, head);
430 FRAG_CB(skb)->next_frag = FRAG_CB(head)->next_frag;
431 rb_replace_node(&head->rbnode, &skb->rbnode,
433 consume_skb(head);
434 head = skb;
436 WARN_ON(head->ip_defrag_offset != 0);
438 delta = -head->truesize;
441 if (skb_unclone(head, GFP_ATOMIC))
444 delta += head->truesize;
452 if (skb_has_frag_list(head)) {
459 skb_shinfo(clone)->frag_list = skb_shinfo(head)->frag_list;
460 skb_frag_list_init(head);
461 for (i = 0; i < skb_shinfo(head)->nr_frags; i++)
462 plen += skb_frag_size(&skb_shinfo(head)->frags[i]);
463 clone->data_len = head->data_len - plen;
465 head->truesize += clone->truesize;
467 clone->ip_summed = head->ip_summed;
469 skb_shinfo(head)->frag_list = clone;
472 nextp = &skb_shinfo(head)->frag_list;
479 void inet_frag_reasm_finish(struct inet_frag_queue *q, struct sk_buff *head,
487 skb_push(head, head->data - skb_network_header(head));
490 fp = FRAG_CB(head)->next_frag;
491 rbn = rb_next(&head->rbnode);
492 rb_erase(&head->rbnode, &q->rb_fragments);
494 sum_truesize = head->truesize;
506 if (head->ip_summed != fp->ip_summed)
507 head->ip_summed = CHECKSUM_NONE;
508 else if (head->ip_summed == CHECKSUM_COMPLETE)
509 head->csum = csum_add(head->csum, fp->csum);
511 if (try_coalesce && skb_try_coalesce(head, fp, &stolen,
519 head->data_len += fp->len;
520 head->len += fp->len;
521 head->truesize += fp->truesize;
541 skb_mark_not_on_list(head);
542 head->prev = NULL;
543 head->tstamp = q->stamp;
549 struct sk_buff *head, *skb;
551 head = skb_rb_first(&q->rb_fragments);
552 if (!head)
554 skb = FRAG_CB(head)->next_frag;
556 rb_replace_node(&head->rbnode, &skb->rbnode,
559 rb_erase(&head->rbnode, &q->rb_fragments);
560 memset(&head->rbnode, 0, sizeof(head->rbnode));
563 if (head == q->fragments_tail)
566 sub_frag_mem_limit(q->fqdir, head->truesize);
568 return head;