iwlwifi(4) and AX210 performance as receiver and sender.

From: Li-Wen Hsu <lwhsu_at_freebsd.org>
Date: Mon, 21 Apr 2025 20:40:57 UTC
First, sorry if the experiment is not accurate or even doesn't make
sense. Performance test is hard, anyway.

I found that it seems the iwlwifi(4) performance has a noticeable
difference when acting as iperf receiver or sender.

My setup is straightforward: laptop  - AP - router.
Laptop: AX210 with iwlwifi(4)
Router: Intel I226-V with igc(4)

When iwlwifi(4) being the receiver:

laptop:

Accepted connection from 192.168.169.250, port 29906
[  5] local 192.168.169.39 port 5201 connected to 192.168.169.250 port 24810
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.05   sec  54.8 MBytes   439 Mbits/sec
[  5]   1.05-2.00   sec  59.0 MBytes   517 Mbits/sec
[  5]   2.00-3.00   sec  63.2 MBytes   531 Mbits/sec
[  5]   3.00-4.01   sec  64.6 MBytes   536 Mbits/sec
[  5]   4.01-5.01   sec  62.4 MBytes   527 Mbits/sec
[  5]   5.01-6.02   sec  64.0 MBytes   530 Mbits/sec
[  5]   6.02-7.00   sec  61.8 MBytes   528 Mbits/sec
[  5]   7.00-8.00   sec  62.5 MBytes   524 Mbits/sec
[  5]   8.00-9.02   sec  60.4 MBytes   497 Mbits/sec
[  5]   9.02-10.01  sec  61.0 MBytes   517 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec   614 MBytes   514 Mbits/sec                  receiver

router:

[  5] local 192.168.169.250 port 24810 connected to 192.168.169.39 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.01   sec  53.5 MBytes   444 Mbits/sec    0    794 KBytes
[  5]   1.01-2.02   sec  62.6 MBytes   518 Mbits/sec    0   1.07 MBytes
[  5]   2.02-3.03   sec  63.2 MBytes   527 Mbits/sec    0   1.07 MBytes
[  5]   3.03-4.06   sec  66.2 MBytes   539 Mbits/sec    0   1.07 MBytes
[  5]   4.06-5.00   sec  59.0 MBytes   526 Mbits/sec    0   1.07 MBytes
[  5]   5.00-6.00   sec  63.0 MBytes   529 Mbits/sec    0   1.07 MBytes
[  5]   6.00-7.03   sec  65.2 MBytes   530 Mbits/sec    0   1.07 MBytes
[  5]   7.03-8.02   sec  61.9 MBytes   526 Mbits/sec    0   1.07 MBytes
[  5]   8.02-9.03   sec  59.2 MBytes   495 Mbits/sec   94    582 KBytes
[  5]   9.03-10.00  sec  60.4 MBytes   519 Mbits/sec    0    649 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   614 MBytes   515 Mbits/sec   94            sender
[  5]   0.00-10.01  sec   614 MBytes   514 Mbits/sec                  receiver

When iwlwifi(4) being the sender:

laptop:

Connecting to host router, port 5201
[  5] local 192.168.169.39 port 26748 connected to 192.168.169.250 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  16.4 MBytes   137 Mbits/sec   21   47.4 KBytes
[  5]   1.00-2.01   sec  18.4 MBytes   152 Mbits/sec   37   58.7 KBytes
[  5]   2.01-3.00   sec  16.4 MBytes   139 Mbits/sec   59   19.8 KBytes
[  5]   3.00-4.02   sec  19.4 MBytes   160 Mbits/sec   87   2.83 KBytes
[  5]   4.02-5.04   sec  15.1 MBytes   124 Mbits/sec   46   45.9 KBytes
[  5]   5.04-6.00   sec  15.1 MBytes   132 Mbits/sec   46   35.4 KBytes
[  5]   6.00-7.00   sec  14.9 MBytes   125 Mbits/sec   43   51.6 KBytes
[  5]   7.00-8.01   sec  15.6 MBytes   130 Mbits/sec   70   68.6 KBytes
[  5]   8.01-9.05   sec  17.2 MBytes   140 Mbits/sec   24   64.9 KBytes
[  5]   9.05-10.02  sec  17.8 MBytes   154 Mbits/sec   31   51.5 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.02  sec   166 MBytes   139 Mbits/sec  464            sender
[  5]   0.00-10.02  sec   166 MBytes   139 Mbits/sec                  receiver

router:

Accepted connection from 192.168.169.39, port 46082
[  5] local 192.168.169.250 port 5201 connected to 192.168.169.39 port 16801
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.01   sec  12.2 MBytes   102 Mbits/sec
[  5]   1.01-2.05   sec  15.5 MBytes   125 Mbits/sec
[  5]   2.05-3.00   sec  14.0 MBytes   123 Mbits/sec
[  5]   3.00-4.00   sec  15.2 MBytes   128 Mbits/sec
[  5]   4.00-5.03   sec  15.0 MBytes   122 Mbits/sec
[  5]   5.03-6.00   sec  17.0 MBytes   147 Mbits/sec
[  5]   6.00-7.01   sec  14.4 MBytes   120 Mbits/sec
[  5]   7.01-8.00   sec  15.5 MBytes   131 Mbits/sec
[  5]   8.00-9.02   sec  13.0 MBytes   107 Mbits/sec
[  5]   9.02-10.01  sec  15.0 MBytes   127 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec   147 MBytes   123 Mbits/sec                  receiver


It seems that when being the sender, the performance is not very good
compared with being the receiver. Note that the retry numbers are also
much different.
I haven't dug into the details right now, but I think it might be good
to share this earlier. Let me know if you need more information or
tests.

Best,
Li-Wen