Home
last modified time | relevance | path

Searched refs:shinfo (Results 1 – 25 of 34) 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_64/
H A Dxen_shinfo_test.c
/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.c531 struct skb_shared_info *shinfo = skb_shinfo(skb); in handle_gso_type() local
534 shinfo->gso_type |= gso_type; in handle_gso_type()
535 skb_decrease_gso_size(shinfo, encap_len); in handle_gso_type()
536 shinfo->gso_segs = 0; in handle_gso_type()
H A Dskbuff.c301 struct skb_shared_info *shinfo; in __finalize_skb_around() local
316 shinfo = skb_shinfo(skb); in __finalize_skb_around()
317 memset(shinfo, 0, offsetof(struct skb_shared_info, dataref)); in __finalize_skb_around()
318 atomic_set(&shinfo->dataref, 1); in __finalize_skb_around()
972 struct skb_shared_info *shinfo; in skb_pp_frag_ref() local
979 shinfo = skb_shinfo(skb); in skb_pp_frag_ref()
981 for (i = 0; i < shinfo->nr_frags; i++) { in skb_pp_frag_ref()
982 head_netmem = netmem_compound_head(shinfo->frags[i].netmem); in skb_pp_frag_ref()
1014 struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_release_data() local
1017 if (!skb_data_unref(skb, shinfo)) in skb_release_data()
[all …]
H A Dfilter.c3313 struct skb_shared_info *shinfo = skb_shinfo(skb); in bpf_skb_proto_4_to_6() local
3316 if (shinfo->gso_type & SKB_GSO_TCPV4) { in bpf_skb_proto_4_to_6()
3317 shinfo->gso_type &= ~SKB_GSO_TCPV4; in bpf_skb_proto_4_to_6()
3318 shinfo->gso_type |= SKB_GSO_TCPV6; in bpf_skb_proto_4_to_6()
3343 struct skb_shared_info *shinfo = skb_shinfo(skb); in bpf_skb_proto_6_to_4() local
3346 if (shinfo->gso_type & SKB_GSO_TCPV6) { in bpf_skb_proto_6_to_4()
3347 shinfo->gso_type &= ~SKB_GSO_TCPV6; in bpf_skb_proto_6_to_4()
3348 shinfo->gso_type |= SKB_GSO_TCPV4; in bpf_skb_proto_6_to_4()
3550 struct skb_shared_info *shinfo = skb_shinfo(skb); in bpf_skb_net_grow() local
3553 shinfo->gso_type |= gso_type; in bpf_skb_net_grow()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx4/
H A Den_tx.c606 const struct skb_shared_info *shinfo, in is_inline() argument
614 if (shinfo->nr_frags == 1) { in is_inline()
615 ptr = skb_frag_address_safe(&shinfo->frags[0]); in is_inline()
621 if (shinfo->nr_frags) in is_inline()
638 const struct skb_shared_info *shinfo, in get_real_size() argument
648 if (shinfo->gso_size) { in get_real_size()
662 real_size = CTRL_SIZE + shinfo->nr_frags * DS_SIZE + in get_real_size()
678 shinfo, pfrag); in get_real_size()
684 (shinfo->nr_frags + 1) * DS_SIZE; in get_real_size()
692 const struct skb_shared_info *shinfo, in build_inline_wqe() argument
[all …]
/linux/drivers/net/xen-netback/
H A Dnetback.c386 struct skb_shared_info *shinfo = skb_shinfo(skb); in xenvif_get_requests() local
387 skb_frag_t *frags = shinfo->frags; in xenvif_get_requests()
395 nr_slots = shinfo->nr_frags + frag_overflow + 1; in xenvif_get_requests()
461 for (shinfo->nr_frags = 0; nr_slots > 0 && shinfo->nr_frags < MAX_SKB_FRAGS; in xenvif_get_requests()
473 frag_set_pending_idx(&frags[shinfo->nr_frags], pending_idx); in xenvif_get_requests()
474 ++shinfo->nr_frags; in xenvif_get_requests()
485 shinfo = skb_shinfo(nskb); in xenvif_get_requests()
486 frags = shinfo->frags; in xenvif_get_requests()
488 for (shinfo->nr_frags = 0; shinfo->nr_frags < nr_slots; ++txp) { in xenvif_get_requests()
499 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/include/linux/
H A Dvirtio_net.h159 struct skb_shared_info *shinfo = skb_shinfo(skb); in virtio_net_hdr_to_skb() local
190 shinfo->gso_size = gso_size; in virtio_net_hdr_to_skb()
191 shinfo->gso_type = gso_type; in virtio_net_hdr_to_skb()
194 shinfo->gso_type |= SKB_GSO_DODGY; in virtio_net_hdr_to_skb()
195 shinfo->gso_segs = 0; in virtio_net_hdr_to_skb()
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()
/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/wwan/t7xx/
H A Dt7xx_hif_dpmaif_tx.c247 struct skb_shared_info *shinfo; in t7xx_dpmaif_add_skb_to_ring() local
261 shinfo = skb_shinfo(skb); in t7xx_dpmaif_add_skb_to_ring()
262 if (shinfo->frag_list) in t7xx_dpmaif_add_skb_to_ring()
265 payload_cnt = shinfo->nr_frags + 1; in t7xx_dpmaif_add_skb_to_ring()
290 skb_frag_t *frag = shinfo->frags + wr_cnt - 1; in t7xx_dpmaif_add_skb_to_ring()
/linux/net/ipv4/
H A Dtcp_offload.c394 struct skb_shared_info *shinfo; in tcp_gro_complete() local
403 shinfo = skb_shinfo(skb); in tcp_gro_complete()
404 shinfo->gso_segs = NAPI_GRO_CB(skb)->count; in tcp_gro_complete()
407 shinfo->gso_type |= SKB_GSO_TCP_ECN; in tcp_gro_complete()
H A Dtcp_output.c1565 struct skb_shared_info *shinfo = skb_shinfo(skb); in tcp_fragment_tstamp() local
1568 !before(shinfo->tskey, TCP_SKB_CB(skb2)->seq)) { in tcp_fragment_tstamp()
1570 u8 tsflags = shinfo->tx_flags & SKBTX_ANY_TSTAMP; in tcp_fragment_tstamp()
1572 shinfo->tx_flags &= ~tsflags; in tcp_fragment_tstamp()
1574 swap(shinfo->tskey, shinfo2->tskey); in tcp_fragment_tstamp()
1700 struct skb_shared_info *shinfo; in __pskb_trim_head() local
1706 shinfo = skb_shinfo(skb); in __pskb_trim_head()
1707 for (i = 0; i < shinfo->nr_frags; i++) { in __pskb_trim_head()
1708 int size = skb_frag_size(&shinfo->frags[i]); in __pskb_trim_head()
1714 shinfo->frags[k] = shinfo->frags[i]; in __pskb_trim_head()
[all …]
H A Dtcp_ipv4.c2011 struct skb_shared_info *shinfo; local
2068 shinfo = skb_shinfo(skb);
2069 gso_size = shinfo->gso_size ?: skb->len;
2070 gso_segs = shinfo->gso_segs ?: 1;
2072 shinfo = skb_shinfo(tail);
2073 tail_gso_size = shinfo->gso_size ?: (tail->len - hdrlen);
2074 tail_gso_segs = shinfo->gso_segs ?: 1;
2102 shinfo->gso_size = max(gso_size, tail_gso_size);
2103 shinfo->gso_segs = min_t(u32, gso_segs + tail_gso_segs, 0xFFFF);
/linux/drivers/net/ethernet/intel/idpf/
H A Didpf_txrx.c2221 const struct skb_shared_info *shinfo; in idpf_tx_desc_count_required() local
2229 shinfo = skb_shinfo(skb); in idpf_tx_desc_count_required()
2230 for (i = 0; i < shinfo->nr_frags; i++) { in idpf_tx_desc_count_required()
2233 size = skb_frag_size(&shinfo->frags[i]); in idpf_tx_desc_count_required()
2523 const struct skb_shared_info *shinfo; in idpf_tso() local
2544 shinfo = skb_shinfo(skb); in idpf_tso()
2562 switch (shinfo->gso_type & ~SKB_GSO_DODGY) { in idpf_tso()
2574 l4.udp->len = htons(shinfo->gso_size + sizeof(struct udphdr)); in idpf_tso()
2581 off->mss = shinfo->gso_size; in idpf_tso()
2582 off->tso_segs = shinfo->gso_segs; in idpf_tso()
[all …]
/linux/drivers/net/ethernet/google/gve/
H A Dgve_rx_dqo.c650 struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_rx_complete_rsc() local
658 shinfo->gso_type = SKB_GSO_TCPV4; in gve_rx_complete_rsc()
661 shinfo->gso_type = SKB_GSO_TCPV6; in gve_rx_complete_rsc()
667 shinfo->gso_size = le16_to_cpu(desc->rsc_seg_len); in gve_rx_complete_rsc()
H A Dgve_tx.c646 const struct skb_shared_info *shinfo = skb_shinfo(skb); in gve_tx_add_skb_no_copy() local
679 num_descriptors = 1 + shinfo->nr_frags; in gve_tx_add_skb_no_copy()
708 for (i = 0; i < shinfo->nr_frags; i++) { in gve_tx_add_skb_no_copy()
709 const skb_frag_t *frag = &shinfo->frags[i]; in gve_tx_add_skb_no_copy()
731 i += num_descriptors - shinfo->nr_frags; in gve_tx_add_skb_no_copy()
/linux/drivers/net/ethernet/freescale/enetc/
H A Denetc.c1633 struct skb_shared_info *shinfo; in enetc_xdp_frame_to_xdp_tx_swbd() local
1661 shinfo = xdp_get_shared_info_from_frame(xdp_frame); in enetc_xdp_frame_to_xdp_tx_swbd()
1663 for (f = 0, frag = &shinfo->frags[0]; f < shinfo->nr_frags; in enetc_xdp_frame_to_xdp_tx_swbd()
1759 struct skb_shared_info *shinfo = xdp_get_shared_info_from_buff(xdp_buff); in enetc_add_rx_buff_to_xdp() local
1768 shinfo->xdp_frags_size = size; in enetc_add_rx_buff_to_xdp()
1769 shinfo->nr_frags = 0; in enetc_add_rx_buff_to_xdp()
1771 shinfo->xdp_frags_size += size; in enetc_add_rx_buff_to_xdp()
1777 frag = &shinfo->frags[shinfo->nr_frags]; in enetc_add_rx_buff_to_xdp()
1781 shinfo->nr_frags++; in enetc_add_rx_buff_to_xdp()
/linux/net/sched/
H A Dsch_cake.c1398 const struct skb_shared_info *shinfo = skb_shinfo(skb); in cake_overhead() local
1406 if (!shinfo->gso_size) in cake_overhead()
1413 if (likely(shinfo->gso_type & (SKB_GSO_TCPV4 | in cake_overhead()
1430 if (unlikely(shinfo->gso_type & SKB_GSO_DODGY)) in cake_overhead()
1432 shinfo->gso_size); in cake_overhead()
1434 segs = shinfo->gso_segs; in cake_overhead()
1436 len = shinfo->gso_size + hdr_len; in cake_overhead()
1437 last_len = skb->len - shinfo->gso_size * (segs - 1); in cake_overhead()
/linux/io_uring/
H A Dnet.c1301 struct skb_shared_info *shinfo = skb_shinfo(skb); in io_sg_from_iter() local
1302 int frag = shinfo->nr_frags; in io_sg_from_iter()
1309 shinfo->flags |= SKBFL_MANAGED_FRAG_REFS; in io_sg_from_iter()
1322 __skb_fill_page_desc_noacc(shinfo, frag++, v.bv_page, in io_sg_from_iter()
1329 shinfo->nr_frags = frag; in io_sg_from_iter()
/linux/drivers/net/
H A Dvirtio_net.c1576 struct skb_shared_info *shinfo; in __virtnet_xdp_xmit_one() local
1584 shinfo = xdp_get_shared_info_from_frame(xdpf); in __virtnet_xdp_xmit_one()
1585 nr_frags = shinfo->nr_frags; in __virtnet_xdp_xmit_one()
1605 skb_frag_t *frag = &shinfo->frags[i]; in __virtnet_xdp_xmit_one()
1718 struct skb_shared_info *shinfo; in put_xdp_frags() local
1723 shinfo = xdp_get_shared_info_from_buff(xdp); in put_xdp_frags()
1724 for (i = 0; i < shinfo->nr_frags; i++) { in put_xdp_frags()
1725 xdp_page = skb_frag_page(&shinfo->frags[i]); in put_xdp_frags()
2135 struct skb_shared_info *shinfo; in virtnet_build_xdp_buff_mrg() local
2157 shinfo = xdp_get_shared_info_from_buff(xdp); in virtnet_build_xdp_buff_mrg()
[all …]
/linux/drivers/net/ethernet/realtek/rtase/
H A Drtase_main.c1300 struct skb_shared_info *shinfo = skb_shinfo(skb); in rtase_start_xmit() local
1305 u32 mss = shinfo->gso_size; in rtase_start_xmit()
1333 if (shinfo->gso_type & SKB_GSO_TCPV4) { in rtase_start_xmit()
1335 } else if (shinfo->gso_type & SKB_GSO_TCPV6) { in rtase_start_xmit()
/linux/drivers/net/ethernet/hisilicon/hns3/
H A Dhns3_enet.h751 void hns3_shinfo_pack(struct skb_shared_info *shinfo, __u32 *size);

12