Lines Matching refs:head_skb
3819 struct sk_buff *skb_segment(struct sk_buff *head_skb, in skb_segment() argument
3824 struct sk_buff *list_skb = skb_shinfo(head_skb)->frag_list; in skb_segment()
3825 unsigned int mss = skb_shinfo(head_skb)->gso_size; in skb_segment()
3826 unsigned int doffset = head_skb->data - skb_mac_header(head_skb); in skb_segment()
3828 unsigned int tnl_hlen = skb_tnl_header_len(head_skb); in skb_segment()
3831 unsigned int len = head_skb->len; in skb_segment()
3840 if ((skb_shinfo(head_skb)->gso_type & SKB_GSO_DODGY) && in skb_segment()
3841 mss != GSO_BY_FRAGS && mss != skb_headlen(head_skb)) { in skb_segment()
3861 __skb_push(head_skb, doffset); in skb_segment()
3862 proto = skb_network_protocol(head_skb, NULL); in skb_segment()
3875 !net_gso_ok(features, skb_shinfo(head_skb)->gso_type)) in skb_segment()
3887 skb_walk_frags(head_skb, iter) { in skb_segment()
3913 headroom = skb_headroom(head_skb); in skb_segment()
3914 pos = skb_headlen(head_skb); in skb_segment()
3916 if (skb_orphan_frags(head_skb, GFP_ATOMIC)) in skb_segment()
3919 nfrags = skb_shinfo(head_skb)->nr_frags; in skb_segment()
3920 frag = skb_shinfo(head_skb)->frags; in skb_segment()
3921 frag_skb = head_skb; in skb_segment()
3932 len = head_skb->len - offset; in skb_segment()
3937 hsize = skb_headlen(head_skb) - offset; in skb_segment()
3987 GFP_ATOMIC, skb_alloc_rx_flag(head_skb), in skb_segment()
4003 __copy_skb_header(nskb, head_skb); in skb_segment()
4008 skb_copy_from_linear_data_offset(head_skb, -tnl_hlen, in skb_segment()
4020 skb_copy_and_csum_bits(head_skb, offset, in skb_segment()
4027 if (skb_copy_bits(head_skb, offset, skb_put(nskb, len), len)) in skb_segment()
4035 skb_copy_from_linear_data_offset(head_skb, offset, in skb_segment()
4038 skb_shinfo(nskb)->tx_flags |= skb_shinfo(head_skb)->tx_flags & in skb_segment()
4119 } while ((offset += len) < head_skb->len); in skb_segment()
4129 int type = skb_shinfo(head_skb)->gso_type; in skb_segment()
4130 unsigned short gso_size = skb_shinfo(head_skb)->gso_size; in skb_segment()
4156 if (head_skb->destructor == sock_wfree) { in skb_segment()
4157 swap(tail->truesize, head_skb->truesize); in skb_segment()
4158 swap(tail->destructor, head_skb->destructor); in skb_segment()
4159 swap(tail->sk, head_skb->sk); in skb_segment()