Home
last modified time | relevance | path

Searched refs:gso_size (Results 1 – 25 of 159) sorted by relevance

1234567

/Linux-v6.6/include/linux/
Dvirtio_net.h86 if (hdr->gso_size == 0) in virtio_net_hdr_to_skb()
150 u16 gso_size = __virtio16_to_cpu(little_endian, hdr->gso_size); in virtio_net_hdr_to_skb() local
164 if (skb->len - p_off > gso_size * UDP_MAX_SEGMENTS) in virtio_net_hdr_to_skb()
172 if (gso_size == GSO_BY_FRAGS) in virtio_net_hdr_to_skb()
176 if (skb->len - nh_off > gso_size) { in virtio_net_hdr_to_skb()
177 shinfo->gso_size = gso_size; in virtio_net_hdr_to_skb()
203 hdr->gso_size = __cpu_to_virtio16(little_endian, in virtio_net_hdr_from_skb()
204 sinfo->gso_size); in virtio_net_hdr_from_skb()
Dudp.h59 __u16 gso_size; member
125 int gso_size; in udp_cmsg_recv() local
128 gso_size = skb_shinfo(skb)->gso_size; in udp_cmsg_recv()
129 put_cmsg(msg, SOL_UDP, UDP_GRO, sizeof(gso_size), &gso_size); in udp_cmsg_recv()
/Linux-v6.6/net/openvswitch/
Dopenvswitch_trace.h28 __field( u16, gso_size )
53 __entry->gso_size = skb_shinfo(skb)->gso_size;
72 __entry->truesize, __entry->nr_frags, __entry->gso_size,
99 __field( u16, gso_size )
123 __entry->gso_size = skb_shinfo(skb)->gso_size;
141 __entry->truesize, __entry->nr_frags, __entry->gso_size,
/Linux-v6.6/include/trace/events/
Dnet.h35 __field( u16, gso_size )
57 __entry->gso_size = skb_shinfo(skb)->gso_size;
69 __entry->gso_size, __entry->gso_segs, __entry->gso_type)
189 __field( u16, gso_size )
215 __entry->gso_size = skb_shinfo(skb)->gso_size;
226 __entry->nr_frags, __entry->gso_size, __entry->gso_type)
/Linux-v6.6/tools/testing/selftests/net/
Dudpgso_bench_rx.c215 static int recv_msg(int fd, char *buf, int len, int *gso_size) in recv_msg() argument
232 *gso_size = -1; in recv_msg()
239 *gso_size = *(int *)CMSG_DATA(cmsg); in recv_msg()
251 int ret, len, gso_size = 0, budget = 256; in do_flush_udp() local
259 ret = recv_msg(fd, rbuf, len, &gso_size); in do_flush_udp()
273 if (cfg_expected_gso_size && cfg_expected_gso_size != gso_size) in do_flush_udp()
275 "(-1 == no gso cmsg))\n", gso_size, in do_flush_udp()
/Linux-v6.6/drivers/net/ethernet/hisilicon/hns3/
Dhns3_trace.h25 __field(unsigned short, gso_size)
36 __entry->gso_size = skb_shinfo(skb)->gso_size;
49 __entry->ip_summed, __entry->gso_size, __entry->gso_segs,
/Linux-v6.6/net/ipv4/
Dtcp_offload.c82 mss = skb_shinfo(skb)->gso_size; in tcp_gso_segment()
256 mss = skb_shinfo(p)->gso_size; in tcp_gro_receive()
263 flush |= (mss != skb_shinfo(skb)->gso_size); in tcp_gro_receive()
282 flush = len != NAPI_GRO_CB(skb)->count * skb_shinfo(skb)->gso_size; in tcp_gro_receive()
Dudp.c908 if (cork->gso_size) { in udp_send_skb()
912 if (hlen + cork->gso_size > cork->fragsize) { in udp_send_skb()
916 if (datalen > cork->gso_size * UDP_MAX_SEGMENTS) { in udp_send_skb()
930 if (datalen > cork->gso_size) { in udp_send_skb()
931 skb_shinfo(skb)->gso_size = cork->gso_size; in udp_send_skb()
934 cork->gso_size); in udp_send_skb()
1001 static int __udp_cmsg_send(struct cmsghdr *cmsg, u16 *gso_size) in __udp_cmsg_send() argument
1007 *gso_size = *(__u16 *)CMSG_DATA(cmsg); in __udp_cmsg_send()
1014 int udp_cmsg_send(struct sock *sk, struct msghdr *msg, u16 *gso_size) in udp_cmsg_send() argument
1029 err = __udp_cmsg_send(cmsg, gso_size); in udp_cmsg_send()
[all …]
Dudp_offload.c126 uh->len = htons(skb_shinfo(skb)->gso_size + in __skb_udp_tunnel_segment()
254 unsigned int mss = skb_shinfo(skb)->gso_size; in __udp_gso_segment_list()
277 mss = skb_shinfo(gso_skb)->gso_size; in __udp_gso_segment()
401 mss = skb_shinfo(skb)->gso_size; in udp4_ufo_fragment()
/Linux-v6.6/include/uapi/linux/
Dvirtio_net.h142 __virtio16 gso_size; /* Bytes to append to hdr_len per frame */ member
194 __virtio16 gso_size; /* Bytes to append to hdr_len per frame */ member
/Linux-v6.6/Documentation/networking/
Dsegmentation-offloads.rst28 frames with a data payload size specified in skb_shinfo()->gso_size.
31 skb_shinfo()->gso_size should be set to a non-zero value.
114 via skb_shinfo()->gso_size.
161 generate a big skb, set gso_size to the fragmentation point and deliver it
166 To signal this, gso_size is set to the special value GSO_BY_FRAGS.
169 possibility that gso_size will be GSO_BY_FRAGS and handle that case
Dnetdev-features.rst122 gso_size. On segmentation, it segments the payload on gso_size boundaries and
124 gso_size).
/Linux-v6.6/net/core/
Dgso.c165 return thlen + shinfo->gso_size; in skb_gso_transport_seglen()
229 if (shinfo->gso_size != GSO_BY_FRAGS) in skb_gso_size_check()
/Linux-v6.6/tools/testing/selftests/bpf/progs/
Dtest_skb_ctx.c25 if (skb->gso_size != 10) in process()
/Linux-v6.6/tools/testing/selftests/bpf/prog_tests/
Dskb_helpers.c10 .gso_size = 10, in test_skb_helpers()
Dskb_ctx.c20 .gso_size = 10, in test_skb_ctx()
/Linux-v6.6/drivers/net/ethernet/sun/
Dsunvnet_common.c1210 skb_shinfo(nskb)->gso_size = skb_shinfo(skb)->gso_size; in vnet_skb_shape()
1230 int gso_size, gso_type, gso_segs; in vnet_handle_offloads() local
1250 gso_size = skb_shinfo(skb)->gso_size; in vnet_handle_offloads()
1254 if (port->tso && gso_size < datalen) in vnet_handle_offloads()
1270 if (port->tso && gso_size < datalen) { in vnet_handle_offloads()
1275 skb_shinfo(skb)->gso_size = datalen; in vnet_handle_offloads()
1289 skb_shinfo(curr)->gso_size = gso_size; in vnet_handle_offloads()
1292 DIV_ROUND_UP(curr->len - hlen, gso_size); in vnet_handle_offloads()
1294 skb_shinfo(curr)->gso_size = 0; in vnet_handle_offloads()
1435 ->gso_size; in sunvnet_start_xmit_common()
/Linux-v6.6/drivers/net/ethernet/sfc/
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()
/Linux-v6.6/net/ipv6/
Dudp.c1232 if (cork->gso_size) { in udp_v6_send_skb()
1236 if (hlen + cork->gso_size > cork->fragsize) { in udp_v6_send_skb()
1240 if (datalen > cork->gso_size * UDP_MAX_SEGMENTS) { in udp_v6_send_skb()
1254 if (datalen > cork->gso_size) { in udp_v6_send_skb()
1255 skb_shinfo(skb)->gso_size = cork->gso_size; in udp_v6_send_skb()
1258 cork->gso_size); in udp_v6_send_skb()
1341 ipc6.gso_size = READ_ONCE(up->gso_size); in udpv6_sendmsg()
1475 err = udp_cmsg_send(sk, msg, &ipc6.gso_size); in udpv6_sendmsg()
/Linux-v6.6/drivers/net/ethernet/cavium/thunder/
Dnicvf_queues.c1266 unsigned int p_len = sh->gso_size; in nicvf_tso_count_subdescs()
1311 if (skb_shinfo(skb)->gso_size && !nic->hw_tso) { in nicvf_sq_subdesc_required()
1317 if (nic->t88 && nic->hw_tso && skb_shinfo(skb)->gso_size) in nicvf_sq_subdesc_required()
1346 if (nic->t88 && nic->hw_tso && skb_shinfo(skb)->gso_size) { in nicvf_sq_add_hdr_subdesc()
1383 if (nic->hw_tso && skb_shinfo(skb)->gso_size) { in nicvf_sq_add_hdr_subdesc()
1386 hdr->tso_max_paysize = skb_shinfo(skb)->gso_size; in nicvf_sq_add_hdr_subdesc()
1399 if (skb_shinfo(skb)->gso_size) in nicvf_sq_add_hdr_subdesc()
1504 data_left = min_t(int, skb_shinfo(skb)->gso_size, total_len); in nicvf_sq_append_tso()
1565 if (skb_shinfo(skb)->gso_size && !nic->hw_tso) in nicvf_sq_append_skb()
1613 if (nic->t88 && skb_shinfo(skb)->gso_size) { in nicvf_sq_append_skb()
/Linux-v6.6/drivers/net/ethernet/google/gve/
Dgve_tx_dqo.c501 if (unlikely(skb_shinfo(skb)->gso_size < GVE_TX_MIN_TSO_MSS_DQO)) in gve_prep_tso()
554 desc->mss = skb_shinfo(skb)->gso_size; in gve_tx_fill_tso_ctx_desc()
823 const int gso_size = shinfo->gso_size; in gve_can_send_tso() local
832 if (cur_seg_size >= gso_size) { in gve_can_send_tso()
833 cur_seg_size %= gso_size; in gve_can_send_tso()
Dgve_tx.c482 u16 l3_offset, u16 gso_size, in gve_tx_fill_seg_desc() argument
491 seg_desc->seg.mss = cpu_to_be16(gso_size); in gve_tx_fill_seg_desc()
565 skb_shinfo(skb)->gso_size, in gve_tx_add_skb_copy()
643 skb_shinfo(skb)->gso_size, in gve_tx_add_skb_no_copy()
663 skb_shinfo(skb)->gso_size, in gve_tx_add_skb_no_copy()
/Linux-v6.6/drivers/net/ethernet/marvell/octeontx2/nic/
Dotx2_txrx.c666 if (skb_shinfo(skb)->gso_size) { in otx2_sqe_add_ext()
669 ext->lso_mps = skb_shinfo(skb)->gso_size; in otx2_sqe_add_ext()
906 seg_len = min_t(int, skb_shinfo(skb)->gso_size, tcp_data); in otx2_sq_append_tso()
983 last_seg_size = payload_len % skb_shinfo(skb)->gso_size; in is_hw_tso_supported()
992 if (!skb_shinfo(skb)->gso_size) in otx2_get_sqe_count()
1090 if (unlikely(!skb_shinfo(skb)->gso_size && in otx2_set_txtstamp()
1172 if (skb_shinfo(skb)->gso_size && !is_hw_tso_supported(pfvf, skb)) { in otx2_sq_append_skb()
/Linux-v6.6/drivers/net/ethernet/fungible/funeth/
Dfuneth_tx.c179 if (likely(shinfo->gso_size)) { in write_pkt_desc()
213 shinfo->gso_size, in write_pkt_desc()
232 shinfo->gso_size, in write_pkt_desc()
249 shinfo->gso_size, in write_pkt_desc()
/Linux-v6.6/drivers/net/ethernet/chelsio/cxgb4/
Dsge.c734 if (skb->encapsulation && skb_shinfo(skb)->gso_size && in is_eth_imm()
741 hdrlen = skb_shinfo(skb)->gso_size ? in is_eth_imm()
781 if (skb_shinfo(skb)->gso_size) { in calc_tx_flits()
1372 tnl_lso->IpIdSplit_to_Mss = htons(CPL_TX_TNL_LSO_MSS_V(ssi->gso_size)); in t6_fill_tnl_lso()
1396 lso->mss = htons(ssi->gso_size); in write_tso_wr()
1469 if (!skb_shinfo(skb)->gso_size && (unlikely(skb->len > max_pkt_len))) in cxgb4_validate_skb()
1484 if (skb_shinfo(skb)->gso_size) in write_eo_udp_wr()
1485 wr->u.udpseg.mss = cpu_to_be16(skb_shinfo(skb)->gso_size); in write_eo_udp_wr()
1528 if (xfrm_offload(skb) && !ssi->gso_size) in cxgb4_eth_xmit()
1618 if (ssi->gso_size && !(ssi->gso_type & SKB_GSO_UDP_L4)) { in cxgb4_eth_xmit()
[all …]

1234567