Davidc502- wrt1200ac wrt1900acx wrt3200acm wrt32x builds

Well, I'm glad you brought this up.. maybe the V2 owner can download 19.07.1 and see what speed they get doing some speed tests. That would be a great test to see the impact offloading has if it indeed is enabled by default on 19.07.1 (looks like it is configured).

At any rate will take a look at the configuration tonight.

BTW -- The 2nd screenshot is a firewall rule.

Well, as our routers are quite powerful you will need to have a 1 gb's line to test it, however it should give you a bit lower cpu utilization on higher loads, so making more resources free for other stuff. To my understanding on you'r builds flow offloading is not enabled by default and adding option flow offloading to /etc/config/firewall didn't enable it aswell. The command "cat /proc/net/nf_conntrack | grep OFFLOAD | wc -l" will show you the number of offloaded connections.

Users always need to enable it by selecting Software flow offloading under firewall settings. or adding it to /etc/config/firewall "option flow_offloading '1'" Also the commands where there since the beginning in the early days i was testing this on Archer C7 v2 (Massive performance boost). Sorry for many edits....

1 Like

I take it Software Flow offloading plays nice with SQM?

Will have a look in the configs after my re-compile run, however it doesn't show in LUCI on v19.07 Snapshots firewall for that option.

I think you need kmod-ipt-offload, this is default included on 19.07.* in order to get the option in luci :slight_smile:

1 Like

Ok will check this out once my compile has finished, started it at 3pm today its still going now even with a -j4 run lol just hope it doesn't fail like it has for the past 4 days.

Can any one provide a working configuration with DavidC's build where there is no dnsleak and DNSSEC resolver test is succesful?

With numerous combinations - I can get only one of them working but not both.
links used:

Thank you.

I also see, kmod-nf-flow, here is a stock list of installed packages using 19.07.

https://pastebin.com/hZD0GX8S

Thanks for the info.. It's been a while since I tested, but when offloading became available it was tested thoroughly and for the beefy processors already in the linksys series, it made 1.5%~ish difference in processor (from what I remember). It was well within the margin of error and there wasn't a perceivable difference. IDK, maybe things have changed, so I'm willing to test it again.

For our devices, it doesn't change allot offload helps on devices that have weak cpu's. Other then that offloading does increase performance. Is it noticeable for us? nope prob not. Only hardware offloading would but that's not going to happen. Our device should be able to handle something near 1gb's even on OpenWRT without hardware nat and software nat. If you have other devices running OpenWRT with slower cpu's you can test that out to get the idea.

Okay, so I've had a chance to do some testing, and these numbers look good, and a marked improvement! However, I recommend everyone test of their own.. I'm particularly interested in @Comitizer V2, and what speeds he will get with Offloading turned on.

First off, offloading needs to be checked, though the packages are already in the build (With the Luci Option or Without). It appears @hnyman may have gone through the trouble of adding the option to LuCi making this as simple as a click. As you pointed out, all that's needed is the "kmod-ipt-offload" package, and the option magically becomes available in LuCi (Firewall Section). In the past, it was adding an option to the firewall rules and firewall configuration, but no longer.
Here are the test results, but keep in mind I only have a 600mbps download pipe, so it could be a 1Gbps pipe could make these numbers even better comparatively.

Each test I did the peak download speeds reached 620mbps download. An average of the 2 processors was taken using HTOP. Basically, I had to eyeball it, however after 4 tests I could easily see the lower CPU% with offloading enabled.

30% CPU% <- Offload ON
45%  CPU% <- Offload OFF
33% CPU% <- Offload ON
44% CPU% <- Offload OFF

On a scale from 0-100% this appears to be around a 15% improvement for the 3200ACM downloading at 620mbps. No shabby!

1 Like

For those who want to test offloading do the following.

  1. Do it the easy way and install "kmod-ipt-offload".
  2. Go to the Firewall Section in LuCi and enable Software Flow Offloading and then Hardware Flow Offloading.
  3. From SSH run HTOP, and then run some speed tests and see the Processor% as well as speeds if you're limited currently by processor utilization.

1 Like

Seemed to make a difference of around 15-18% CPU time.. before the offload - i did a few fast.com speed tests - the 3200ACM hit average 590mbps - after - 890mbps - all tested within minutes of each other.. this is on a GB connection..

@davidc502

Here is my results on a 40/6 connection. First set of 3 is with Software only, second set is with full hardware

./bufferbloat.sh
SQM: Stopping SQM on pppoe-wan
SQM: Starting SQM script: piece_of_cake.qos on pppoe-wan, in: 36700 Kbps, out: 5694 Kbps
SQM: Using generic sqm_start_default function.
SQM: piece_of_cake.qos was started on pppoe-wan successfully
2020-02-20 00:16:29 Starting speedtest for 60 seconds per transfer session.
Measure speed to netperf-west.bufferbloat.net (IPv4) while pinging 1.1.1.1.
Download and upload sessions are concurrent, each with 5 simultaneous streams.
................................................................
 Download:  32.26 Mbps
   Upload:   4.17 Mbps
  Latency: [in msec, 64 pings, 0.00% packet loss]
      Min:  12.350
    10pct:  13.865
   Median:  16.952
      Avg:  17.699
    90pct:  19.582
      Max:  66.780
 CPU Load: [in % busy (avg +/- std dev), 62 samples]
     cpu0:   7.6 +/-  9.5
     cpu1:  13.3 +/-  7.6
 Overhead: [in % used of total CPU available]
  netperf:   2.1
2020-02-20 00:17:32 Starting speedtest for 60 seconds per transfer session.
Measure speed to netperf-west.bufferbloat.net (IPv4) while pinging 1.1.1.1.
Download and upload sessions are sequential, each with 5 simultaneous streams.
.............................................................
 Download:  32.72 Mbps
  Latency: [in msec, 61 pings, 0.00% packet loss]
      Min:  12.477
    10pct:  13.006
   Median:  13.895
      Avg:  13.999
    90pct:  14.670
      Max:  18.712
 CPU Load: [in % busy (avg +/- std dev), 59 samples]
     cpu0:   4.6 +/-  2.5
     cpu1:   9.9 +/-  4.6
 Overhead: [in % used of total CPU available]
  netperf:   2.2
..............................................................
   Upload:   5.11 Mbps
  Latency: [in msec, 62 pings, 0.00% packet loss]
      Min:  12.254
    10pct:  12.527
   Median:  13.642
      Avg:  13.985
    90pct:  14.904
      Max:  26.186
 CPU Load: [in % busy (avg +/- std dev), 60 samples]
     cpu0:   1.9 +/-  1.8
     cpu1:   2.4 +/-  2.9
 Overhead: [in % used of total CPU available]
  netperf:   0.3
root@router:~# ./bufferbloat.sh
SQM: Stopping SQM on pppoe-wan
SQM: Starting SQM script: piece_of_cake.qos on pppoe-wan, in: 36700 Kbps, out: 5694 Kbps
SQM: Using generic sqm_start_default function.
SQM: piece_of_cake.qos was started on pppoe-wan successfully
2020-02-20 00:19:47 Starting speedtest for 60 seconds per transfer session.
Measure speed to netperf-west.bufferbloat.net (IPv4) while pinging 1.1.1.1.
Download and upload sessions are concurrent, each with 5 simultaneous streams.
..............................................................
 Download:  25.77 Mbps
   Upload:   3.30 Mbps
  Latency: [in msec, 62 pings, 0.00% packet loss]
      Min:  12.504
    10pct:  12.837
   Median:  15.698
      Avg:  15.733
    90pct:  18.051
      Max:  24.973
 CPU Load: [in % busy (avg +/- std dev), 60 samples]
     cpu0:   6.7 +/-  9.2
     cpu1:  10.3 +/-  6.6
 Overhead: [in % used of total CPU available]
  netperf:   1.7
2020-02-20 00:20:49 Starting speedtest for 60 seconds per transfer session.
Measure speed to netperf-west.bufferbloat.net (IPv4) while pinging 1.1.1.1.
Download and upload sessions are sequential, each with 5 simultaneous streams.
.............................................................
 Download:  30.10 Mbps
  Latency: [in msec, 61 pings, 0.00% packet loss]
      Min:  12.702
    10pct:  12.871
   Median:  13.540
      Avg:  13.611
    90pct:  14.275
      Max:  15.709
 CPU Load: [in % busy (avg +/- std dev), 59 samples]
     cpu0:   5.0 +/-  4.4
     cpu1:   8.9 +/-  4.7
 Overhead: [in % used of total CPU available]
  netperf:   2.0
..............................................................
   Upload:   5.09 Mbps
  Latency: [in msec, 62 pings, 0.00% packet loss]
      Min:  12.408
    10pct:  12.605
   Median:  14.066
      Avg:  14.022
    90pct:  15.434
      Max:  16.419
 CPU Load: [in % busy (avg +/- std dev), 60 samples]
     cpu0:   1.6 +/-  1.0
     cpu1:   1.9 +/-  1.8
 Overhead: [in % used of total CPU available]
  netperf:   0.3

This is with SQM Cake enabled.

1 Like

There might be a mistake in the speed test because the 3200acm isn't cpu limited on a 1 gig link. Hence there wouldn't be a throughput difference, but lower cpu% is expected.

Strange. I also have a WRT32X and it's working for me. I wonder what the difference could be. Are your 2 SSIDs on the same channel and width? Mine are both on 6 @ 20 MHz, with "SSID-IoT" having Hide ESSID enabled.

hi. Yes, both have the same configuration. The only difference is WMM, and that I have not hidden the SSID.

config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11a'
        option path 'soc/soc:pcie/pci0000:00/0000:00:01.0/0000:01:00.0'
        option legacy_rates '0'
        option channel '60'
        option country 'ES'
        option htmode 'VHT160'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option macaddr '60:38:e0:c3:59:d2'
        option key 'xxxx'
        option encryption 'psk2+ccmp'
        option disassoc_low_ack '0'
        option ssid 'lolailo'

config wifi-device 'radio1'
        option type 'mac80211'
        option hwmode '11g'
        option path 'soc/soc:pcie/pci0000:00/0000:00:02.0/0000:02:00.0'
        option htmode 'HT40'
        option channel '8'
        option noscan '1'
        option country 'ES'

config wifi-iface 'wifinet1'
        option device 'radio1'
        option mode 'ap'
        option ssid 'lolailo'
        option encryption 'psk2'
        option ifname 'wlan1'
        option key 'xxxx'
        option network 'lan'
        option macaddr '60:38:e0:c3:59:d1'

config wifi-iface 'wifinet3'
        option device 'radio1'
        option mode 'ap'
        option ssid 'lolailo-IoT'
        option encryption 'psk2'
        option wmm '0'
        option key 'xxxx'
        option network 'lan'

When I add the new SSID to radio1 my current ssid stops working, when I remove or disable the new SSID it works again

openwrt-soft offload via Network/Firewall wrt1900acs v2

1 Like

Our device doesn't support hardware nat david? not sure why you try to enable it.

1 Like

Is openwrt-sfe-flowoffload a package? and are the differences between those two speed tests because of the hardware option for flow offload being enabled?
I had forgot this was possible due to I believe kernel 4.14, so it dawned on me that the option for hardware isn't supported.

I wanted to show how wrt1900acs v2 works with soft offload via Network / Firewall, it is exactly the configuration you use.
But I think Hardware flow offloading doesn't help you if you have it enabled, hardware offloading I understand that it only works with some mediatek chips for now.