Home
last modified time | relevance | path

Searched refs:skb_shinfo (Results 1 – 25 of 323) sorted by relevance

12345678910>>...13

/linux/net/ipv4/
H A Dtcp_offload.c19 u32 flags = skb_shinfo(gso_skb)->tx_flags & SKBTX_ANY_TSTAMP; in tcp_gso_tstamp()
20 u32 ts_seq = skb_shinfo(gso_skb)->tskey; in tcp_gso_tstamp()
24 skb_shinfo(skb)->tx_flags |= flags; in tcp_gso_tstamp()
25 skb_shinfo(skb)->tskey = ts_seq; in tcp_gso_tstamp()
101 if (!(skb_shinfo(skb)->gso_type & SKB_GSO_TCPV4)) in tcp4_gso_segment()
107 if (skb_shinfo(skb)->gso_type & SKB_GSO_FRAGLIST) { in tcp4_gso_segment()
110 if ((skb_pagelen(skb) - th->doff * 4 == skb_shinfo(skb)->gso_size) && in tcp4_gso_segment()
111 !(skb_shinfo(skb)->gso_type & SKB_GSO_DODGY)) in tcp4_gso_segment()
163 mss = skb_shinfo(skb)->gso_size; in tcp_gso_segment()
170 skb_shinfo(skb)->gso_segs = DIV_ROUND_UP(skb->len, mss); in tcp_gso_segment()
[all …]
H A Dudp_offload.c200 if (skb_shinfo(skb)->gso_type & SKB_GSO_PARTIAL) in __skb_udp_tunnel_segment()
216 need_csum = !!(skb_shinfo(skb)->gso_type & SKB_GSO_UDP_TUNNEL_CSUM); in __skb_udp_tunnel_segment()
219 remcsum = !!(skb_shinfo(skb)->gso_type & SKB_GSO_TUNNEL_REMCSUM); in __skb_udp_tunnel_segment()
252 gso_partial = !!(skb_shinfo(segs)->gso_type & SKB_GSO_PARTIAL); in __skb_udp_tunnel_segment()
284 udp_set_len_short(uh, skb_shinfo(skb)->gso_size + in __skb_udp_tunnel_segment()
467 unsigned int mss = skb_shinfo(skb)->gso_size; in __udp_gso_segment_list()
494 mss = skb_shinfo(gso_skb)->gso_size; in __udp_gso_segment()
500 !(skb_shinfo(gso_skb)->gso_type & SKB_GSO_FRAGLIST))) in __udp_gso_segment()
511 skb_shinfo(gso_skb)->gso_segs = DIV_ROUND_UP(gso_skb->len - sizeof(*uh), in __udp_gso_segment()
516 if (skb_shinfo(gso_skb)->gso_type & SKB_GSO_FRAGLIST) { in __udp_gso_segment()
[all …]
H A Dgre_offload.c45 need_csum = !!(skb_shinfo(skb)->gso_type & SKB_GSO_GRE_CSUM); in gre_gso_segment()
65 gso_partial = !!(skb_shinfo(segs)->gso_type & SKB_GSO_PARTIAL); in gre_gso_segment()
103 skb_shinfo(skb)->gso_size; in gre_gso_segment()
245 skb_shinfo(skb)->gso_type = SKB_GSO_GRE; in gre_gro_complete()
/linux/net/core/
H A Dskbuff.c408 shinfo = skb_shinfo(skb); in __finalize_skb_around()
900 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in skb_coalesce_rx_frag()
919 skb_drop_list(&skb_shinfo(skb)->frag_list); in skb_drop_fraglist()
1069 shinfo = skb_shinfo(skb); in skb_pp_frag_ref()
1101 struct skb_shared_info *shinfo = skb_shinfo(skb); in skb_release_data()
1312 struct skb_shared_info *sh = skb_shinfo(skb); in skb_dump()
1377 for (i = 0; len && i < skb_shinfo(skb)->nr_frags; i++) { in skb_dump()
1378 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in skb_dump()
1636 atomic_inc(&(skb_shinfo(skb)->dataref)); in __skb_clone()
1659 skb_shinfo(n)->frag_list = first; in alloc_skb_for_msg()
[all …]
H A Dtso.c55 (tso->next_frag_idx < skb_shinfo(skb)->nr_frags)) { in tso_build_data()
56 skb_frag_t *frag = &skb_shinfo(skb)->frags[tso->next_frag_idx]; in tso_build_data()
81 (tso->next_frag_idx < skb_shinfo(skb)->nr_frags)) { in tso_start()
82 skb_frag_t *frag = &skb_shinfo(skb)->frags[tso->next_frag_idx]; in tso_start()
105 nr_frags = skb_shinfo(skb)->nr_frags; in tso_dma_iova_try()
117 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in tso_dma_iova_try()
169 unsigned int nr_frags = skb_shinfo(skb)->nr_frags; in tso_dma_map_init()
192 phys = skb_frag_phys(&skb_shinfo(skb)->frags[0]); in tso_dma_map_init()
207 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in tso_dma_map_init()
H A Dgro.c94 struct skb_shared_info *pinfo, *skbinfo = skb_shinfo(skb); in skb_gro_receive()
127 pinfo = skb_shinfo(lp); in skb_gro_receive()
207 skb_shinfo(p)->frag_list = skb; in skb_gro_receive()
219 skb_shinfo(p)->flags |= skbinfo->flags & SKBFL_SHARED_FRAG; in skb_gro_receive()
224 skb_shinfo(lp)->flags |= skbinfo->flags & SKBFL_SHARED_FRAG; in skb_gro_receive()
243 skb_shinfo(p)->frag_list = skb; in skb_gro_receive_list()
259 skb_shinfo(p)->flags |= skb_shinfo(skb)->flags & SKBFL_SHARED_FRAG; in skb_gro_receive_list()
276 skb_shinfo(skb)->gso_size = 0; in gro_complete()
415 pinfo = skb_shinfo(skb); in skb_gro_reset_offset()
430 struct skb_shared_info *pinfo = skb_shinfo(skb); in gro_pull_from_frag0()
[all …]
/linux/drivers/net/wireless/intel/iwlwifi/
H A Diwl-utils.c22 unsigned int mss = skb_shinfo(skb)->gso_size; in iwl_tx_tso_segment()
27 skb_shinfo(skb)->gso_size = num_subframes * mss; in iwl_tx_tso_segment()
31 skb_shinfo(skb)->gso_size = mss; in iwl_tx_tso_segment()
32 skb_shinfo(skb)->gso_type = ipv4 ? SKB_GSO_TCPV4 : SKB_GSO_TCPV6; in iwl_tx_tso_segment()
60 skb_shinfo(tmp)->gso_size = mss; in iwl_tx_tso_segment()
61 skb_shinfo(tmp)->gso_type = ipv4 ? SKB_GSO_TCPV4 : in iwl_tx_tso_segment()
73 skb_shinfo(tmp)->gso_size = 0; in iwl_tx_tso_segment()
/linux/net/ipv6/
H A Dtcpv6_offload.c88 skb_shinfo(skb)->gso_type |= SKB_GSO_FRAGLIST | SKB_GSO_TCPV6; in tcp6_gro_complete()
89 skb_shinfo(skb)->gso_segs = NAPI_GRO_CB(skb)->count; in tcp6_gro_complete()
98 skb_shinfo(skb)->gso_type |= SKB_GSO_TCPV6; in tcp6_gro_complete()
173 if (!(skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6)) in tcp6_gso_segment()
179 if (skb_shinfo(skb)->gso_type & SKB_GSO_FRAGLIST) { in tcp6_gso_segment()
182 if ((skb_pagelen(skb) - th->doff * 4 == skb_shinfo(skb)->gso_size) && in tcp6_gso_segment()
183 !(skb_shinfo(skb)->gso_type & SKB_GSO_DODGY)) in tcp6_gso_segment()
H A Dudp_offload.c33 if (skb->encapsulation && skb_shinfo(skb)->gso_type & in udp6_ufo_fragment()
40 if (!(skb_shinfo(skb)->gso_type & (SKB_GSO_UDP | SKB_GSO_UDP_L4))) in udp6_ufo_fragment()
46 if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4) in udp6_ufo_fragment()
49 mss = skb_shinfo(skb)->gso_size; in udp6_ufo_fragment()
176 skb_shinfo(skb)->gso_type |= (SKB_GSO_FRAGLIST|SKB_GSO_UDP_L4); in udp6_gro_complete()
177 skb_shinfo(skb)->gso_segs = NAPI_GRO_CB(skb)->count; in udp6_gro_complete()
/linux/drivers/net/xen-netback/
H A Dnetback.c371 skb_shinfo(skb)->destructor_arg = NULL; in xenvif_alloc_skb()
387 struct skb_shared_info *shinfo = skb_shinfo(skb); in xenvif_get_requests()
486 shinfo = skb_shinfo(nskb); in xenvif_get_requests()
507 skb_shinfo(skb)->frag_list = nskb; in xenvif_get_requests()
561 struct skb_shared_info *shinfo = skb_shinfo(skb); in xenvif_tx_check_gop()
678 shinfo = skb_shinfo(shinfo->frag_list); in xenvif_tx_check_gop()
690 struct skb_shared_info *shinfo = skb_shinfo(skb); in xenvif_fill_frags()
705 skb_shinfo(skb)->destructor_arg = in xenvif_fill_frags()
772 skb_shinfo(skb)->gso_type = SKB_GSO_TCPV4; in xenvif_set_skb_gso()
775 skb_shinfo(skb)->gso_type = SKB_GSO_TCPV6; in xenvif_set_skb_gso()
[all …]
/linux/drivers/net/ethernet/sfc/siena/
H A Dtx.h28 if (skb_shinfo(skb)->gso_segs > 1 && in efx_tx_csum_type_skb()
29 !(skb_shinfo(skb)->gso_type & SKB_GSO_PARTIAL) && in efx_tx_csum_type_skb()
30 (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_TUNNEL_CSUM)) in efx_tx_csum_type_skb()
/linux/Documentation/translations/zh_CN/networking/
H A Dtimestamping.rst313 节。它存储相关的序列号在 skb_shinfo(skb)->tskey。因为一个 skbuff 只有一
528 - 在 hard_start_xmit() 中,检查 (skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP)
530 - 如果此 skb 和请求都可能,则声明驱动程序正在执行时间戳,通过设置 skb_shinfo(skb)->tx_flags
533 skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS;
652 skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS;
660 == true``")和当前 skb 是否需要 TX 时间戳("``skb_shinfo(skb)->tx_flags
661 & SKBTX_HW_TSTAMP``")。如果为真,则设置 "``skb_shinfo(skb)->tx_flags
667 型的错误所在:驱动程序采取捷径,只检查 "``skb_shinfo(skb)->tx_flags &
672 针对 "``skb_shinfo(skb)->tx_flags & SKBTX_IN_PROGRESS``",还针对
/linux/net/openvswitch/
H A Dopenvswitch_trace.h52 __entry->nr_frags = skb_shinfo(skb)->nr_frags;
53 __entry->gso_size = skb_shinfo(skb)->gso_size;
54 __entry->gso_type = skb_shinfo(skb)->gso_type;
122 __entry->nr_frags = skb_shinfo(skb)->nr_frags;
123 __entry->gso_size = skb_shinfo(skb)->gso_size;
124 __entry->gso_type = skb_shinfo(skb)->gso_type;
/linux/net/tls/
H A Dtls_strp.c32 struct skb_shared_info *shinfo = skb_shinfo(strp->anchor); in tls_strp_anchor_free()
53 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { in tls_strp_skb_copy()
54 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; in tls_strp_skb_copy()
147 struct skb_shared_info *shinfo = skb_shinfo(strp->anchor); in tls_strp_msg_hold()
194 struct skb_shared_info *shinfo = skb_shinfo(strp->anchor); in tls_strp_flush_anchor_copy()
219 if (unlikely(nfrag >= skb_shinfo(skb)->nr_frags)) { in tls_strp_copyin_frag()
224 frag = &skb_shinfo(skb)->frags[nfrag]; in tls_strp_copyin_frag()
305 shinfo = skb_shinfo(skb); in tls_strp_copyin_skb()
403 shinfo = skb_shinfo(strp->anchor); in tls_strp_read_copy()
440 first = skb_shinfo(strp->anchor)->frag_list; in tls_strp_check_queue_ok()
[all …]
/linux/drivers/net/ethernet/sfc/
H A Dtx_tso.c291 bool is_last = st->out_len <= skb_shinfo(skb)->gso_size; in tso_start_new_packet()
295 st->packet_space = skb_shinfo(skb)->gso_size; in tso_start_new_packet()
341 st->seqnum += skb_shinfo(skb)->gso_size; in tso_start_new_packet()
386 EFX_WARN_ON_ONCE_PARANOID(skb_shinfo(skb)->nr_frags < 1); in efx_enqueue_skb_tso()
389 skb_shinfo(skb)->frags + frag_i); in efx_enqueue_skb_tso()
408 if (++frag_i >= skb_shinfo(skb)->nr_frags) in efx_enqueue_skb_tso()
412 skb_shinfo(skb)->frags + frag_i); in efx_enqueue_skb_tso()
/linux/include/linux/
H A Dvirtio_net.h161 struct skb_shared_info *shinfo = skb_shinfo(skb); in __virtio_net_hdr_to_skb()
256 struct skb_shared_info *sinfo = skb_shinfo(skb); in virtio_net_hdr_from_skb()
371 skb_shinfo(skb)->gso_type |= SKB_GSO_UDP_TUNNEL_CSUM; in virtio_net_hdr_tnl_to_skb()
373 skb_shinfo(skb)->gso_type |= SKB_GSO_UDP_TUNNEL; in virtio_net_hdr_tnl_to_skb()
433 tnl_gso_type = skb_shinfo(skb)->gso_type & (SKB_GSO_UDP_TUNNEL | in virtio_net_hdr_tnl_from_skb()
457 skb_shinfo(skb)->gso_type &= ~tnl_gso_type; in virtio_net_hdr_tnl_from_skb()
459 skb_shinfo(skb)->gso_type |= tnl_gso_type; in virtio_net_hdr_tnl_from_skb()
471 if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_TUNNEL_CSUM) in virtio_net_hdr_tnl_from_skb()
H A Dudp.h190 if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4) { in udp_cmsg_recv()
191 gso_size = skb_shinfo(skb)->gso_size; in udp_cmsg_recv()
219 if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4 && in udp_unexpected_gso()
223 if (skb_shinfo(skb)->gso_type & SKB_GSO_FRAGLIST && in udp_unexpected_gso()
233 !(skb_shinfo(skb)->gso_type & in udp_unexpected_gso()
H A Dskbuff.h574 #define skb_uarg(SKB) ((struct ubuf_info *)(skb_shinfo(SKB)->destructor_arg))
1784 #define skb_shinfo(SKB) ((struct skb_shared_info *)(skb_end_pointer(SKB))) macro
1788 return &skb_shinfo(skb)->hwtstamps; in skb_hwtstamps()
1793 bool is_zcopy = skb && skb_shinfo(skb)->flags & SKBFL_ZEROCOPY_ENABLE; in skb_zcopy()
1800 return skb_shinfo(skb)->flags & SKBFL_PURE_ZEROCOPY; in skb_zcopy_pure()
1805 return skb_shinfo(skb)->flags & SKBFL_MANAGED_FRAG_REFS; in skb_zcopy_managed()
1821 skb_shinfo(skb)->destructor_arg = uarg; in skb_zcopy_init()
1822 skb_shinfo(skb)->flags |= uarg->flags; in skb_zcopy_init()
1839 skb_shinfo(skb)->destructor_arg = (void *)((uintptr_t) val | 0x1UL); in skb_zcopy_set_nouarg()
1840 skb_shinfo(skb)->flags |= SKBFL_ZEROCOPY_FRAG; in skb_zcopy_set_nouarg()
[all …]
/linux/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_txrx.c148 if (skb_shinfo(skb)->tx_flags & SKBTX_IN_PROGRESS) { in otx2_snd_pkt_handler()
196 if (likely(!skb_shinfo(skb)->nr_frags)) { in otx2_skb_add_frag()
209 if (likely(skb_shinfo(skb)->nr_frags < MAX_SKB_FRAGS)) { in otx2_skb_add_frag()
210 skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, page, in otx2_skb_add_frag()
714 if (skb_shinfo(skb)->gso_size) { in otx2_sqe_add_ext()
717 ext->lso_mps = skb_shinfo(skb)->gso_size; in otx2_sqe_add_ext()
720 if (skb_shinfo(skb)->gso_type & SKB_GSO_TCPV4) { in otx2_sqe_add_ext()
729 } else if (skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6) { in otx2_sqe_add_ext()
732 } else if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4) { in otx2_sqe_add_ext()
755 } else if (skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) { in otx2_sqe_add_ext()
[all …]
/linux/net/sctp/
H A Dinqueue.c136 chunk->skb = skb_shinfo(chunk->skb)->frag_list; in sctp_inq_pop()
171 if (skb_shinfo(chunk->skb)->frag_list) in sctp_inq_pop()
176 if (WARN_ON(!skb_shinfo(chunk->skb)->frag_list)) { in sctp_inq_pop()
182 chunk->skb = skb_shinfo(chunk->skb)->frag_list; in sctp_inq_pop()
/linux/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4_ptp.h57 return skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP; in cxgb4_xmit_with_hwtstamp()
62 skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS; in cxgb4_xmit_hwtstamp_pending()
/linux/drivers/net/ethernet/sun/
H A Dsunvnet_common.c1084 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { in vnet_skb_map()
1085 skb_frag_t *f = &skb_shinfo(skb)->frags[i]; in vnet_skb_map()
1124 docopy = skb_shinfo(skb)->nr_frags >= ncookies; in vnet_skb_shape()
1125 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { in vnet_skb_shape()
1126 skb_frag_t *f = &skb_shinfo(skb)->frags[i]; in vnet_skb_shape()
1210 skb_shinfo(nskb)->gso_size = skb_shinfo(skb)->gso_size; in vnet_skb_shape()
1211 skb_shinfo(nskb)->gso_type = skb_shinfo(skb)->gso_type; in vnet_skb_shape()
1250 gso_size = skb_shinfo(skb)->gso_size; in vnet_handle_offloads()
1251 gso_type = skb_shinfo(skb)->gso_type; in vnet_handle_offloads()
1252 gso_segs = skb_shinfo(skb)->gso_segs; in vnet_handle_offloads()
[all …]
/linux/drivers/net/ethernet/qlogic/qede/
H A Dqede_fp.c113 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++, bds_consumed++) { in qede_free_tx_pkt()
193 unsigned short gso_type = skb_shinfo(skb)->gso_type; in qede_xmit_type()
285 return (skb_shinfo(skb)->nr_frags > allowed_frags); in qede_pkt_req_lin()
657 skb_shinfo(skb)->gso_type = SKB_GSO_TCPV6; in qede_set_gro_params()
659 skb_shinfo(skb)->gso_type = SKB_GSO_TCPV4; in qede_set_gro_params()
661 skb_shinfo(skb)->gso_size = __le16_to_cpu(cqe->len_on_first_bd) - in qede_set_gro_params()
935 skb_shinfo(skb)->gso_type = 0; in qede_gro_receive()
936 skb_shinfo(skb)->gso_size = 0; in qede_gro_receive()
941 if (skb_shinfo(skb)->gso_size) { in qede_gro_receive()
1215 skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, bd->data, in qede_rx_build_jumbo()
[all …]
/linux/net/xfrm/
H A Dxfrm_ipcomp.c78 frag = skb_shinfo(skb)->frags + skb_shinfo(skb)->nr_frags; in ipcomp_post_acomp()
88 skb_shinfo(skb)->nr_frags++; in ipcomp_post_acomp()
151 nfrags = skb_shinfo(skb)->nr_frags; in ipcomp_setup_req()
/linux/drivers/net/ethernet/cavium/thunder/
H A Dnicvf_queues.c1262 struct skb_shared_info *sh = skb_shinfo(skb); in nicvf_tso_count_subdescs()
1310 if (skb_shinfo(skb)->gso_size && !nic->hw_tso) { in nicvf_sq_subdesc_required()
1316 if (nic->t88 && nic->hw_tso && skb_shinfo(skb)->gso_size) in nicvf_sq_subdesc_required()
1319 if (skb_shinfo(skb)->nr_frags) in nicvf_sq_subdesc_required()
1320 subdesc_cnt += skb_shinfo(skb)->nr_frags; in nicvf_sq_subdesc_required()
1345 if (nic->t88 && nic->hw_tso && skb_shinfo(skb)->gso_size) { in nicvf_sq_add_hdr_subdesc()
1382 if (nic->hw_tso && skb_shinfo(skb)->gso_size) { in nicvf_sq_add_hdr_subdesc()
1385 hdr->tso_max_paysize = skb_shinfo(skb)->gso_size; in nicvf_sq_add_hdr_subdesc()
1392 if (!(skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP)) in nicvf_sq_add_hdr_subdesc()
1396 if (skb_shinfo(skb)->gso_size) in nicvf_sq_add_hdr_subdesc()
[all …]

12345678910>>...13