Lines Matching refs:skb_shinfo

258 	shinfo = skb_shinfo(skb);  in __alloc_skb()
326 shinfo = skb_shinfo(skb); in __build_skb()
536 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in skb_coalesce_rx_frag()
553 skb_drop_list(&skb_shinfo(skb)->frag_list); in skb_drop_fraglist()
576 struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_release_data()
720 if (skb_shinfo(skb)->tx_flags & SKBTX_DEV_ZEROCOPY) { in skb_tx_error()
723 uarg = skb_shinfo(skb)->destructor_arg; in skb_tx_error()
726 skb_shinfo(skb)->tx_flags &= ~SKBTX_DEV_ZEROCOPY; in skb_tx_error()
839 atomic_inc(&(skb_shinfo(skb)->dataref)); in __skb_clone()
881 int num_frags = skb_shinfo(skb)->nr_frags; in skb_copy_ubufs()
883 struct ubuf_info *uarg = skb_shinfo(skb)->destructor_arg; in skb_copy_ubufs()
887 skb_frag_t *f = &skb_shinfo(skb)->frags[i]; in skb_copy_ubufs()
915 skb_shinfo(skb)->frags[i].size); in skb_copy_ubufs()
919 skb_shinfo(skb)->tx_flags &= ~SKBTX_DEV_ZEROCOPY; in skb_copy_ubufs()
987 skb_shinfo(new)->gso_size = skb_shinfo(old)->gso_size; in copy_skb_header()
988 skb_shinfo(new)->gso_segs = skb_shinfo(old)->gso_segs; in copy_skb_header()
989 skb_shinfo(new)->gso_type = skb_shinfo(old)->gso_type; in copy_skb_header()
1077 if (skb_shinfo(skb)->nr_frags) { in __pskb_copy_fclone()
1085 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { in __pskb_copy_fclone()
1086 skb_shinfo(n)->frags[i] = skb_shinfo(skb)->frags[i]; in __pskb_copy_fclone()
1089 skb_shinfo(n)->nr_frags = i; in __pskb_copy_fclone()
1093 skb_shinfo(n)->frag_list = skb_shinfo(skb)->frag_list; in __pskb_copy_fclone()
1148 skb_shinfo(skb), in pskb_expand_head()
1149 offsetof(struct skb_shared_info, frags[skb_shinfo(skb)->nr_frags])); in pskb_expand_head()
1160 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) in pskb_expand_head()
1186 atomic_set(&skb_shinfo(skb)->dataref, 1); in pskb_expand_head()
1425 int nfrags = skb_shinfo(skb)->nr_frags; in ___pskb_trim()
1438 int end = offset + skb_frag_size(&skb_shinfo(skb)->frags[i]); in ___pskb_trim()
1445 skb_frag_size_set(&skb_shinfo(skb)->frags[i++], len - offset); in ___pskb_trim()
1448 skb_shinfo(skb)->nr_frags = i; in ___pskb_trim()
1458 for (fragp = &skb_shinfo(skb)->frag_list; (frag = *fragp); in ___pskb_trim()
1553 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { in __pskb_pull_tail()
1554 int size = skb_frag_size(&skb_shinfo(skb)->frags[i]); in __pskb_pull_tail()
1569 struct sk_buff *list = skb_shinfo(skb)->frag_list; in __pskb_pull_tail()
1605 while ((list = skb_shinfo(skb)->frag_list) != insp) { in __pskb_pull_tail()
1606 skb_shinfo(skb)->frag_list = list->next; in __pskb_pull_tail()
1612 skb_shinfo(skb)->frag_list = clone; in __pskb_pull_tail()
1620 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { in __pskb_pull_tail()
1621 int size = skb_frag_size(&skb_shinfo(skb)->frags[i]); in __pskb_pull_tail()
1627 skb_shinfo(skb)->frags[k] = skb_shinfo(skb)->frags[i]; in __pskb_pull_tail()
1629 skb_shinfo(skb)->frags[k].page_offset += eat; in __pskb_pull_tail()
1630 skb_frag_size_sub(&skb_shinfo(skb)->frags[k], eat); in __pskb_pull_tail()
1636 skb_shinfo(skb)->nr_frags = k; in __pskb_pull_tail()
1680 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { in skb_copy_bits()
1682 skb_frag_t *f = &skb_shinfo(skb)->frags[i]; in skb_copy_bits()
1863 for (seg = 0; seg < skb_shinfo(skb)->nr_frags; seg++) { in __skb_splice_bits()
1864 const skb_frag_t *f = &skb_shinfo(skb)->frags[seg]; in __skb_splice_bits()
1980 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { in skb_store_bits()
1981 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in skb_store_bits()
2053 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { in __skb_checksum()
2055 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in __skb_checksum()
2140 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { in skb_copy_and_csum_bits()
2145 end = start + skb_frag_size(&skb_shinfo(skb)->frags[i]); in skb_copy_and_csum_bits()
2149 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in skb_copy_and_csum_bits()
2210 skb_shinfo(from)->nr_frags >= MAX_SKB_FRAGS) in skb_zerocopy_headlen()
2279 for (i = 0; i < skb_shinfo(from)->nr_frags; i++) { in skb_zerocopy()
2282 skb_shinfo(to)->frags[j] = skb_shinfo(from)->frags[i]; in skb_zerocopy()
2283 skb_shinfo(to)->frags[j].size = min_t(int, skb_shinfo(to)->frags[j].size, len); in skb_zerocopy()
2284 len -= skb_shinfo(to)->frags[j].size; in skb_zerocopy()
2288 skb_shinfo(to)->nr_frags = j; in skb_zerocopy()
2491 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) in skb_split_inside_header()
2492 skb_shinfo(skb1)->frags[i] = skb_shinfo(skb)->frags[i]; in skb_split_inside_header()
2494 skb_shinfo(skb1)->nr_frags = skb_shinfo(skb)->nr_frags; in skb_split_inside_header()
2495 skb_shinfo(skb)->nr_frags = 0; in skb_split_inside_header()
2508 const int nfrags = skb_shinfo(skb)->nr_frags; in skb_split_no_header()
2510 skb_shinfo(skb)->nr_frags = 0; in skb_split_no_header()
2516 int size = skb_frag_size(&skb_shinfo(skb)->frags[i]); in skb_split_no_header()
2519 skb_shinfo(skb1)->frags[k] = skb_shinfo(skb)->frags[i]; in skb_split_no_header()
2531 skb_shinfo(skb1)->frags[0].page_offset += len - pos; in skb_split_no_header()
2532 skb_frag_size_sub(&skb_shinfo(skb1)->frags[0], len - pos); in skb_split_no_header()
2533 skb_frag_size_set(&skb_shinfo(skb)->frags[i], len - pos); in skb_split_no_header()
2534 skb_shinfo(skb)->nr_frags++; in skb_split_no_header()
2538 skb_shinfo(skb)->nr_frags++; in skb_split_no_header()
2541 skb_shinfo(skb1)->nr_frags = k; in skb_split_no_header()
2554 skb_shinfo(skb1)->tx_flags = skb_shinfo(skb)->tx_flags & SKBTX_SHARED_FRAG; in skb_split()
2599 to = skb_shinfo(tgt)->nr_frags; in skb_shift()
2600 fragfrom = &skb_shinfo(skb)->frags[from]; in skb_shift()
2619 fragfrom = &skb_shinfo(skb)->frags[from]; in skb_shift()
2620 fragto = &skb_shinfo(tgt)->frags[merge]; in skb_shift()
2634 (skb_shinfo(skb)->nr_frags - from) > (MAX_SKB_FRAGS - to)) in skb_shift()
2640 while ((todo > 0) && (from < skb_shinfo(skb)->nr_frags)) { in skb_shift()
2644 fragfrom = &skb_shinfo(skb)->frags[from]; in skb_shift()
2645 fragto = &skb_shinfo(tgt)->frags[to]; in skb_shift()
2669 skb_shinfo(tgt)->nr_frags = to; in skb_shift()
2672 fragfrom = &skb_shinfo(skb)->frags[0]; in skb_shift()
2673 fragto = &skb_shinfo(tgt)->frags[merge]; in skb_shift()
2681 while (from < skb_shinfo(skb)->nr_frags) in skb_shift()
2682 skb_shinfo(skb)->frags[to++] = skb_shinfo(skb)->frags[from++]; in skb_shift()
2683 skb_shinfo(skb)->nr_frags = to; in skb_shift()
2685 BUG_ON(todo > 0 && !skb_shinfo(skb)->nr_frags); in skb_shift()
2776 while (st->frag_idx < skb_shinfo(st->cur_skb)->nr_frags) { in skb_seq_read()
2777 frag = &skb_shinfo(st->cur_skb)->frags[st->frag_idx]; in skb_seq_read()
2805 st->cur_skb = skb_shinfo(st->root_skb)->frag_list; in skb_seq_read()
2890 int frg_cnt = skb_shinfo(skb)->nr_frags; in skb_append_datato_frags()
2935 int i = skb_shinfo(skb)->nr_frags; in skb_append_pagefrags()
2938 skb_frag_size_add(&skb_shinfo(skb)->frags[i - 1], size); in skb_append_pagefrags()
3004 struct sk_buff *list_skb = skb_shinfo(head_skb)->frag_list; in skb_segment()
3005 skb_frag_t *frag = skb_shinfo(head_skb)->frags; in skb_segment()
3006 unsigned int mss = skb_shinfo(head_skb)->gso_size; in skb_segment()
3016 int nfrags = skb_shinfo(head_skb)->nr_frags; in skb_segment()
3054 nfrags = skb_shinfo(list_skb)->nr_frags; in skb_segment()
3055 frag = skb_shinfo(list_skb)->frags; in skb_segment()
3131 nskb_frag = skb_shinfo(nskb)->frags; in skb_segment()
3136 skb_shinfo(nskb)->tx_flags = skb_shinfo(head_skb)->tx_flags & in skb_segment()
3144 nfrags = skb_shinfo(list_skb)->nr_frags; in skb_segment()
3145 frag = skb_shinfo(list_skb)->frags; in skb_segment()
3153 if (unlikely(skb_shinfo(nskb)->nr_frags >= in skb_segment()
3173 skb_shinfo(nskb)->nr_frags++; in skb_segment()
3227 struct skb_shared_info *pinfo, *skbinfo = skb_shinfo(skb); in skb_gro_receive()
3238 pinfo = skb_shinfo(lp); in skb_gro_receive()
3315 skb_shinfo(p)->frag_list = skb; in skb_gro_receive()
3378 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { in __skb_to_sgvec()
3383 end = start + skb_frag_size(&skb_shinfo(skb)->frags[i]); in __skb_to_sgvec()
3385 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in __skb_to_sgvec()
3483 if ((skb_cloned(skb) || skb_shinfo(skb)->nr_frags) && in skb_cow_data()
3506 skb_p = &skb_shinfo(skb)->frag_list; in skb_cow_data()
3522 if (skb_shinfo(skb1)->nr_frags || in skb_cow_data()
3531 skb_shinfo(skb1)->nr_frags || in skb_cow_data()
3665 serr->ee.ee_data = skb_shinfo(skb)->tskey; in __skb_complete_tx_timestamp()
3731 skb_shinfo(skb)->tx_flags = skb_shinfo(orig_skb)->tx_flags; in __skb_tstamp_tx()
3732 skb_shinfo(skb)->tskey = skb_shinfo(orig_skb)->tskey; in __skb_tstamp_tx()
4172 if (skb_shinfo(to)->nr_frags + in skb_try_coalesce()
4173 skb_shinfo(from)->nr_frags >= MAX_SKB_FRAGS) in skb_try_coalesce()
4184 skb_fill_page_desc(to, skb_shinfo(to)->nr_frags, in skb_try_coalesce()
4188 if (skb_shinfo(to)->nr_frags + in skb_try_coalesce()
4189 skb_shinfo(from)->nr_frags > MAX_SKB_FRAGS) in skb_try_coalesce()
4197 memcpy(skb_shinfo(to)->frags + skb_shinfo(to)->nr_frags, in skb_try_coalesce()
4198 skb_shinfo(from)->frags, in skb_try_coalesce()
4199 skb_shinfo(from)->nr_frags * sizeof(skb_frag_t)); in skb_try_coalesce()
4200 skb_shinfo(to)->nr_frags += skb_shinfo(from)->nr_frags; in skb_try_coalesce()
4203 skb_shinfo(from)->nr_frags = 0; in skb_try_coalesce()
4208 for (i = 0; i < skb_shinfo(from)->nr_frags; i++) in skb_try_coalesce()
4265 const struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_gso_transport_seglen()