/Linux-v6.6/include/linux/ |
D | virtio_net.h | 86 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()
|
D | udp.h | 59 __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/ |
D | openvswitch_trace.h | 28 __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/ |
D | net.h | 35 __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/ |
D | udpgso_bench_rx.c | 215 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/ |
D | hns3_trace.h | 25 __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/ |
D | tcp_offload.c | 82 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()
|
D | udp.c | 908 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 …]
|
D | udp_offload.c | 126 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/ |
D | virtio_net.h | 142 __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/ |
D | segmentation-offloads.rst | 28 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
|
D | netdev-features.rst | 122 gso_size. On segmentation, it segments the payload on gso_size boundaries and 124 gso_size).
|
/Linux-v6.6/net/core/ |
D | gso.c | 165 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/ |
D | test_skb_ctx.c | 25 if (skb->gso_size != 10) in process()
|
/Linux-v6.6/tools/testing/selftests/bpf/prog_tests/ |
D | skb_helpers.c | 10 .gso_size = 10, in test_skb_helpers()
|
D | skb_ctx.c | 20 .gso_size = 10, in test_skb_ctx()
|
/Linux-v6.6/drivers/net/ethernet/sun/ |
D | sunvnet_common.c | 1210 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/ |
D | tx_tso.c | 291 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/ |
D | udp.c | 1232 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/ |
D | nicvf_queues.c | 1266 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/ |
D | gve_tx_dqo.c | 501 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()
|
D | gve_tx.c | 482 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/ |
D | otx2_txrx.c | 666 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/ |
D | funeth_tx.c | 179 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/ |
D | sge.c | 734 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 …]
|