| /linux/net/tls/ |
| H A D | tls_strp.c | 32 struct skb_shared_info *shinfo = skb_shinfo(strp->anchor); in tls_strp_anchor_free() local 34 DEBUG_NET_WARN_ON_ONCE(atomic_read(&shinfo->dataref) != 1); in tls_strp_anchor_free() 36 shinfo->frag_list = NULL; in tls_strp_anchor_free() 147 struct skb_shared_info *shinfo = skb_shinfo(strp->anchor); in tls_strp_msg_hold() local 152 WARN_ON_ONCE(!shinfo->nr_frags); in tls_strp_msg_hold() 167 iter = shinfo->frag_list; in tls_strp_msg_hold() 194 struct skb_shared_info *shinfo = skb_shinfo(strp->anchor); in tls_strp_flush_anchor_copy() local 197 DEBUG_NET_WARN_ON_ONCE(atomic_read(&shinfo->dataref) != 1); in tls_strp_flush_anchor_copy() 199 for (i = 0; i < shinfo->nr_frags; i++) in tls_strp_flush_anchor_copy() 200 __skb_frag_unref(&shinfo->frags[i], false); in tls_strp_flush_anchor_copy() [all …]
|
| /linux/net/core/ |
| H A D | gso.c | 145 const struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_gso_transport_seglen() local 152 if (likely(shinfo->gso_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6))) in skb_gso_transport_seglen() 154 } else if (likely(shinfo->gso_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6))) { in skb_gso_transport_seglen() 158 } else if (shinfo->gso_type & SKB_GSO_UDP_L4) { in skb_gso_transport_seglen() 165 return thlen + shinfo->gso_size; in skb_gso_transport_seglen() 226 const struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_gso_size_check() local 229 if (shinfo->gso_size != GSO_BY_FRAGS) in skb_gso_size_check()
|
| H A D | lwt_bpf.c | 540 struct skb_shared_info *shinfo = skb_shinfo(skb); in handle_gso_type() local 543 shinfo->gso_type |= gso_type; in handle_gso_type() 544 skb_decrease_gso_size(shinfo, encap_len); in handle_gso_type() 545 shinfo->gso_segs = 0; in handle_gso_type()
|
| H A D | gro.c | 656 struct skb_shared_info *shinfo; in napi_reuse_skb() local 675 shinfo = skb_shinfo(skb); in napi_reuse_skb() 676 shinfo->gso_type = 0; in napi_reuse_skb() 677 shinfo->gso_size = 0; in napi_reuse_skb() 678 shinfo->hwtstamps.hwtstamp = 0; in napi_reuse_skb()
|
| H A D | skbuff.c | 393 struct skb_shared_info *shinfo; in __finalize_skb_around() local 407 /* make sure we initialize shinfo sequentially */ in __finalize_skb_around() 408 shinfo = skb_shinfo(skb); in __finalize_skb_around() 409 memset(shinfo, 0, offsetof(struct skb_shared_info, dataref)); in __finalize_skb_around() 410 atomic_set(&shinfo->dataref, 1); in __finalize_skb_around() 1062 struct skb_shared_info *shinfo; in skb_pp_frag_ref() local 1069 shinfo = skb_shinfo(skb); in skb_pp_frag_ref() 1071 for (i = 0; i < shinfo->nr_frags; i++) { in skb_pp_frag_ref() 1072 head_netmem = netmem_compound_head(shinfo->frags[i].netmem); in skb_pp_frag_ref() 1101 struct skb_shared_info *shinfo in skb_release_data() local 2404 struct skb_shared_info *shinfo; __skb_unclone_keeptruesize() local 6883 pskb_carve_frag_list(struct skb_shared_info * shinfo,int eat,gfp_t gfp_mask) pskb_carve_frag_list() argument 6943 struct skb_shared_info *shinfo; pskb_carve_inside_nonlinear() local [all...] |
| /linux/tools/testing/selftests/kvm/x86/ |
| H A D | xen_shinfo_test.c | 381 static struct shared_info *shinfo; variable 409 .u.shared_info.hva = (unsigned long)shinfo in juggle_shinfo_state() 460 shinfo = addr_gpa2hva(vm, SHINFO_VADDR); in main() 500 ha.u.shared_info.hva = (unsigned long)shinfo; in main() 509 * Test what happens when the HVA of the shinfo page is remapped after in main() 513 struct pvclock_wall_clock wc_copy = shinfo->wc; in main() 514 void *m = mmap(shinfo, PAGE_SIZE, PROT_READ|PROT_WRITE, MAP_FIXED|MAP_PRIVATE, zero_fd, 0); in main() 515 TEST_ASSERT(m == shinfo, "Failed to map /dev/zero over shared info"); in main() 516 shinfo->wc = wc_copy; in main() 697 shinfo in main() [all...] |
| /linux/drivers/net/xen-netback/ |
| H A D | netback.c | 387 struct skb_shared_info *shinfo = skb_shinfo(skb); in xenvif_get_requests() local 388 skb_frag_t *frags = shinfo->frags; in xenvif_get_requests() 396 nr_slots = shinfo->nr_frags + frag_overflow + 1; in xenvif_get_requests() 462 for (shinfo->nr_frags = 0; nr_slots > 0 && shinfo->nr_frags < MAX_SKB_FRAGS; in xenvif_get_requests() 474 frag_set_pending_idx(&frags[shinfo->nr_frags], pending_idx); in xenvif_get_requests() 475 ++shinfo->nr_frags; in xenvif_get_requests() 486 shinfo = skb_shinfo(nskb); in xenvif_get_requests() 487 frags = shinfo->frags; in xenvif_get_requests() 489 for (shinfo->nr_frags = 0; shinfo->nr_frags < nr_slots; ++txp) { in xenvif_get_requests() 500 frag_set_pending_idx(&frags[shinfo->nr_frags], in xenvif_get_requests() [all …]
|
| /linux/drivers/net/ethernet/fungible/funeth/ |
| H A D | funeth_tx.c | 154 const struct skb_shared_info *shinfo; in write_pkt_desc() local 164 shinfo = skb_shinfo(skb); in write_pkt_desc() 165 if (unlikely(fun_map_pkt(q->dma_dev, shinfo, skb->data, in write_pkt_desc() 179 if (likely(shinfo->gso_size)) { in write_pkt_desc() 186 if (shinfo->gso_type & (SKB_GSO_UDP_TUNNEL | in write_pkt_desc() 190 if (shinfo->gso_type & SKB_GSO_UDP_TUNNEL_CSUM) in write_pkt_desc() 213 shinfo->gso_size, in write_pkt_desc() 219 } else if (shinfo->gso_type & SKB_GSO_UDP_L4) { in write_pkt_desc() 232 shinfo->gso_size, in write_pkt_desc() 242 if (shinfo->gso_type & SKB_GSO_TCPV6) in write_pkt_desc() [all …]
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | net_timestamping.c | 121 struct skb_shared_info *shinfo; in bpf_test_delay() local 134 shinfo = bpf_core_cast(skb->head + skb->end, struct skb_shared_info); in bpf_test_delay() 146 key.tskey = shinfo->tskey; in bpf_test_delay() 153 key.tskey = shinfo->tskey; in bpf_test_delay()
|
| H A D | test_tc_tunnel.c | 614 struct skb_shared_info *shinfo; in decap_internal() local 692 shinfo = bpf_core_cast(kskb->head + kskb->end, struct skb_shared_info); in decap_internal() 693 if (shinfo->gso_size) { in decap_internal() 695 (shinfo->gso_type & SKB_GSO_UDP_TUNNEL_MASK)) in decap_internal() 699 (shinfo->gso_type & (SKB_GSO_GRE | SKB_GSO_GRE_CSUM))) in decap_internal() 703 (shinfo->gso_type & SKB_GSO_IPXIP4)) in decap_internal() 707 (shinfo->gso_type & SKB_GSO_IPXIP6)) in decap_internal() 712 if ((shinfo->gso_type & SKB_GSO_TUNNEL_MASK) && in decap_internal() 715 if (!(shinfo->gso_type & SKB_GSO_TUNNEL_MASK) && in decap_internal()
|
| /linux/drivers/net/ethernet/google/gve/ |
| H A D | gve_tx_dqo.c | 573 struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_prep_tso() local 588 if (unlikely(shinfo->gso_size < GVE_TX_MIN_TSO_MSS_DQO)) in gve_prep_tso() 599 switch (shinfo->gso_type) { in gve_prep_tso() 695 const struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_tx_add_skb_no_copy_dqo() local 722 /*eop=*/shinfo->nr_frags == 0, is_gso); in gve_tx_add_skb_no_copy_dqo() 725 for (i = 0; i < shinfo->nr_frags; i++) { in gve_tx_add_skb_no_copy_dqo() 726 const skb_frag_t *frag = &shinfo->frags[i]; in gve_tx_add_skb_no_copy_dqo() 727 bool is_eop = i == (shinfo->nr_frags - 1); in gve_tx_add_skb_no_copy_dqo() 895 const struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_num_buffer_descs_needed() local 901 for (i = 0; i < shinfo->nr_frags; i++) { in gve_num_buffer_descs_needed() [all …]
|
| H A D | gve_rx_dqo.c | 996 struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_rx_complete_rsc() local 1011 shinfo->gso_type = SKB_GSO_TCPV4; in gve_rx_complete_rsc() 1014 shinfo->gso_type = SKB_GSO_TCPV6; in gve_rx_complete_rsc() 1042 shinfo->gso_size = rsc_seg_len; in gve_rx_complete_rsc() 1043 shinfo->gso_segs = rsc_segments; in gve_rx_complete_rsc()
|
| /linux/drivers/net/ethernet/broadcom/bnxt/ |
| H A D | bnxt_xdp.c | 206 struct skb_shared_info *shinfo; in bnxt_xdp_buff_frags_free() local 211 shinfo = xdp_get_shared_info_from_buff(xdp); in bnxt_xdp_buff_frags_free() 212 for (i = 0; i < shinfo->nr_frags; i++) { in bnxt_xdp_buff_frags_free() 213 struct page *page = skb_frag_page(&shinfo->frags[i]); in bnxt_xdp_buff_frags_free() 217 shinfo->nr_frags = 0; in bnxt_xdp_buff_frags_free()
|
| /linux/drivers/net/ethernet/meta/fbnic/ |
| H A D | fbnic_txrx.c | 200 struct skb_shared_info *shinfo; in fbnic_tx_lso() local 207 shinfo = skb_shinfo(skb); in fbnic_tx_lso() 209 if (shinfo->gso_type & SKB_GSO_PARTIAL) { in fbnic_tx_lso() 229 if (shinfo->gso_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6)) { in fbnic_tx_lso() 247 FIELD_PREP(FBNIC_TWD_MSS_MASK, shinfo->gso_size) | in fbnic_tx_lso() 250 FBNIC_XMIT_CB(skb)->bytecount += (shinfo->gso_segs - 1) * hdrlen; in fbnic_tx_lso() 251 FBNIC_XMIT_CB(skb)->gso_segs = shinfo->gso_segs; in fbnic_tx_lso() 254 ring->stats.twq.lso += shinfo->gso_segs; in fbnic_tx_lso() 1036 struct skb_shared_info *shinfo; in fbnic_put_pkt_buff() local 1040 shinfo = xdp_get_shared_info_from_buff(&pkt->buff); in fbnic_put_pkt_buff() [all …]
|
| /linux/drivers/net/ethernet/marvell/octeon_ep/ |
| H A D | octep_rx.c | 470 struct skb_shared_info *shinfo; in __octep_oq_process_rx() local 477 shinfo = skb_shinfo(skb); in __octep_oq_process_rx() 490 skb_add_rx_frag(skb, shinfo->nr_frags, in __octep_oq_process_rx()
|
| H A D | octep_main.c | 864 struct skb_shared_info *shinfo; in octep_start_xmit() local 883 shinfo = skb_shinfo(skb); in octep_start_xmit() 884 nr_frags = shinfo->nr_frags; in octep_start_xmit() 926 frag = &shinfo->frags[0]; in octep_start_xmit()
|
| /linux/drivers/net/ethernet/marvell/octeon_ep_vf/ |
| H A D | octep_vf_rx.c | 431 struct skb_shared_info *shinfo; in __octep_vf_oq_process_rx() local 464 shinfo = skb_shinfo(skb); in __octep_vf_oq_process_rx() 479 skb_add_rx_frag(skb, shinfo->nr_frags, in __octep_vf_oq_process_rx()
|
| H A D | octep_vf_main.c | 619 struct skb_shared_info *shinfo; in octep_vf_start_xmit() local 638 shinfo = skb_shinfo(skb); in octep_vf_start_xmit() 639 nr_frags = shinfo->nr_frags; in octep_vf_start_xmit() 682 frag = &shinfo->frags[0]; in octep_vf_start_xmit()
|
| /linux/net/xfrm/ |
| H A D | xfrm_iptfs.c | 337 struct skb_shared_info *shinfo = skb_shinfo(skb); in iptfs_skb_prepare_frag_walk() local 363 for (i = 0; i < shinfo->nr_frags; i++) { in iptfs_skb_prepare_frag_walk() 364 from = &shinfo->frags[i]; in iptfs_skb_prepare_frag_walk() 413 struct skb_shared_info *shinfo = skb_shinfo(skb); in iptfs_skb_can_add_frags() local 424 nr_frags = shinfo->nr_frags; in iptfs_skb_can_add_frags() 462 struct skb_shared_info *shinfo = skb_shinfo(skb); in iptfs_skb_add_frags() local 473 skb_frag_t *tofrag = &shinfo->frags[shinfo->nr_frags]; in iptfs_skb_add_frags() 482 shinfo->nr_frags++; in iptfs_skb_add_frags() 483 shinfo->flags |= SKBFL_SHARED_FRAG; in iptfs_skb_add_frags()
|
| /linux/net/ipv4/ |
| H A D | tcp_output.c | 1806 struct skb_shared_info *shinfo = skb_shinfo(skb); in tcp_fragment_tstamp() local 1809 !before(shinfo->tskey, TCP_SKB_CB(skb2)->seq)) { in tcp_fragment_tstamp() 1811 u8 tsflags = shinfo->tx_flags & SKBTX_ANY_TSTAMP; in tcp_fragment_tstamp() 1813 shinfo->tx_flags &= ~tsflags; in tcp_fragment_tstamp() 1815 swap(shinfo->tskey, shinfo2->tskey); in tcp_fragment_tstamp() 1941 struct skb_shared_info *shinfo; in __pskb_trim_head() local 1947 shinfo = skb_shinfo(skb); in __pskb_trim_head() 1948 for (i = 0; i < shinfo->nr_frags; i++) { in __pskb_trim_head() 1949 int size = skb_frag_size(&shinfo->frags[i]); in __pskb_trim_head() 1955 shinfo in __pskb_trim_head() 3441 struct skb_shared_info *shinfo = skb_shinfo(skb); tcp_skb_collapse_tstamp() local [all...] |
| H A D | tcp_ipv4.c | 1904 struct skb_shared_info *shinfo; local 1964 shinfo = skb_shinfo(skb); 1965 gso_size = shinfo->gso_size ?: skb->len; 1966 gso_segs = shinfo->gso_segs ?: 1; 1968 shinfo = skb_shinfo(tail); 1969 tail_gso_size = shinfo->gso_size ?: (tail->len - hdrlen); 1970 tail_gso_segs = shinfo->gso_segs ?: 1; 1998 shinfo->gso_size = max(gso_size, tail_gso_size); 1999 shinfo->gso_segs = min_t(u32, gso_segs + tail_gso_segs, 0xFFFF);
|
| /linux/drivers/net/ethernet/intel/idpf/ |
| H A D | idpf_txrx.c | 2506 const struct skb_shared_info *shinfo; in idpf_tx_res_count_required() local 2514 shinfo = skb_shinfo(skb); in idpf_tx_res_count_required() 2515 *bufs_needed += shinfo->nr_frags; in idpf_tx_res_count_required() 2516 for (i = 0; i < shinfo->nr_frags; i++) { in idpf_tx_res_count_required() 2519 size = skb_frag_size(&shinfo->frags[i]); in idpf_tx_res_count_required() 2823 const struct skb_shared_info *shinfo; in idpf_tso() local 2844 shinfo = skb_shinfo(skb); in idpf_tso() 2862 switch (shinfo->gso_type & ~SKB_GSO_DODGY) { in idpf_tso() 2874 udp_set_len_short(l4.udp, shinfo->gso_size + sizeof(struct udphdr)); in idpf_tso() 2881 off->mss = shinfo->gso_size; in idpf_tso() [all …]
|
| H A D | idpf_lib.c | 2387 const struct skb_shared_info *shinfo = skb_shinfo(skb); in idpf_chk_tso_segment() local 2392 nr_frags = shinfo->nr_frags; in idpf_chk_tso_segment() 2400 frag = &shinfo->frags[0]; in idpf_chk_tso_segment() 2408 sum = 1 - shinfo->gso_size; in idpf_chk_tso_segment() 2420 for (stale = &shinfo->frags[0];; stale++) { in idpf_chk_tso_segment()
|
| /linux/drivers/net/wireless/mediatek/mt76/ |
| H A D | dma.c | 978 struct skb_shared_info *shinfo = skb_shinfo(skb); in mt76_add_fragment() local 979 int nr_frags = shinfo->nr_frags; in mt76_add_fragment() 981 if (nr_frags < ARRAY_SIZE(shinfo->frags)) { in mt76_add_fragment() 994 if (nr_frags < ARRAY_SIZE(shinfo->frags)) in mt76_add_fragment()
|
| /linux/drivers/net/wwan/t7xx/ |
| H A D | t7xx_hif_dpmaif_rx.c | 398 struct skb_shared_info *shinfo = skb_shinfo(skb); in t7xx_dpmaif_set_frag_to_skb() local 410 if (shinfo->nr_frags >= MAX_SKB_FRAGS) in t7xx_dpmaif_set_frag_to_skb() 421 skb_add_rx_frag(skb, shinfo->nr_frags, page_info->page, in t7xx_dpmaif_set_frag_to_skb()
|