Lines Matching refs:head_skb
4294 struct sk_buff *skb_segment(struct sk_buff *head_skb, in skb_segment() argument
4299 struct sk_buff *list_skb = skb_shinfo(head_skb)->frag_list; in skb_segment()
4300 skb_frag_t *frag = skb_shinfo(head_skb)->frags; in skb_segment()
4301 unsigned int mss = skb_shinfo(head_skb)->gso_size; in skb_segment()
4302 unsigned int doffset = head_skb->data - skb_mac_header(head_skb); in skb_segment()
4303 struct sk_buff *frag_skb = head_skb; in skb_segment()
4305 unsigned int tnl_hlen = skb_tnl_header_len(head_skb); in skb_segment()
4308 unsigned int len = head_skb->len; in skb_segment()
4311 int nfrags = skb_shinfo(head_skb)->nr_frags; in skb_segment()
4316 if ((skb_shinfo(head_skb)->gso_type & SKB_GSO_DODGY) && in skb_segment()
4317 mss != GSO_BY_FRAGS && mss != skb_headlen(head_skb)) { in skb_segment()
4337 __skb_push(head_skb, doffset); in skb_segment()
4338 proto = skb_network_protocol(head_skb, NULL); in skb_segment()
4351 !net_gso_ok(features, skb_shinfo(head_skb)->gso_type)) in skb_segment()
4363 skb_walk_frags(head_skb, iter) { in skb_segment()
4388 headroom = skb_headroom(head_skb); in skb_segment()
4389 pos = skb_headlen(head_skb); in skb_segment()
4400 len = head_skb->len - offset; in skb_segment()
4405 hsize = skb_headlen(head_skb) - offset; in skb_segment()
4456 GFP_ATOMIC, skb_alloc_rx_flag(head_skb), in skb_segment()
4472 __copy_skb_header(nskb, head_skb); in skb_segment()
4477 skb_copy_from_linear_data_offset(head_skb, -tnl_hlen, in skb_segment()
4489 skb_copy_and_csum_bits(head_skb, offset, in skb_segment()
4496 if (skb_copy_bits(head_skb, offset, skb_put(nskb, len), len)) in skb_segment()
4504 skb_copy_from_linear_data_offset(head_skb, offset, in skb_segment()
4507 skb_shinfo(nskb)->flags |= skb_shinfo(head_skb)->flags & in skb_segment()
4588 } while ((offset += len) < head_skb->len); in skb_segment()
4598 int type = skb_shinfo(head_skb)->gso_type; in skb_segment()
4599 unsigned short gso_size = skb_shinfo(head_skb)->gso_size; in skb_segment()
4625 if (head_skb->destructor == sock_wfree) { in skb_segment()
4626 swap(tail->truesize, head_skb->truesize); in skb_segment()
4627 swap(tail->destructor, head_skb->destructor); in skb_segment()
4628 swap(tail->sk, head_skb->sk); in skb_segment()