What is the expected behavior of the --skip-rx-copy flag for UDP and TCP? #1904
-
|
I'd like to solidify my understanding of the expected throughput improvement as per the @davidBar-On tagging you since it was your feature. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
For TCP, The result is that with |
Beta Was this translation helpful? Give feedback.
--skip-rx-copyusesMSG_TRUNCsocket option, to skip copying the received data from the TCP/UDP stack buffer into the user's buffer. For iperf3 this is used for not including the overhead of data copy between the buffers.For TCP,
MSG_TRUNCdoes not copy any data, regardless of thesizeparameter value. For UDP, thesizeparameters specify how much data from the received datagram (packet) should be copied. iperf3 uses the first bytes of the UDP datagram for the time the packet was sent (sec,usec) and for the packet count (pcount) - total 16 bytes. Therefore iperf3 needs to read the header of the received UDP datagram and cannot ignore all of it.The result is that with
--skip-rx-copy, TC…