ZBT-WG3526 Hardware offloading issue

Hi there, I'm configuring zbt-wg3526 router with OpenWrt 21.0.2 and kernel 5.4.179 onboard everything is fine, except hardware offloading doesn't work at all, though it is turned on.

firewall.@defaults[0].flow_offloading='1'
firewall.@defaults[0].flow_offloading_hw='1' 

I made some speedtest with iperf3

root@OpenWrt:~# iperf3 -c 192.168.1.2 -u -l 1472 -b 1000m
warning: UDP block size 1472 exceeds TCP MSS 1448, may result in fragmentation / drops
Connecting to host 192.168.1.2, port 5201
[  5] local 192.168.1.1 port 57478 connected to 192.168.1.2 port 5201
[ ID] Interval           Transfer     Bitrate         Total Datagrams
[  5]   0.00-1.00   sec  17.1 MBytes   143 Mbits/sec  12155
[  5]   1.00-2.00   sec  15.8 MBytes   132 Mbits/sec  11251
[  5]   2.00-3.00   sec  15.5 MBytes   130 Mbits/sec  11026
[  5]   3.00-4.00   sec  15.3 MBytes   129 Mbits/sec  10926
[  5]   4.00-5.00   sec  15.3 MBytes   129 Mbits/sec  10926
[  5]   5.00-6.00   sec  15.3 MBytes   128 Mbits/sec  10907
[  5]   6.00-7.00   sec  15.3 MBytes   129 Mbits/sec  10912
[  5]   7.00-8.00   sec  15.3 MBytes   128 Mbits/sec  10909
[  5]   8.00-9.00   sec  15.3 MBytes   129 Mbits/sec  10913
[  5]   9.00-10.00  sec  15.3 MBytes   129 Mbits/sec  10921
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec   156 MBytes   131 Mbits/sec  0.000 ms  0/110846 (0%)  sender
[  5]   0.00-10.00  sec   156 MBytes   131 Mbits/sec  0.044 ms  0/110846 (0%)  receiver

iperf Done.
root@OpenWrt:~# iperf3 -c 192.168.1.2 -u -l 47 -b 1000m
Connecting to host 192.168.1.2, port 5201
[  5] local 192.168.1.1 port 58962 connected to 192.168.1.2 port 5201
[ ID] Interval           Transfer     Bitrate         Total Datagrams
[  5]   0.00-1.00   sec   557 KBytes  4.56 Mbits/sec  12137
[  5]   1.00-2.00   sec   541 KBytes  4.43 Mbits/sec  11790
[  5]   2.00-3.00   sec   543 KBytes  4.45 Mbits/sec  11838
[  5]   3.00-4.00   sec   543 KBytes  4.45 Mbits/sec  11832
[  5]   4.00-5.00   sec   542 KBytes  4.44 Mbits/sec  11813
[  5]   5.00-6.00   sec   542 KBytes  4.44 Mbits/sec  11810
[  5]   6.00-7.00   sec   544 KBytes  4.45 Mbits/sec  11848
[  5]   7.00-8.00   sec   546 KBytes  4.47 Mbits/sec  11890
[  5]   8.00-9.00   sec   544 KBytes  4.45 Mbits/sec  11844
[  5]   9.00-10.00  sec   543 KBytes  4.44 Mbits/sec  11820
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  5.32 MBytes  4.46 Mbits/sec  0.000 ms  0/118622 (0%)  sender
[  5]   0.00-10.00  sec  5.32 MBytes  4.46 Mbits/sec  0.028 ms  0/118622 (0%)  receiver

iperf Done.

CPU is MT7621 (mipsel_24kc)

Are you sure the offloading actually helps with non routed traffic?

I guess there should no difference between routed and non-routed traffic, cause ASIC should process internetworking, not CPU, like in my case.

To get real throughput performance run iperf on a separate device - not the router itself.

Unless you’re use case is for the router to be an endpoint (client or server).

Offloading won’t offload traffic going to or from your router.

Hm, interesting, gonna check it