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/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()
461 shinfo = addr_gpa2hva(vm, SHINFO_VADDR); in main()
501 ha.u.shared_info.hva = (unsigned long)shinfo; in main()
514 struct pvclock_wall_clock wc_copy = shinfo->wc; in main()
515 void *m = mmap(shinfo, PAGE_SIZE, PROT_READ|PROT_WRITE, MAP_FIXED|MAP_PRIVATE, zero_fd, 0); in main()
516 TEST_ASSERT(m == shinfo, "Failed to map /dev/zero over shared info"); in main()
517 shinfo->wc = wc_copy; in main()
698 shinfo->evtchn_mask[0] = 1UL << EVTCHN_TEST1; in main()
707 shinfo->evtchn_pending[0] = 0; in main()
[all …]
/linux/net/core/
H A Dgso.c145 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 Dskbuff.c391 struct skb_shared_info *shinfo; in __finalize_skb_around() local
406 shinfo = skb_shinfo(skb); in __finalize_skb_around()
407 memset(shinfo, 0, offsetof(struct skb_shared_info, dataref)); in __finalize_skb_around()
408 atomic_set(&shinfo->dataref, 1); in __finalize_skb_around()
1065 struct skb_shared_info *shinfo; in skb_pp_frag_ref() local
1072 shinfo = skb_shinfo(skb); in skb_pp_frag_ref()
1074 for (i = 0; i < shinfo->nr_frags; i++) { in skb_pp_frag_ref()
1075 head_netmem = netmem_compound_head(shinfo->frags[i].netmem); in skb_pp_frag_ref()
1107 struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_release_data() local
1110 if (!skb_data_unref(skb, shinfo)) in skb_release_data()
[all …]
H A Dgro.c642 struct skb_shared_info *shinfo; in napi_reuse_skb() local
661 shinfo = skb_shinfo(skb); in napi_reuse_skb()
662 shinfo->gso_type = 0; in napi_reuse_skb()
663 shinfo->gso_size = 0; in napi_reuse_skb()
664 shinfo->hwtstamps.hwtstamp = 0; in napi_reuse_skb()
/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()
/linux/include/linux/
H A Dskbuff_ref.h68 struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_frag_unref() local
71 __skb_frag_unref(&shinfo->frags[f], skb->pp_recycle); in skb_frag_unref()
H A Dvirtio_net.h160 struct skb_shared_info *shinfo = skb_shinfo(skb); in __virtio_net_hdr_to_skb() local
191 shinfo->gso_size = gso_size; in __virtio_net_hdr_to_skb()
192 shinfo->gso_type = gso_type; in __virtio_net_hdr_to_skb()
195 shinfo->gso_type |= SKB_GSO_DODGY; in __virtio_net_hdr_to_skb()
196 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()
2566 static inline void __skb_fill_netmem_desc_noacc(struct skb_shared_info *shinfo, in __skb_fill_netmem_desc_noacc() argument
2570 skb_frag_t *frag = &shinfo->frags[i]; in __skb_fill_netmem_desc_noacc()
2575 static inline void __skb_fill_page_desc_noacc(struct skb_shared_info *shinfo, in __skb_fill_page_desc_noacc() argument
2579 __skb_fill_netmem_desc_noacc(shinfo, i, page_to_netmem(page), off, in __skb_fill_page_desc_noacc()
2679 struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_fill_page_desc_noacc() local
2681 __skb_fill_page_desc_noacc(shinfo, i, page, off, size); in skb_fill_page_desc_noacc()
2682 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/drivers/net/ethernet/google/gve/
H A Dgve_tx_dqo.c682 const struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_tx_add_skb_no_copy_dqo() local
709 /*eop=*/shinfo->nr_frags == 0, is_gso); in gve_tx_add_skb_no_copy_dqo()
712 for (i = 0; i < shinfo->nr_frags; i++) { in gve_tx_add_skb_no_copy_dqo()
713 const skb_frag_t *frag = &shinfo->frags[i]; in gve_tx_add_skb_no_copy_dqo()
714 bool is_eop = i == (shinfo->nr_frags - 1); in gve_tx_add_skb_no_copy_dqo()
882 const struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_num_buffer_descs_needed() local
888 for (i = 0; i < shinfo->nr_frags; i++) { in gve_num_buffer_descs_needed()
889 unsigned int frag_size = skb_frag_size(&shinfo->frags[i]); in gve_num_buffer_descs_needed()
907 const struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_can_send_tso() local
909 const int gso_size = shinfo->gso_size; in gve_can_send_tso()
[all …]
H A Dgve_tx.c638 const struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_tx_add_skb_no_copy() local
671 num_descriptors = 1 + shinfo->nr_frags; in gve_tx_add_skb_no_copy()
700 for (i = 0; i < shinfo->nr_frags; i++) { in gve_tx_add_skb_no_copy()
701 const skb_frag_t *frag = &shinfo->frags[i]; in gve_tx_add_skb_no_copy()
723 i += num_descriptors - shinfo->nr_frags; in gve_tx_add_skb_no_copy()
H A Dgve_rx_dqo.c946 struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_rx_complete_rsc() local
954 shinfo->gso_type = SKB_GSO_TCPV4; in gve_rx_complete_rsc()
957 shinfo->gso_type = SKB_GSO_TCPV6; in gve_rx_complete_rsc()
963 shinfo->gso_size = le16_to_cpu(desc->rsc_seg_len); in gve_rx_complete_rsc()
/linux/arch/x86/kvm/
H A Dxen.c76 struct shared_info *shinfo = gpc->khva; in kvm_xen_shared_info_init() local
78 wc_sec_hi = &shinfo->wc_sec_hi; in kvm_xen_shared_info_init()
79 wc = &shinfo->wc; in kvm_xen_shared_info_init()
83 struct compat_shared_info *shinfo = gpc->khva; in kvm_xen_shared_info_init() local
85 wc_sec_hi = &shinfo->arch.wc_sec_hi; in kvm_xen_shared_info_init()
86 wc = &shinfo->wc; in kvm_xen_shared_info_init()
1450 struct shared_info *shinfo = gpc->khva; in wait_pending_event() local
1451 pending_bits = (unsigned long *)&shinfo->evtchn_pending; in wait_pending_event()
1453 struct compat_shared_info *shinfo = gpc->khva; in wait_pending_event() local
1454 pending_bits = (unsigned long *)&shinfo->evtchn_pending; in wait_pending_event()
[all …]
/linux/drivers/net/ethernet/meta/fbnic/
H A Dfbnic_txrx.c197 struct skb_shared_info *shinfo, __le64 *meta, in fbnic_tx_lso() argument
207 if (shinfo->gso_type & SKB_GSO_PARTIAL) { in fbnic_tx_lso()
227 if (shinfo->gso_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6)) { in fbnic_tx_lso()
245 FIELD_PREP(FBNIC_TWD_MSS_MASK, shinfo->gso_size) | in fbnic_tx_lso()
248 FBNIC_XMIT_CB(skb)->bytecount += (shinfo->gso_segs - 1) * hdrlen; in fbnic_tx_lso()
249 FBNIC_XMIT_CB(skb)->gso_segs = shinfo->gso_segs; in fbnic_tx_lso()
252 ring->stats.twq.lso += shinfo->gso_segs; in fbnic_tx_lso()
261 struct skb_shared_info *shinfo = skb_shinfo(skb); in fbnic_tx_offloads() local
276 if (shinfo->gso_size) { in fbnic_tx_offloads()
277 if (fbnic_tx_lso(ring, skb, shinfo, meta, &l2len, &i3len)) in fbnic_tx_offloads()
[all …]
/linux/net/ipv4/
H A Dtcp_offload.c372 struct skb_shared_info *shinfo; in tcp_gro_complete()
381 shinfo = skb_shinfo(skb); in tcp_gro_complete()
382 shinfo->gso_segs = NAPI_GRO_CB(skb)->count; in tcp_gro_complete()
385 shinfo->gso_type |= SKB_GSO_TCP_ACCECN; in tcp_gro_complete()
373 struct skb_shared_info *shinfo; tcp_gro_complete() local
H A Dtcp_output.c1783 struct skb_shared_info *shinfo = skb_shinfo(skb); in tcp_fragment()
1786 !before(shinfo->tskey, TCP_SKB_CB(skb2)->seq)) { in tcp_fragment()
1788 u8 tsflags = shinfo->tx_flags & SKBTX_ANY_TSTAMP; in tcp_fragment()
1790 shinfo->tx_flags &= ~tsflags; in tcp_fragment()
1792 swap(shinfo->tskey, shinfo2->tskey); in tcp_fragment()
1918 struct skb_shared_info *shinfo; in __tcp_mtu_to_mss()
1924 shinfo = skb_shinfo(skb); in __tcp_mtu_to_mss()
1925 for (i = 0; i < shinfo->nr_frags; i++) { in __tcp_mtu_to_mss()
1926 int size = skb_frag_size(&shinfo->frags[i]); in __tcp_mtu_to_mss()
1932 shinfo in __tcp_mtu_to_mss()
1721 struct skb_shared_info *shinfo = skb_shinfo(skb); tcp_fragment_tstamp() local
1856 struct skb_shared_info *shinfo; __pskb_trim_head() local
3381 struct skb_shared_info *shinfo = skb_shinfo(skb); tcp_skb_collapse_tstamp() local
[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.c423 struct skb_shared_info *shinfo; in __octep_vf_oq_process_rx() local
437 shinfo = skb_shinfo(skb); in __octep_vf_oq_process_rx()
452 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
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()
/linux/drivers/net/ethernet/freescale/enetc/
H A Denetc.c1719 struct skb_shared_info *shinfo; in enetc_xdp_frame_to_xdp_tx_swbd() local
1747 shinfo = xdp_get_shared_info_from_frame(xdp_frame); in enetc_xdp_frame_to_xdp_tx_swbd()
1749 for (f = 0, frag = &shinfo->frags[0]; f < shinfo->nr_frags; in enetc_xdp_frame_to_xdp_tx_swbd()
1846 struct skb_shared_info *shinfo = xdp_get_shared_info_from_buff(xdp_buff); in enetc_add_rx_buff_to_xdp() local
1855 shinfo->xdp_frags_size = size; in enetc_add_rx_buff_to_xdp()
1856 shinfo->nr_frags = 0; in enetc_add_rx_buff_to_xdp()
1858 shinfo->xdp_frags_size += size; in enetc_add_rx_buff_to_xdp()
1864 frag = &shinfo->frags[shinfo->nr_frags]; in enetc_add_rx_buff_to_xdp()
1868 shinfo->nr_frags++; in enetc_add_rx_buff_to_xdp()
/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 l4.udp->len = htons(shinfo->gso_size + sizeof(struct udphdr)); in idpf_tso()
2881 off->mss = shinfo->gso_size; in idpf_tso()
[all …]

12