Home
last modified time | relevance | path

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

1234567

/linux-6.15/include/linux/
H A Dvirtio_net.h90 if (hdr->gso_size == 0) in virtio_net_hdr_to_skb()
157 u16 gso_size = __virtio16_to_cpu(little_endian, hdr->gso_size); in virtio_net_hdr_to_skb() local
171 if (skb->len - p_off > gso_size * UDP_MAX_SEGMENTS) in virtio_net_hdr_to_skb()
185 if (gso_size == GSO_BY_FRAGS) in virtio_net_hdr_to_skb()
189 if (skb->len - nh_off > gso_size) { in virtio_net_hdr_to_skb()
190 shinfo->gso_size = gso_size; in virtio_net_hdr_to_skb()
216 hdr->gso_size = __cpu_to_virtio16(little_endian, in virtio_net_hdr_from_skb()
217 sinfo->gso_size); in virtio_net_hdr_from_skb()
H A Dudp.h70 __u16 gso_size; member
151 int gso_size; in udp_cmsg_recv() local
154 gso_size = skb_shinfo(skb)->gso_size; in udp_cmsg_recv()
155 put_cmsg(msg, SOL_UDP, UDP_GRO, sizeof(gso_size), &gso_size); in udp_cmsg_recv()
/linux-6.15/drivers/net/wireless/intel/iwlwifi/
H A Diwl-utils.c23 unsigned int mss = skb_shinfo(skb)->gso_size; in iwl_tx_tso_segment()
28 skb_shinfo(skb)->gso_size = num_subframes * mss; in iwl_tx_tso_segment()
32 skb_shinfo(skb)->gso_size = mss; in iwl_tx_tso_segment()
61 skb_shinfo(tmp)->gso_size = mss; in iwl_tx_tso_segment()
74 skb_shinfo(tmp)->gso_size = 0; in iwl_tx_tso_segment()
/linux-6.15/net/openvswitch/
H A 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-6.15/include/trace/events/
H A 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-6.15/tools/testing/selftests/net/
H A 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-6.15/drivers/net/ethernet/hisilicon/hns3/
H A 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-6.15/net/ipv4/
H A Dtcp_offload.c110 if (skb_pagelen(skb) - th->doff * 4 == skb_shinfo(skb)->gso_size) in tcp4_gso_segment()
162 mss = skb_shinfo(skb)->gso_size; in tcp_gso_segment()
343 mss = skb_shinfo(p)->gso_size; in tcp_gro_receive()
350 flush |= (mss != skb_shinfo(skb)->gso_size); in tcp_gro_receive()
379 flush = len != NAPI_GRO_CB(skb)->count * skb_shinfo(skb)->gso_size; in tcp_gro_receive()
H A Dudp_offload.c126 uh->len = htons(skb_shinfo(skb)->gso_size + in __skb_udp_tunnel_segment()
310 unsigned int mss = skb_shinfo(skb)->gso_size; in __udp_gso_segment_list()
336 mss = skb_shinfo(gso_skb)->gso_size; in __udp_gso_segment()
360 if (skb_pagelen(gso_skb) - sizeof(*uh) == skb_shinfo(gso_skb)->gso_size) in __udp_gso_segment()
501 mss = skb_shinfo(skb)->gso_size; in udp4_ufo_fragment()
H A Dudp.c1139 if (cork->gso_size) { in udp_send_skb()
1147 if (datalen > cork->gso_size * UDP_MAX_SEGMENTS) { in udp_send_skb()
1160 if (datalen > cork->gso_size) { in udp_send_skb()
1161 skb_shinfo(skb)->gso_size = cork->gso_size; in udp_send_skb()
1164 cork->gso_size); in udp_send_skb()
1239 *gso_size = *(__u16 *)CMSG_DATA(cmsg); in __udp_cmsg_send()
1261 err = __udp_cmsg_send(cmsg, gso_size); in udp_cmsg_send()
1349 ipc.gso_size = READ_ONCE(up->gso_size); in udp_sendmsg()
1352 err = udp_cmsg_send(sk, msg, &ipc.gso_size); in udp_sendmsg()
2999 WRITE_ONCE(up->gso_size, val); in udp_lib_setsockopt()
[all …]
/linux-6.15/Documentation/networking/
H A 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
H A Dnetdev-features.rst122 gso_size. On segmentation, it segments the payload on gso_size boundaries and
124 gso_size).
/linux-6.15/net/core/
H A 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()
H A Dnet_test.c24 skb_shinfo(skb)->gso_size = GSO_TEST_SIZE; in __init_skb()
216 skb_shinfo(skb)->gso_size = GSO_BY_FRAGS; in gso_test_func()
/linux-6.15/tools/testing/selftests/bpf/progs/
H A Dtest_skb_ctx.c27 if (skb->gso_size != 10) in process()
/linux-6.15/tools/testing/selftests/bpf/prog_tests/
H A Dskb_helpers.c10 .gso_size = 10, in test_skb_helpers()
H A Dskb_ctx.c20 .gso_size = 10, in test_skb_ctx()
/linux-6.15/drivers/net/ethernet/sun/
H A 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-6.15/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()
/linux-6.15/include/uapi/linux/
H A Dvirtio_net.h143 __virtio16 gso_size; /* Bytes to append to hdr_len per frame */ member
195 __virtio16 gso_size; /* Bytes to append to hdr_len per frame */ member
/linux-6.15/drivers/net/ethernet/cavium/thunder/
H A 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-6.15/net/ipv6/
H A Dudp.c1388 if (cork->gso_size) { in udp_v6_send_skb()
1392 if (hlen + min(datalen, cork->gso_size) > cork->fragsize) { in udp_v6_send_skb()
1396 if (datalen > cork->gso_size * UDP_MAX_SEGMENTS) { in udp_v6_send_skb()
1409 if (datalen > cork->gso_size) { in udp_v6_send_skb()
1410 skb_shinfo(skb)->gso_size = cork->gso_size; in udp_v6_send_skb()
1413 cork->gso_size); in udp_v6_send_skb()
1498 ipc6.gso_size = READ_ONCE(up->gso_size); in udpv6_sendmsg()
1630 err = udp_cmsg_send(sk, msg, &ipc6.gso_size); in udpv6_sendmsg()
/linux-6.15/drivers/net/ethernet/google/gve/
H A Dgve_tx_dqo.c548 if (unlikely(skb_shinfo(skb)->gso_size < GVE_TX_MIN_TSO_MSS_DQO)) in gve_prep_tso()
591 desc->mss = skb_shinfo(skb)->gso_size; in gve_tx_fill_tso_ctx_desc()
860 const int gso_size = shinfo->gso_size; in gve_can_send_tso() local
871 if (cur_seg_size >= gso_size) { in gve_can_send_tso()
872 cur_seg_size %= gso_size; in gve_can_send_tso()
/linux-6.15/drivers/net/ethernet/marvell/octeon_ep_vf/
H A Doctep_vf_tx.h232 u16 gso_size; member
/linux-6.15/drivers/net/ethernet/fungible/funeth/
H A 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()

1234567