Home
last modified time | relevance | path

Searched refs:shinfo (Results 1 – 25 of 38) 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.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 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
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 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/google/gve/
H A Dgve_tx_dqo.c573 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 Dgve_rx_dqo.c996 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 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/meta/fbnic/
H A Dfbnic_txrx.c200 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 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()
H A Doctep_main.c864 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 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
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 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 in __pskb_trim_head()
3441 struct skb_shared_info *shinfo = skb_shinfo(skb); tcp_skb_collapse_tstamp() local
[all...]
H A Dtcp_ipv4.c1904 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 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 …]
H A Didpf_lib.c2387 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 Ddma.c978 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 Dt7xx_hif_dpmaif_rx.c398 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()

12