Skip to content

Conversation

@yazimut
Copy link

@yazimut yazimut commented Oct 21, 2019

Generic Segmentation Offload allows you to reduce the load on the CPU by transferring routine work from the kernel to the network card. This option is activated using the key "--udp-gso N", where "N' is the segment size.
Linux kernel began supporting UDP GSO from version 4.18.0. Also it could be software or hardware supporting. Hardware supporting could be only if network card and its driver are supporting UDP GSO. You may check it using "ethtool -k " - find "tx-udp-segmentation" parameter. If it equals "on" - hardware supporting is enabled, if "off" - disabled, if "off [fixed] - your interface doesn't support GSO".
e.g. On the AQC107 10Gbps card, that supports UDP GSO, CPU loading is falling from 100% to 25% (about these values). Bitrate is increasing from 300Mbps to 2.6Gbps (about these values) - comparing "-l 100" and "-l 6400 --udp-gso 100".

PLEASE NOTE the following text from the iperf3 license. Submitting a
pull request to the iperf3 repository constitutes "[making]
Enhancements available...publicly":

You are under no obligation whatsoever to provide any bug fixes, patches, or
upgrades to the features, functionality or performance of the source code
("Enhancements") to anyone; however, if you choose to make your Enhancements
available either publicly, or directly to Lawrence Berkeley National
Laboratory, without imposing a separate written license agreement for such
Enhancements, then you hereby grant the following license: a non-exclusive,
royalty-free perpetual license to install, use, modify, prepare derivative
works, incorporate into other computer software, distribute, and sublicense
such enhancements or derivative works thereof, in binary and source code form.

The complete iperf3 license is available in the LICENSE file in the
top directory of the iperf3 source tree.

  • Version of iperf3 (or development branch, such as master or
    3.1-STABLE) to which this pull request applies: latest

@yazimut yazimut requested a review from bmah888 February 19, 2020 20:38
@yazimut yazimut closed this Feb 24, 2020
@yazimut yazimut reopened this Feb 24, 2020
@yazimut yazimut force-pushed the master-esnet branch 3 times, most recently from 17843d8 to 27bbf13 Compare February 24, 2020 12:49
@gegles
Copy link

gegles commented Aug 8, 2025

Please, take a look at #1925, hopefully this can become the definitive PR for this feature

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants