Lines Matching refs:head_skb

3505 struct sk_buff *skb_segment(struct sk_buff *head_skb,  in skb_segment()  argument
3510 struct sk_buff *list_skb = skb_shinfo(head_skb)->frag_list; in skb_segment()
3511 skb_frag_t *frag = skb_shinfo(head_skb)->frags; in skb_segment()
3512 unsigned int mss = skb_shinfo(head_skb)->gso_size; in skb_segment()
3513 unsigned int doffset = head_skb->data - skb_mac_header(head_skb); in skb_segment()
3514 struct sk_buff *frag_skb = head_skb; in skb_segment()
3516 unsigned int tnl_hlen = skb_tnl_header_len(head_skb); in skb_segment()
3519 unsigned int len = head_skb->len; in skb_segment()
3522 int nfrags = skb_shinfo(head_skb)->nr_frags; in skb_segment()
3528 __skb_push(head_skb, doffset); in skb_segment()
3529 proto = skb_network_protocol(head_skb, &dummy); in skb_segment()
3542 !net_gso_ok(features, skb_shinfo(head_skb)->gso_type)) in skb_segment()
3554 skb_walk_frags(head_skb, iter) { in skb_segment()
3579 headroom = skb_headroom(head_skb); in skb_segment()
3580 pos = skb_headlen(head_skb); in skb_segment()
3591 len = head_skb->len - offset; in skb_segment()
3596 hsize = skb_headlen(head_skb) - offset; in skb_segment()
3646 GFP_ATOMIC, skb_alloc_rx_flag(head_skb), in skb_segment()
3662 __copy_skb_header(nskb, head_skb); in skb_segment()
3667 skb_copy_from_linear_data_offset(head_skb, -tnl_hlen, in skb_segment()
3678 skb_copy_and_csum_bits(head_skb, offset, in skb_segment()
3688 skb_copy_from_linear_data_offset(head_skb, offset, in skb_segment()
3691 skb_shinfo(nskb)->tx_flags |= skb_shinfo(head_skb)->tx_flags & in skb_segment()
3772 } while ((offset += len) < head_skb->len); in skb_segment()
3782 int type = skb_shinfo(head_skb)->gso_type; in skb_segment()
3783 unsigned short gso_size = skb_shinfo(head_skb)->gso_size; in skb_segment()
3809 if (head_skb->destructor == sock_wfree) { in skb_segment()
3810 swap(tail->truesize, head_skb->truesize); in skb_segment()
3811 swap(tail->destructor, head_skb->destructor); in skb_segment()
3812 swap(tail->sk, head_skb->sk); in skb_segment()