Conversation
|
What's the status on this? My team and I are very interested in using this feature! Thx! |
|
Just FYI, after spending a little bit of time on this and an easy rebase on I will see if I can debug... anybody else has seen this? Has anybody got this feature working correctly? |
|
The exception happens in iperf_api.c/iperf_parse_arguments(): test->settings->gso_dg_size = blksize;
/* use the multiple of datagram size for the best efficiency. */
test->settings->gso_bf_size = (test->settings->gso_bf_size / test->settings->gso_dg_size) * test->settings->gso_dg_size;The problem is that for UDP tests, when Two more comments:
|
|
Can someone please update if there is any update on these commits? Are these available in master branch? |
|
Hi, |
|
I had to run the following to get the new Tested with a Intel 8500t CPU on Ubuntu server 24.10 with an rtl8126 NIC and I see almost a 4 times drop in CPU usage when sending UDP packets. From ~100% usage on 1 core, to ~25% on 1 core. Nice work to the authors of this PR! However I am also seeing two bugs so far:
iperf3 didn't crash, and sends a few packets then results show 0/0. Odd that someone else noted above that Edit: The Edit2: Ya that was it, this is the code I changed on top of this PR: diff --git a/src/iperf_client_api.c b/src/iperf_client_api.c
index 8f51c25..6993a9c 100644
--- a/src/iperf_client_api.c
+++ b/src/iperf_client_api.c
@@ -483,6 +483,11 @@ iperf_connect(struct iperf_test *test)
test->settings->gso_dg_size = test->settings->blksize;
/* use the multiple of datagram size for the best efficiency. */
test->settings->gso_bf_size = (test->settings->gso_bf_size / test->settings->gso_dg_size) * test->settings->gso_dg_size;
+
+ /* Avoid UDP_MAX_SEGMENTS defined in the linux kernel */
+ if (test->settings->gso_bf_size / test->settings->gso_dg_size > 64) {
+ test->settings->gso_bf_size = test->settings->gso_dg_size * 64;
+ }
}
#endifResults for UDP Sending: For me at least, anything less than 320 byte packets drops the pps down like a rock. |
|
Any progress on this? Could we get this feature merged at some point? Thx! |
|
Please, take a look at #1925, hopefully this can become the definitive PR for this feature |
|
Thanks for the PR! This has been superceded by PR #1925, which was just merged. |
Version of iperf3 (or development branch, such as
masteror3.1-STABLE) to which this pull request applies:master
Issues fixed (if any):
Rebase of PR 1309 including missing declarations on "iperf.h" and exception when using without "-l"
Brief description of code changes (suitable for use as a commit message):
Add UDP GSO/GRO support