Home
last modified time | relevance | path

Searched refs:shinfo (Results 1 – 25 of 46) sorted by relevance

12

/linux/net/tls/
H A Dtls_strp.c32 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 Dgso.c146 const struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_gso_transport_seglen() local
153 if (likely(shinfo->gso_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6))) in skb_gso_transport_seglen()
155 } else if (likely(shinfo->gso_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6))) { in skb_gso_transport_seglen()
159 } else if (shinfo->gso_type & SKB_GSO_UDP_L4) { in skb_gso_transport_seglen()
166 return thlen + shinfo->gso_size; in skb_gso_transport_seglen()
227 const struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_gso_size_check() local
230 if (shinfo->gso_size != GSO_BY_FRAGS) in skb_gso_size_check()
H A Dlwt_bpf.c540 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 Dgro.c656 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 Dskbuff.c393 struct skb_shared_info *shinfo; in __finalize_skb_around() local
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 = skb_shinfo(skb); in skb_release_data() local
1104 if (!skb_data_unref(skb, shinfo)) in skb_release_data()
[all …]
/linux/tools/testing/selftests/kvm/x86/
H A Dxen_shinfo_test.c381 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 Dnetback.c387 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 Dfuneth_tx.c154 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 Dnet_timestamping.c121 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 Dtest_tc_tunnel.c614 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/alibaba/eea/
H A Deea_tx.c297 const struct skb_shared_info *shinfo = skb_shinfo(skb); in eea_tx_post_skb() local
313 last = !shinfo->nr_frags; in eea_tx_post_skb()
320 frag = &shinfo->frags[0]; in eea_tx_post_skb()
328 last = shinfo->nr_frags == 1; in eea_tx_post_skb()
341 for (; i < shinfo->nr_frags; i++) { in eea_tx_post_skb()
342 frag = &shinfo->frags[i]; in eea_tx_post_skb()
343 bool is_last = i == (shinfo->nr_frags - 1); in eea_tx_post_skb()
/linux/drivers/net/ethernet/google/gve/
H A Dgve_tx_dqo.c573 struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_prep_tso() local
591 if (unlikely(shinfo->gso_size > GVE_TX_MAX_TSO_MSS_DQO)) in gve_prep_tso()
598 shinfo = skb_shinfo(skb); in gve_prep_tso()
606 if (shinfo->gso_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6)) { in gve_prep_tso()
611 } else if (shinfo->gso_type & SKB_GSO_UDP_L4) { in gve_prep_tso()
698 const struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_tx_add_skb_no_copy_dqo() local
725 /*eop=*/shinfo->nr_frags == 0, is_gso); in gve_tx_add_skb_no_copy_dqo()
728 for (i = 0; i < shinfo->nr_frags; i++) { in gve_tx_add_skb_no_copy_dqo()
729 const skb_frag_t *frag = &shinfo->frags[i]; in gve_tx_add_skb_no_copy_dqo()
730 bool is_eop = i == (shinfo->nr_frags - 1); in gve_tx_add_skb_no_copy_dqo()
[all …]
H A Dgve_rx_dqo.c1007 struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_rx_complete_rsc() local
1022 shinfo->gso_type = SKB_GSO_TCPV4; in gve_rx_complete_rsc()
1025 shinfo->gso_type = SKB_GSO_TCPV6; in gve_rx_complete_rsc()
1053 shinfo->gso_size = rsc_seg_len; in gve_rx_complete_rsc()
1054 shinfo->gso_segs = rsc_segments; in gve_rx_complete_rsc()
/linux/include/linux/
H A Dvirtio_net.h151 struct skb_shared_info *shinfo = skb_shinfo(skb); in __virtio_net_hdr_to_skb() local
185 shinfo->gso_size = gso_size; in __virtio_net_hdr_to_skb()
186 shinfo->gso_type = gso_type; in __virtio_net_hdr_to_skb()
189 shinfo->gso_type |= SKB_GSO_DODGY; in __virtio_net_hdr_to_skb()
190 shinfo->gso_segs = 0; in __virtio_net_hdr_to_skb()
H A Dskbuff.h1299 struct skb_shared_info *shinfo) in skb_data_unref() argument
1308 if (atomic_read(&shinfo->dataref) == bias) in skb_data_unref()
1310 else if (atomic_sub_return(bias, &shinfo->dataref)) in skb_data_unref()
2550 static inline void __skb_fill_netmem_desc_noacc(struct skb_shared_info *shinfo, in __skb_fill_netmem_desc_noacc() argument
2554 skb_frag_t *frag = &shinfo->frags[i]; in __skb_fill_netmem_desc_noacc()
2559 static inline void __skb_fill_page_desc_noacc(struct skb_shared_info *shinfo, in __skb_fill_page_desc_noacc() argument
2563 __skb_fill_netmem_desc_noacc(shinfo, i, page_to_netmem(page), off, in __skb_fill_page_desc_noacc()
2667 struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_fill_page_desc_noacc() local
2669 __skb_fill_page_desc_noacc(shinfo, i, page, off, size); in skb_fill_page_desc_noacc()
2670 shinfo->nr_frags = i + 1; in skb_fill_page_desc_noacc()
[all …]
/linux/drivers/net/ethernet/broadcom/bnxt/
H A Dbnxt_xdp.c206 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/net/ipv4/
H A Dtcp_offload.c373 struct skb_shared_info *shinfo; in tcp_gro_complete() local
382 shinfo = skb_shinfo(skb); in tcp_gro_complete()
383 shinfo->gso_segs = NAPI_GRO_CB(skb)->count; in tcp_gro_complete()
386 shinfo->gso_type |= SKB_GSO_TCP_ACCECN; in tcp_gro_complete()
H A Dtcp_output.c1806 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->frags[k] = shinfo->frags[i]; in __pskb_trim_head()
[all …]
/linux/drivers/net/ethernet/meta/fbnic/
H A Dfbnic_txrx.c201 struct skb_shared_info *shinfo; in fbnic_tx_lso() local
208 shinfo = skb_shinfo(skb); in fbnic_tx_lso()
210 if (shinfo->gso_type & SKB_GSO_PARTIAL) { in fbnic_tx_lso()
230 if (shinfo->gso_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6)) { in fbnic_tx_lso()
248 FIELD_PREP(FBNIC_TWD_MSS_MASK, shinfo->gso_size) | in fbnic_tx_lso()
251 FBNIC_XMIT_CB(skb)->bytecount += (shinfo->gso_segs - 1) * hdrlen; in fbnic_tx_lso()
252 FBNIC_XMIT_CB(skb)->gso_segs = shinfo->gso_segs; in fbnic_tx_lso()
255 ring->stats.twq.lso += shinfo->gso_segs; in fbnic_tx_lso()
1060 struct skb_shared_info *shinfo; in fbnic_put_pkt_buff() local
1064 shinfo = xdp_get_shared_info_from_buff(&pkt->buff); in fbnic_put_pkt_buff()
[all …]
/linux/drivers/net/ethernet/marvell/octeon_ep/
H A Doctep_rx.c470 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()
/linux/drivers/net/ethernet/marvell/octeon_ep_vf/
H A Doctep_vf_rx.c431 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 Doctep_vf_main.c619 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 Dxfrm_iptfs.c337 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
432 nr_frags = shinfo->nr_frags; in iptfs_skb_can_add_frags()
470 struct skb_shared_info *shinfo = skb_shinfo(skb); in iptfs_skb_add_frags() local
481 skb_frag_t *tofrag = &shinfo->frags[shinfo->nr_frags]; in iptfs_skb_add_frags()
490 shinfo->nr_frags++; in iptfs_skb_add_frags()
491 shinfo->flags |= SKBFL_SHARED_FRAG; in iptfs_skb_add_frags()
/linux/drivers/net/ethernet/freescale/enetc/
H A Denetc.c1746 struct skb_shared_info *shinfo; in enetc_xdp_frame_to_xdp_tx_swbd() local
1774 shinfo = xdp_get_shared_info_from_frame(xdp_frame); in enetc_xdp_frame_to_xdp_tx_swbd()
1776 for (f = 0, frag = &shinfo->frags[0]; f < shinfo->nr_frags; in enetc_xdp_frame_to_xdp_tx_swbd()
1813 struct skb_shared_info *shinfo; in enetc_xdp_xmit() local
1830 shinfo = xdp_get_shared_info_from_frame(frames[k]); in enetc_xdp_xmit()
1831 if (unlikely((shinfo->nr_frags + 1) > ENETC_MAX_SKB_FRAGS)) in enetc_xdp_xmit()
1880 struct skb_shared_info *shinfo = xdp_get_shared_info_from_buff(xdp_buff); in enetc_add_rx_buff_to_xdp() local
1889 shinfo->xdp_frags_size = size; in enetc_add_rx_buff_to_xdp()
1890 shinfo->nr_frags = 0; in enetc_add_rx_buff_to_xdp()
1892 shinfo->xdp_frags_size += size; in enetc_add_rx_buff_to_xdp()
[all …]
/linux/drivers/net/ethernet/intel/idpf/
H A Didpf_txrx.c2506 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 …]

12