iperf3 --bidir already did 1Gbit full-duplex (dhcp)wan <-> lan speed in AX3600 (with packet stearing and NAT SW offload, before gro).

I'll do some wan-lan tests with gro (for personal interest) and will post results.



WAN<->WiredLAN
iperf3 full-duplex tests

@robimarko
[TL;DR]:
--> SW flow offloading: ON, Packet Steering: ON, gro ON/OFF:
gro ON gives me slower speed in WAN-LAN bidir, see test#2 ~912/740Mbits.
Same conditions but with gro off, see test#3 >930/930Mbits.
I also tested the previous build without gro implementation, see test#1 >930/930Mbits.
I didn't mistaken switched the option or tests, can't say what's going on.

--> SW flow offloading: OFF, Packet Steering: ON, gro ON/OFF:
In test#4 and test#5 we can see a lot of times that packet steering isn't working as it should (when I'm repeating exactly the same test), so comparing gro on/off is inconclusive in these 2 tests.

--> SW flow offloading: ON, Packet Steering: OFF, gro ON/OFF:
Still need to do two more test here, will do tomorrow or when possible and update here.

--> SW flow offloading: OFF, Packet Steering: OFF, gro ON/OFF:
Still need to do two more test here, will do tomorrow or when possible and update here.


Notes:
Both computers run latest mint (with kernel 5.15.0-33-generic #34~20.04.1-Ubuntu).
Results are from iperf3 client that runs in lan: iperf3 -c 192.168.x.x -t 30 --bidir
I had and still have IPV6 disabled in router.
(iperf3 is a test benchmark, not the real world with multiple users/connections.)


Test#1: Robi previous build (2022-06-22 - r0-a6d607b).
SW flow offloading: ON, Packet Steering: ON, GRO: Not implemented

[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-30.00  sec  3.26 GBytes   932 Mbits/sec    0             sender
[  5][TX-C]   0.00-30.00  sec  3.25 GBytes   931 Mbits/sec                  receiver
[  7][RX-C]   0.00-30.00  sec  3.25 GBytes   931 Mbits/sec    0             sender
[  7][RX-C]   0.00-30.00  sec  3.25 GBytes   930 Mbits/sec                  receiver

(I run the test several times and it was always > 930Mbits.)
image


Test#2: Robi latest build (2022-06-23 - r0-6b0cd97).
SW flow offloading: ON, Packet Steering: ON, GRO: ON

[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-30.00  sec  3.19 GBytes   913 Mbits/sec  415             sender
[  5][TX-C]   0.00-30.00  sec  3.19 GBytes   912 Mbits/sec                  receiver
[  7][RX-C]   0.00-30.00  sec  2.60 GBytes   744 Mbits/sec  631             sender
[  7][RX-C]   0.00-30.00  sec  2.60 GBytes   743 Mbits/sec                  receiver

(I run several times and it's always around the same values.
I revisited this test several times, rebooted router, made sure there's no other traffic in wired/wireless lan or wan.)
image

root@X2:~# ethtool -k eth0 | grep generic-receive-offload
generic-receive-offload: on
root@X2:~# ethtool -k eth1 | grep generic-receive-offload
generic-receive-offload: on
root@X2:~# ethtool -k eth2 | grep generic-receive-offload
generic-receive-offload: on
root@X2:~# ethtool -k eth3 | grep generic-receive-offload
generic-receive-offload: on

Test#3: Robi latest build (2022-06-23 - r0-6b0cd97).
SW flow offloading: ON, Packet Steering: ON, GRO: OFF (eth0, eth1, eth2, eth3)

[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-30.00  sec  3.25 GBytes   932 Mbits/sec    0             sender
[  5][TX-C]   0.00-30.00  sec  3.25 GBytes   931 Mbits/sec                  receiver
[  7][RX-C]   0.00-30.00  sec  3.25 GBytes   932 Mbits/sec    1             sender
[  7][RX-C]   0.00-30.00  sec  3.25 GBytes   931 Mbits/sec                  receiver

(I run the test several times, results always > 930Mbits)
image

root@X2:~# ethtool -k eth0 | grep generic-receive-offload
generic-receive-offload: off
root@X2:~# ethtool -k eth1 | grep generic-receive-offload
generic-receive-offload: off
root@X2:~# ethtool -k eth2 | grep generic-receive-offload
generic-receive-offload: off
root@X2:~# ethtool -k eth3 | grep generic-receive-offload
generic-receive-offload: off




Test#4: Robi latest build (2022-06-23 - r0-6b0cd97).
SW flow offloading: OFF, Packet Steering: ON, GRO: ON
I get Inconsistent results: Not same speed in all runs of the same test.

- RUN#1 - - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-30.00  sec  3.24 GBytes   927 Mbits/sec    0             sender
[  5][TX-C]   0.00-30.00  sec  3.23 GBytes   926 Mbits/sec                  receiver
[  7][RX-C]   0.00-30.00  sec   877 MBytes   245 Mbits/sec  563             sender
[  7][RX-C]   0.00-30.00  sec   874 MBytes   244 Mbits/sec                  receiver
- RUN#2 - - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-30.00  sec  3.19 GBytes   913 Mbits/sec  222             sender
[  5][TX-C]   0.00-30.00  sec  3.19 GBytes   912 Mbits/sec                  receiver
[  7][RX-C]   0.00-30.00  sec  2.16 GBytes   619 Mbits/sec  292             sender
[  7][RX-C]   0.00-30.00  sec  2.16 GBytes   618 Mbits/sec                  receiver
- RUN#3 - - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-30.00  sec  3.17 GBytes   908 Mbits/sec  228             sender
[  5][TX-C]   0.00-30.00  sec  3.17 GBytes   907 Mbits/sec                  receiver
[  7][RX-C]   0.00-30.00  sec  2.63 GBytes   753 Mbits/sec  297             sender
[  7][RX-C]   0.00-30.00  sec  2.63 GBytes   752 Mbits/sec                  receiver
- RUN#4 - - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-30.00  sec  3.20 GBytes   916 Mbits/sec    0             sender
[  5][TX-C]   0.00-30.00  sec  3.20 GBytes   915 Mbits/sec                  receiver
[  7][RX-C]   0.00-30.00  sec   585 MBytes   164 Mbits/sec  310             sender
[  7][RX-C]   0.00-30.00  sec   584 MBytes   163 Mbits/sec                  rec

Test#5: Robi latest build (2022-06-23 - r0-6b0cd97).
SW flow offloading: OFF, Packet Steering: ON, GRO: OFF
I get Inconsistent results: Not same speed in all runs of the same test.

- RUN#1 - - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-30.00  sec  3.11 GBytes   891 Mbits/sec   83             sender
[  5][TX-C]   0.00-30.00  sec  3.11 GBytes   890 Mbits/sec                  receiver
[  7][RX-C]   0.00-30.00  sec  1.75 GBytes   500 Mbits/sec  210             sender
[  7][RX-C]   0.00-30.00  sec  1.74 GBytes   500 Mbits/sec                  receiver

image

- RUN#2 - - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-30.00  sec  2.96 GBytes   849 Mbits/sec  584             sender
[  5][TX-C]   0.00-30.01  sec  2.96 GBytes   848 Mbits/sec                  receiver
[  7][RX-C]   0.00-30.00  sec  3.06 GBytes   875 Mbits/sec  576             sender
[  7][RX-C]   0.00-30.01  sec  3.05 GBytes   874 Mbits/sec                  receiver

image

- RUN#3  - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-30.00  sec  2.81 GBytes   804 Mbits/sec    0             sender
[  5][TX-C]   0.00-30.00  sec  2.81 GBytes   803 Mbits/sec                  receiver
[  7][RX-C]   0.00-30.00  sec   258 MBytes  72.0 Mbits/sec  540             sender
[  7][RX-C]   0.00-30.00  sec   256 MBytes  71.7 Mbits/sec                  receiver

image

Looks like packet steering sometimes doesn't work at all.

2 Likes