| /Linux-v5.4/include/linux/ |
| D | virtio_net.h | 50 if (hdr->gso_size == 0) in virtio_net_hdr_to_skb() 82 u16 gso_size = __virtio16_to_cpu(little_endian, hdr->gso_size); in virtio_net_hdr_to_skb() local 84 skb_shinfo(skb)->gso_size = gso_size; in virtio_net_hdr_to_skb() 109 hdr->gso_size = __cpu_to_virtio16(little_endian, in virtio_net_hdr_from_skb() 110 sinfo->gso_size); in virtio_net_hdr_from_skb()
|
| D | udp.h | 60 __u16 gso_size; member 124 int gso_size; in udp_cmsg_recv() local 127 gso_size = skb_shinfo(skb)->gso_size; in udp_cmsg_recv() 128 put_cmsg(msg, SOL_UDP, UDP_GRO, sizeof(gso_size), &gso_size); in udp_cmsg_recv()
|
| /Linux-v5.4/tools/testing/selftests/net/ |
| D | udpgso_bench_rx.c | 212 static int recv_msg(int fd, char *buf, int len, int *gso_size) in recv_msg() argument 230 *gso_size = -1; in recv_msg() 238 *gso_size = *gsosizeptr; in recv_msg() 250 int ret, len, gso_size, budget = 256; in do_flush_udp() local 258 ret = recv_msg(fd, rbuf, len, &gso_size); in do_flush_udp() 272 if (cfg_expected_gso_size && cfg_expected_gso_size != gso_size) in do_flush_udp() 274 "(-1 == no gso cmsg))\n", gso_size, in do_flush_udp()
|
| /Linux-v5.4/include/trace/events/ |
| D | net.h | 35 __field( u16, gso_size ) 56 __entry->gso_size = skb_shinfo(skb)->gso_size; 68 __entry->gso_size, __entry->gso_segs, __entry->gso_type) 188 __field( u16, gso_size ) 214 __entry->gso_size = skb_shinfo(skb)->gso_size; 225 __entry->nr_frags, __entry->gso_size, __entry->gso_type)
|
| /Linux-v5.4/include/uapi/linux/ |
| D | virtio_net.h | 115 __virtio16 gso_size; /* Bytes to append to hdr_len per frame */ member 132 __virtio16 gso_size; /* Bytes to append to hdr_len per frame */ member
|
| /Linux-v5.4/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.txt | 119 gso_size. On segmentation, it segments the payload on gso_size boundaries and 121 gso_size).
|
| /Linux-v5.4/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-v5.4/drivers/net/ethernet/sun/ |
| D | sunvnet_common.c | 1209 skb_shinfo(nskb)->gso_size = skb_shinfo(skb)->gso_size; in vnet_skb_shape() 1229 int gso_size, gso_type, gso_segs; in vnet_handle_offloads() local 1249 gso_size = skb_shinfo(skb)->gso_size; in vnet_handle_offloads() 1253 if (port->tso && gso_size < datalen) in vnet_handle_offloads() 1269 if (port->tso && gso_size < datalen) { in vnet_handle_offloads() 1274 skb_shinfo(skb)->gso_size = datalen; in vnet_handle_offloads() 1291 skb_shinfo(curr)->gso_size = gso_size; in vnet_handle_offloads() 1294 DIV_ROUND_UP(curr->len - hlen, gso_size); in vnet_handle_offloads() 1296 skb_shinfo(curr)->gso_size = 0; in vnet_handle_offloads() 1452 ->gso_size; in sunvnet_start_xmit_common()
|
| /Linux-v5.4/net/ipv4/ |
| D | udp.c | 836 if (cork->gso_size) { in udp_send_skb() 840 if (hlen + cork->gso_size > cork->fragsize) { in udp_send_skb() 844 if (skb->len > cork->gso_size * UDP_MAX_SEGMENTS) { in udp_send_skb() 858 if (datalen > cork->gso_size) { in udp_send_skb() 859 skb_shinfo(skb)->gso_size = cork->gso_size; in udp_send_skb() 862 cork->gso_size); in udp_send_skb() 928 static int __udp_cmsg_send(struct cmsghdr *cmsg, u16 *gso_size) in __udp_cmsg_send() argument 934 *gso_size = *(__u16 *)CMSG_DATA(cmsg); in __udp_cmsg_send() 941 int udp_cmsg_send(struct sock *sk, struct msghdr *msg, u16 *gso_size) in udp_cmsg_send() argument 956 err = __udp_cmsg_send(cmsg, gso_size); in udp_cmsg_send() [all …]
|
| D | udp_offload.c | 121 uh->len = htons(skb_shinfo(skb)->gso_size + in __skb_udp_tunnel_segment() 199 mss = skb_shinfo(gso_skb)->gso_size; in __udp_gso_segment() 313 mss = skb_shinfo(skb)->gso_size; in udp4_ufo_fragment()
|
| D | tcp_offload.c | 80 mss = skb_shinfo(skb)->gso_size; in tcp_gso_segment() 258 mss = skb_shinfo(p)->gso_size; in tcp_gro_receive()
|
| D | ip_output.c | 984 mtu = cork->gso_size ? IP_MAX_MTU : cork->fragsize; in __ip_append_data() 985 paged = !!cork->gso_size; in __ip_append_data() 1010 (!(flags & MSG_MORE) || cork->gso_size) && in __ip_append_data() 1268 cork->gso_size = ipc->gso_size; in ip_setup_cork() 1351 mtu = cork->gso_size ? IP_MAX_MTU : cork->fragsize; in ip_append_page()
|
| /Linux-v5.4/net/ipv6/ |
| D | udp.c | 1123 if (cork->gso_size) { in udp_v6_send_skb() 1127 if (hlen + cork->gso_size > cork->fragsize) { in udp_v6_send_skb() 1131 if (skb->len > cork->gso_size * UDP_MAX_SEGMENTS) { in udp_v6_send_skb() 1145 if (datalen > cork->gso_size) { in udp_v6_send_skb() 1146 skb_shinfo(skb)->gso_size = cork->gso_size; in udp_v6_send_skb() 1149 cork->gso_size); in udp_v6_send_skb() 1237 ipc6.gso_size = up->gso_size; in udpv6_sendmsg() 1371 err = udp_cmsg_send(sk, msg, &ipc6.gso_size); in udpv6_sendmsg()
|
| D | udp_offload.c | 31 mss = skb_shinfo(skb)->gso_size; in udp6_ufo_fragment()
|
| /Linux-v5.4/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() 1503 data_left = min_t(int, skb_shinfo(skb)->gso_size, total_len); in nicvf_sq_append_tso() 1564 if (skb_shinfo(skb)->gso_size && !nic->hw_tso) in nicvf_sq_append_skb() 1612 if (nic->t88 && skb_shinfo(skb)->gso_size) { in nicvf_sq_append_skb()
|
| /Linux-v5.4/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ |
| D | en_accel.h | 98 int payload_len = skb_shinfo(skb)->gso_size + sizeof(struct udphdr); in mlx5e_udp_gso_handle_tx_skb()
|
| D | ipsec_rxtx.c | 85 return mlx5e_ipsec_inverse_table[skb_shinfo(skb)->gso_size]; in mlx5e_ipsec_mss_inv() 219 skb->len, skb_shinfo(skb)->gso_size, in mlx5e_ipsec_set_metadata()
|
| D | tls_rxtx.c | 168 skb_shinfo(nskb)->gso_size = 0; in mlx5e_tls_complete_sync_skb() 170 skb_shinfo(nskb)->gso_size = mss; in mlx5e_tls_complete_sync_skb()
|
| /Linux-v5.4/drivers/net/ethernet/neterion/vxge/ |
| D | vxge-main.h | 513 #define vxge_tcp_mss(skb) (skb_shinfo(skb)->gso_size) 514 #define vxge_udp_mss(skb) (skb_shinfo(skb)->gso_size)
|
| /Linux-v5.4/drivers/net/wireless/intel/iwlwifi/mvm/ |
| D | tx.c | 832 unsigned int mss = skb_shinfo(skb)->gso_size; in iwl_mvm_tx_tso_segment() 837 skb_shinfo(skb)->gso_size = num_subframes * mss; in iwl_mvm_tx_tso_segment() 841 skb_shinfo(skb)->gso_size = mss; in iwl_mvm_tx_tso_segment() 866 skb_shinfo(tmp)->gso_size = mss; in iwl_mvm_tx_tso_segment() 877 skb_shinfo(tmp)->gso_size = 0; in iwl_mvm_tx_tso_segment() 897 unsigned int mss = skb_shinfo(skb)->gso_size; in iwl_mvm_tx_tso() 1224 if (payload_len <= skb_shinfo(skb)->gso_size) in iwl_mvm_tx_skb()
|
| /Linux-v5.4/drivers/net/ethernet/ibm/ |
| D | ibmveth.c | 1124 mss = (unsigned long)skb_shinfo(skb)->gso_size; in ibmveth_start_xmit() 1133 cpu_to_be16(skb_shinfo(skb)->gso_size); in ibmveth_start_xmit() 1216 skb_shinfo(skb)->gso_size = mss; in ibmveth_rx_mss_helper() 1218 skb_shinfo(skb)->gso_size = ntohs(tcph->check); in ibmveth_rx_mss_helper() 1222 if (skb_shinfo(skb)->gso_size) { in ibmveth_rx_mss_helper() 1226 skb_shinfo(skb)->gso_size); in ibmveth_rx_mss_helper()
|
| /Linux-v5.4/drivers/net/ethernet/chelsio/cxgb4/ |
| D | sge.c | 789 if (skb->encapsulation && skb_shinfo(skb)->gso_size && in is_eth_imm() 794 hdrlen = skb_shinfo(skb)->gso_size ? in is_eth_imm() 833 if (skb_shinfo(skb)->gso_size) { in calc_tx_flits() 1307 tnl_lso->IpIdSplit_to_Mss = htons(CPL_TX_TNL_LSO_MSS_V(ssi->gso_size)); in t6_fill_tnl_lso() 1393 if (!skb_shinfo(skb)->gso_size && (unlikely(skb->len > max_pkt_len))) in cxgb4_eth_xmit() 1400 if (xfrm_offload(skb) && !ssi->gso_size) in cxgb4_eth_xmit() 1491 if (ssi->gso_size) { in cxgb4_eth_xmit() 1529 lso->mss = htons(ssi->gso_size); in cxgb4_eth_xmit() 1690 if (skb_shinfo(skb)->gso_size) in t4vf_calc_tx_flits() 1738 if (!skb_shinfo(skb)->gso_size && (unlikely(skb->len > max_pkt_len))) in cxgb4_vf_eth_xmit() [all …]
|
| /Linux-v5.4/drivers/net/ethernet/intel/iavf/ |
| D | iavf_txrx.c | 1868 u16 gso_segs, gso_size; in iavf_tso() local 1935 gso_size = skb_shinfo(skb)->gso_size; in iavf_tso() 1945 cd_mss = gso_size; in iavf_tso() 2184 sum = 1 - skb_shinfo(skb)->gso_size; in __iavf_chk_linearize()
|
| /Linux-v5.4/drivers/net/ethernet/qlogic/qlcnic/ |
| D | qlcnic_io.c | 396 first_desc->mss = cpu_to_le16(skb_shinfo(skb)->gso_size); in qlcnic_tx_encap_pkt() 501 first_desc->mss = cpu_to_le16(skb_shinfo(skb)->gso_size); in qlcnic_tx_pkt() 1340 skb_shinfo(skb)->gso_size = qlcnic_get_lro_sts_mss(sts_data1); in qlcnic_process_lro() 1798 u16 lro_length, length, data_offset, gso_size; in qlcnic_83xx_process_lro() local 1862 gso_size = qlcnic_83xx_get_lro_sts_mss(sts_data[0]); in qlcnic_83xx_process_lro() 1863 skb_shinfo(skb)->gso_size = gso_size; in qlcnic_83xx_process_lro()
|