/linux-6.15/tools/testing/selftests/drivers/net/hw/ |
D | tso.py | 75 ksft_ge(qstat_new['tx-hw-gso-packets'] - 76 qstat_old['tx-hw-gso-packets'], 80 ksft_ge(qstat_new['tx-hw-gso-wire-packets'] - 81 qstat_old['tx-hw-gso-wire-packets'], 86 ksft_lt(qstat_new['tx-hw-gso-packets'] - 87 qstat_old['tx-hw-gso-packets'], 90 ksft_lt(qstat_new['tx-hw-gso-wire-packets'] - 91 qstat_old['tx-hw-gso-wire-packets'], 140 # Tunnel which can silently fall back to gso-partial 141 has_gso_partial = tun and 'tx-gso-partial' in cfg.features [all …]
|
/linux-6.15/tools/testing/selftests/tc-testing/tc-tests/qdiscs/ |
D | cake.json | 17 …dwidth unlimited diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overh… 38 … bandwidth 1Kbit diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overh… 59 …autorate-ingress diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overh… 80 …dwidth unlimited diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 200us raw overh… 101 …width unlimited besteffort triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overh… 122 …dwidth unlimited diffserv8 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overh… 143 …dwidth unlimited diffserv4 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overh… 164 …+ bandwidth unlimited diffserv3 flowblind nonat nowash no-ack-filter split-gso rtt 100ms raw overh… 185 …0-9]+ bandwidth unlimited diffserv3 dsthost nat nowash no-ack-filter split-gso rtt 100ms raw overh… 206 … [0-9]+ bandwidth unlimited diffserv3 hosts nonat wash no-ack-filter split-gso rtt 100ms raw overh… [all …]
|
/linux-6.15/net/core/ |
D | gso.c | 4 #include <net/gso.h> 84 * only possible when GSO is used for verifying header integrity. 102 /* Only report GSO partial support if it will enable us to in __skb_gso_segment() 134 * skb_gso_transport_seglen - Return length of individual segments of a gso packet 136 * @skb: GSO skb 169 * skb_gso_network_seglen - Return length of individual segments of a gso packet 171 * @skb: GSO skb 187 * skb_gso_mac_seglen - Return length of individual segments of a gso packet 189 * @skb: GSO skb 205 * There are a couple of instances where we have a GSO skb, and we [all …]
|
/linux-6.15/Documentation/networking/ |
D | segmentation-offloads.rst | 18 * Generic Segmentation Offload - GSO 21 * SCTP acceleration with GSO - GSO_BY_FRAGS 45 GSO type SKB_GSO_TCP_FIXEDID is specified then we will not increment the IP 112 above. What occurs in GSO is that a given skbuff will have its data broken 117 offload is required in GSO. Otherwise it becomes possible for a frame to 124 Generic receive offload is the complement to GSO. Ideally any frame 126 frames using GSO, and any sequence of frames segmented by GSO should be 130 altered so that it is when a frame assembled via GRO is segmented via GSO. 136 Partial generic segmentation offload is a hybrid between TSO and GSO. What 151 SCTP acceleration with GSO [all …]
|
/linux-6.15/tools/testing/selftests/net/ |
D | udpgso.sh | 85 echo "ipv4 hw-gso hw-csum" 88 echo "ipv6 hw-gso hw-csum" 91 echo "ipv4 sw-gso hw-csum" 94 echo "ipv6 sw-gso hw-csum" 97 echo "ipv4 sw-gso sw-csum" 100 echo "ipv6 sw-gso sw-csum"
|
D | udpgso_bench.sh | 98 echo "udp gso" 101 echo "udp gso zerocopy" 104 echo "udp gso timestamp" 107 echo "udp gso zerocopy audit" 110 echo "udp gso timestamp audit" 113 echo "udp gso zerocopy timestamp audit"
|
D | udpgso.c | 67 int gso_len; /* mss after applying gso */ 85 /* no GSO: send a single byte */ 90 /* no GSO: send a single MSS */ 95 /* no GSO: send a single MSS + 1B: fail */ 100 /* send a single MSS: will fall back to no GSO */ 106 /* datalen <= MSS < gso_len: will fall back to no GSO */ 160 /* send a single 1B MSS: will fall back to no GSO */ 201 /* no GSO: send a single byte */ 206 /* no GSO: send a single MSS */ 211 /* no GSO: send a single MSS + 1B: fail */ [all …]
|
D | psock_snd.sh | 84 # gso checks: implies -l, because with gso len must exceed gso_size 86 echo "raw gso min size" 89 echo "raw gso max size" 92 echo "raw gso max size + 1 (expected to fail)"
|
D | big_tcp.sh | 160 echo "CLI GSO | GW GRO | GW GSO | SER GRO" && \ 174 echo "SKIP: Could not run test without gso/gro_ipv4_max_size supported in ip-link"
|
/linux-6.15/net/mpls/ |
D | mpls_gso.c | 3 * MPLS GSO Support 7 * Based on: GSO portions of net/ipv4/gre.c 17 #include <net/gso.h> 94 pr_info("MPLS GSO support\n"); in mpls_gso_init() 111 MODULE_DESCRIPTION("MPLS GSO support");
|
D | Kconfig | 20 tristate "MPLS: GSO support" 22 This is helper module to allow segmentation of non-MPLS GSO packets 24 become MPLS GSO packets.
|
/linux-6.15/net/sctp/ |
D | output.c | 131 /* set packet max_size with gso_max_size if gso is enabled*/ in sctp_packet_config() 437 struct sk_buff *head, int gso, gfp_t gfp) in sctp_packet_pack() argument 447 if (gso) { in sctp_packet_pack() 530 if (gso) in sctp_packet_pack() 536 if (gso) { in sctp_packet_pack() 574 int pkt_count, gso = 0; in sctp_packet_transmit() local 589 if (!sk_can_gso(sk)) { /* check gso */ in sctp_packet_transmit() 590 pr_err_once("Trying to GSO but underlying device doesn't support it."); in sctp_packet_transmit() 593 gso = 1; in sctp_packet_transmit() 598 head = alloc_skb((gso ? packet->overhead : packet->size) + in sctp_packet_transmit() [all …]
|
D | offload.c | 3 * sctp_offload - GRO/GSO Offloading for SCTP 25 #include <net/gso.h> 31 /* csum and csum_start in GSO CB may be needed to do the UDP in sctp_gso_make_checksum()
|
/linux-6.15/drivers/net/ |
D | xen-netfront.c | 88 /* Minimum number of Rx slots (includes slot for GSO metadata). */ 805 struct xen_netif_extra_info *gso; in xennet_start_xmit() local 807 gso = (struct xen_netif_extra_info *) in xennet_start_xmit() 812 gso->u.gso.size = skb_shinfo(skb)->gso_size; in xennet_start_xmit() 813 gso->u.gso.type = (skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6) ? in xennet_start_xmit() 816 gso->u.gso.pad = 0; in xennet_start_xmit() 817 gso->u.gso.features = 0; in xennet_start_xmit() 819 gso->type = XEN_NETIF_EXTRA_TYPE_GSO; in xennet_start_xmit() 820 gso->flags = 0; in xennet_start_xmit() 1140 struct xen_netif_extra_info *gso) in xennet_set_skb_gso() argument [all …]
|
/linux-6.15/include/uapi/linux/ |
D | virtio_net.h | 75 #define VIRTIO_NET_F_GSO 6 /* Host handles pkts w/ any GSO type */ 125 * specify GSO or CSUM features, you can simply ignore the header. 135 #define VIRTIO_NET_HDR_GSO_NONE 0 /* Not a GSO frame */ 136 #define VIRTIO_NET_HDR_GSO_TCPV4 1 /* GSO frame, IPv4 TCP (TSO) */ 137 #define VIRTIO_NET_HDR_GSO_UDP 3 /* GSO frame, IPv4 UDP (UFO) */ 138 #define VIRTIO_NET_HDR_GSO_TCPV6 4 /* GSO frame, IPv6 TCP */ 139 #define VIRTIO_NET_HDR_GSO_UDP_L4 5 /* GSO frame, IPv4& IPv6 UDP (USO) */ 188 * specify GSO or CSUM features, you can simply ignore the header. */
|
/linux-6.15/net/ipv4/ |
D | gre_offload.c | 3 * IPV4 GSO/GRO offload support 6 * GRE GSO support 14 #include <net/gso.h> 147 * for GRO, this is problematic for GSO hence can not be enabled in gre_gro_receive() 149 * requiring GSO support to break it up correctly. in gre_gro_receive()
|
D | tcp_offload.c | 3 * IPV4 GSO/GRO offload support 6 * TCPv4 GSO/GRO support 12 #include <net/gso.h> 187 /* GSO partial and frag_list segmentation only requires splitting in tcp_gso_segment() 189 * cases return a GSO skb. So update the mss now. in tcp_gso_segment() 230 /* Following permits TCP Small Queues to work well with GSO : in tcp_gso_segment() 233 * is freed by GSO engine in tcp_gso_segment()
|
D | udp_offload.c | 3 * IPV4 GSO/GRO offload support 6 * UDPv4 GSO support 11 #include <net/gso.h> 121 /* If we are only performing partial GSO the inner header in __skb_udp_tunnel_segment() 346 * when IPv6 extension headers are present. Fall back to software GSO. in __udp_gso_segment() 397 /* GSO partial and frag_list segmentation only requires splitting in __udp_gso_segment() 399 * cases return a GSO skb. So update the mss now. in __udp_gso_segment() 453 * meaning. However, check for bad offloads in the GSO stack expects the in __udp_gso_segment() 549 /* requires non zero csum, for symmetry with GSO */ in udp_gro_receive_segment()
|
/linux-6.15/net/ipv6/ |
D | exthdrs_offload.c | 3 * IPV6 GSO/GRO offload support 6 * IPV6 Extension Header GSO/GRO support
|
D | udp_offload.c | 3 * IPV6 GSO/GRO offload support 6 * UDPv6 GSO support 17 #include <net/gso.h>
|
/linux-6.15/Documentation/netlink/specs/ |
D | netdev.yaml | 474 This counter includes the number of GSO wire packets for which device 478 name: tx-hw-gso-packets 484 name: tx-hw-gso-bytes 485 doc: See `tx-hw-gso-packets`. 488 name: tx-hw-gso-wire-packets 491 `tx-hw-gso-packets` 494 name: tx-hw-gso-wire-bytes 495 doc: See `tx-hw-gso-wire-packets`.
|
/linux-6.15/drivers/net/xen-netback/ |
D | netback.c | 761 struct xen_netif_extra_info *gso) in xenvif_set_skb_gso() argument 763 if (!gso->u.gso.size) { in xenvif_set_skb_gso() 764 netdev_err(vif->dev, "GSO size must not be zero.\n"); in xenvif_set_skb_gso() 769 switch (gso->u.gso.type) { in xenvif_set_skb_gso() 777 netdev_err(vif->dev, "Bad GSO type %d.\n", gso->u.gso.type); in xenvif_set_skb_gso() 782 skb_shinfo(skb)->gso_size = gso->u.gso.size; in xenvif_set_skb_gso() 792 /* A GSO SKB must be CHECKSUM_PARTIAL. However some buggy in checksum_setup() 793 * peers can fail to set NETRXF_csum_blank when sending a GSO in checksum_setup() 1057 struct xen_netif_extra_info *gso; in xenvif_tx_build_gops() local 1058 gso = &extras[XEN_NETIF_EXTRA_TYPE_GSO - 1]; in xenvif_tx_build_gops() [all …]
|
/linux-6.15/include/linux/ |
D | netdev_features.h | 26 NETIF_F_GSO_BIT, /* Enable software GSO. */ 54 NETIF_F_GSO_UDP_L4_BIT, /* ... UDP payload GSO (not UFO) */ 55 NETIF_F_GSO_FRAGLIST_BIT, /* ... Fraglist GSO */ 112 #define NETIF_F_GSO __NETIF_F(GSO)
|
/linux-6.15/tools/testing/selftests/bpf/ |
D | test_tc_tunnel.sh | 134 echo "ip gre $mac gso" 137 echo "ip6 gre $mac gso" 146 echo "ip udp $mac gso" 149 echo "ip6 udp $mac gso"
|
/linux-6.15/drivers/net/wireless/intel/iwlwifi/ |
D | iwl-utils.c | 5 #include <net/gso.h> 7 #include <net/gso.h>
|