Skip to content

Zero copy for sending and receiving #1286

@skoehler

Description

@skoehler

Context

  • Version of iperf3: d2a2252

  • Hardware: Dell XPS 15

  • Operating system (and distribution, if any): Ubuntu 18.04 with latest updates

  • Other relevant information (for example, non-default compilers,
    libraries, cross-compiling, etc.):

Enhancement Request

  • Current behavior

Currently, --zerocopy is only listed as a client option and the documentation states, that zerocopy is only used for sending data. I don't follow. For UDP we have recvmmsg and sendmmsg. So clearly, zero copy APIs exist both for sending and receiving data. Why would iperf3 not use zero copy for receiving data? It will likely reduce CPU load and package drops on the receiver side.

Also --reverse swaps the roles of client and server. Now the server is sending. Is the --zerocopy option forwarded to the server in such a case?

  • Desired behavior

Have an option to enable zero copy for sending and receiving. It could also be separate options. If these options remain client options, maybe be clearer about whether these options are forwarded to the server. If the options are not forwarded to the server, then it should be possible to set zerocopy for the server as well.

  • Implementation notes

n/a

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions