| /linux/tools/testing/selftests/tc-testing/tc-tests/qdiscs/ |
| H A 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 …]
|
| H A D | cake_mq.json | 19 …dwidth unlimited diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overh… 41 … bandwidth 1Kbit diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overh… 63 …dwidth unlimited diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 200us raw overh… 85 …width unlimited besteffort triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overh… 107 …dwidth unlimited diffserv8 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overh… 129 …dwidth unlimited diffserv4 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overh… 151 …) bandwidth unlimited diffserv3 flowblind nonat nowash no-ack-filter split-gso rtt 100ms raw overh… 173 …1-4]) bandwidth unlimited diffserv3 dsthost nat nowash no-ack-filter split-gso rtt 100ms raw overh… 195 …:[1-4]) bandwidth unlimited diffserv3 hosts nonat wash no-ack-filter split-gso rtt 100ms raw overh… 203 "name": "Create CAKE_MQ with flowblind and no-split-gso flag (4 queues)", [all …]
|
| /linux/net/core/ |
| H A 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/tools/testing/selftests/drivers/net/hw/ |
| H A D | tso.py | 76 ksft_ge(qstat_new['tx-hw-gso-packets'] - 77 qstat_old['tx-hw-gso-packets'], 81 ksft_ge(qstat_new['tx-hw-gso-wire-packets'] - 82 qstat_old['tx-hw-gso-wire-packets'], 87 ksft_lt(qstat_new['tx-hw-gso-packets'] - 88 qstat_old['tx-hw-gso-packets'], 91 ksft_lt(qstat_new['tx-hw-gso-wire-packets'] - 92 qstat_old['tx-hw-gso-wire-packets'], 159 ethtool(f"-K {cfg.ifname} tx-gso-partial off") 162 ethtool(f"-K {cfg.ifname} tx-gso-partial on") [all …]
|
| /linux/Documentation/networking/ |
| H A 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 50 Any combination of these two GSO types is allowed. 121 above. What occurs in GSO is that a given skbuff will have its data broken 126 offload is required in GSO. Otherwise it becomes possible for a frame to 133 Generic receive offload is the complement to GSO. Ideally any frame 135 frames using GSO, and any sequence of frames segmented by GSO should be 142 Partial generic segmentation offload is a hybrid between TSO and GSO. What 157 SCTP acceleration with GSO [all …]
|
| /linux/tools/testing/selftests/net/ |
| H A 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"
|
| H A 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 …]
|
| H A 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"
|
| H A 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)"
|
| H A D | tun.c | 563 /* no GSO: send a single byte */ \ 571 /* no GSO: send a single MSS, fall back to no GSO */ \ 579 /* no GSO: send a single MSS + 1B: fail */ \ 587 /* GSO: send 1 byte, gso 1 byte, fall back to no GSO */ \ 596 /* send a single MSS: fall back to no GSO */ \ 605 /* data <= MSS < gso: will fall back to no GSO */ \ 614 /* GSO: a single MSS + 1B */ \ 622 /* no GSO: send exactly 2 MSS */ \ 630 /* GSO: send max bytes */ \ 639 /* GSO: send oversize max bytes: fail */ \ [all …]
|
| /linux/net/mpls/ |
| H A 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");
|
| H A 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/include/uapi/linux/ |
| H A D | virtio_net.h | 74 * GSO-over-UDP-tunnel packets 77 * GSO-over-UDP-tunnel 82 * GSO-over-UDP-tunnel packets 85 * GSO-over-UDP-tunnel 97 #define VIRTIO_NET_F_GSO 6 /* Host handles pkts w/ any GSO type */ 147 * specify GSO or CSUM features, you can simply ignore the header. 158 #define VIRTIO_NET_HDR_GSO_NONE 0 /* Not a GSO frame */ 159 #define VIRTIO_NET_HDR_GSO_TCPV4 1 /* GSO frame, IPv4 TCP (TSO) */ 160 #define VIRTIO_NET_HDR_GSO_UDP 3 /* GSO frame, IPv4 UDP (UFO) */ 161 #define VIRTIO_NET_HDR_GSO_TCPV6 4 /* GSO frame, IPv6 TCP */ [all …]
|
| /linux/Documentation/netlink/specs/ |
| H A D | netdev.yaml | 489 This counter includes the number of GSO wire packets for which device 493 name: tx-hw-gso-packets 499 name: tx-hw-gso-bytes 500 doc: See `tx-hw-gso-packets`. 503 name: tx-hw-gso-wire-packets 506 `tx-hw-gso-packets` 509 name: tx-hw-gso-wire-bytes 510 doc: See `tx-hw-gso-wire-packets`. 754 - tx-hw-gso-packets 755 - tx-hw-gso-bytes [all …]
|
| /linux/drivers/net/ |
| H A D | xen-netfront.c | 88 /* Minimum number of Rx slots (includes slot for GSO metadata). */ 804 struct xen_netif_extra_info *gso; in xennet_start_xmit() local 806 gso = (struct xen_netif_extra_info *) in xennet_start_xmit() 811 gso->u.gso.size = skb_shinfo(skb)->gso_size; in xennet_start_xmit() 812 gso->u.gso.type = (skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6) ? in xennet_start_xmit() 815 gso->u.gso.pad = 0; in xennet_start_xmit() 816 gso->u.gso.features = 0; in xennet_start_xmit() 818 gso->type = XEN_NETIF_EXTRA_TYPE_GSO; in xennet_start_xmit() 819 gso->flags = 0; in xennet_start_xmit() 1136 struct xen_netif_extra_info *gso) in xennet_set_skb_gso() argument [all …]
|
| /linux/net/sctp/ |
| H A 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 …]
|
| H A 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/net/ipv4/ |
| H A 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()
|
| H A D | tcp_offload.c | 3 * IPV4 GSO/GRO offload support 6 * TCPv4 GSO/GRO support 12 #include <net/gso.h> 188 /* GSO partial and frag_list segmentation only requires splitting in tcp_gso_segment() 190 * cases return a GSO skb. So update the mss now. in tcp_gso_segment() 231 /* Following permits TCP Small Queues to work well with GSO : in tcp_gso_segment() 234 * is freed by GSO engine in tcp_gso_segment()
|
| /linux/include/linux/ |
| H A D | virtio_net.h | 114 /* gso packets without NEEDS_CSUM do not set transport_offset. in __virtio_net_hdr_to_skb() 189 /* Too small packets are not really GSO ones. */ in __virtio_net_hdr_to_skb() 317 /* The UDP tunnel must carry a GSO packet, but no UFO. */ in virtio_net_hdr_tnl_to_skb() 341 /* Let the basic parsing deal with plain GSO features. */ in virtio_net_hdr_tnl_to_skb() 402 /* DATA_VALID is mutually exclusive with NEEDS_CSUM, and GSO in virtio_net_handle_csum_offload() 452 /* Let the basic parsing deal with plain GSO features. */ in virtio_net_hdr_tnl_from_skb()
|
| H A 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/drivers/net/xen-netback/ |
| H A D | netback.c | 762 struct xen_netif_extra_info *gso) in xenvif_set_skb_gso() argument 764 if (!gso->u.gso.size) { in xenvif_set_skb_gso() 765 netdev_err(vif->dev, "GSO size must not be zero.\n"); in xenvif_set_skb_gso() 770 switch (gso->u.gso.type) { in xenvif_set_skb_gso() 778 netdev_err(vif->dev, "Bad GSO type %d.\n", gso->u.gso.type); in xenvif_set_skb_gso() 783 skb_shinfo(skb)->gso_size = gso->u.gso.size; in xenvif_set_skb_gso() 793 /* A GSO SKB must be CHECKSUM_PARTIAL. However some buggy in checksum_setup() 794 * peers can fail to set NETRXF_csum_blank when sending a GSO in checksum_setup() 1058 struct xen_netif_extra_info *gso; in xenvif_tx_build_gops() local 1059 gso = &extras[XEN_NETIF_EXTRA_TYPE_GSO - 1]; in xenvif_tx_build_gops() [all …]
|
| /linux/tools/net/ynl/ynltool/ |
| H A D | qstats.c | 104 jsonw_uint_field(json_wtr, "hw-gso-packets", qs->tx_hw_gso_packets); in print_json_qstats() 106 jsonw_uint_field(json_wtr, "hw-gso-bytes", qs->tx_hw_gso_bytes); in print_json_qstats() 108 jsonw_uint_field(json_wtr, "hw-gso-wire-packets", qs->tx_hw_gso_wire_packets); in print_json_qstats() 110 jsonw_uint_field(json_wtr, "hw-gso-wire-bytes", qs->tx_hw_gso_wire_bytes); in print_json_qstats() 221 /* TX GSO counters */ in print_plain_qstats() 222 print_one(qs->_present.tx_hw_gso_packets, "tx-hw-gso-packets", in print_plain_qstats() 224 print_one(qs->_present.tx_hw_gso_bytes, "tx-hw-gso-bytes", in print_plain_qstats() 226 print_one(qs->_present.tx_hw_gso_wire_packets, "tx-hw-gso-wire-packets", in print_plain_qstats() 228 print_one(qs->_present.tx_hw_gso_wire_bytes, "tx-hw-gso-wire-bytes", in print_plain_qstats()
|
| /linux/net/ipv6/ |
| H A D | exthdrs_offload.c | 3 * IPV6 GSO/GRO offload support 6 * IPV6 Extension Header GSO/GRO support
|
| /linux/drivers/net/ovpn/ |
| H A D | io.c | 14 #include <net/gso.h> 66 * GSO state from the transport layer is not valid for the tunnel/data in ovpn_netdev_write() 67 * path. Reset all GSO fields to prevent any further GSO processing in ovpn_netdev_write() 338 /* this might be a GSO-segmented skb list: process each skb in ovpn_send()
|