Edgerouter X - flow offloading seems to work only for download

Hello. Recently I've bought and flashed OpenWRT onto Ubiquity EdgeRouter X, based on MT7621, which, as far as I know, should have good flow offloading capabilities. I have a 800/800 Mbps GPON connection, and I bridge that connection from my ONT terminal, doing the PPPoE authorization on a router itself. Hardware flow offloading is enabled in firewall settings. I don't use any QoS/SQM, so nothing like that should interfere.

When doing any kind of bandwidth tests (like usual speedtest.net), I can see that download speed is on the same level as stated in plan I use. However, upload speed gets stuck at ~450 Mbps no matter what. I see the same results when only software offloading is enabled, and when offloading is disabled, both download and upload get stuck on ~450 Mbps. Also, when looking on htop when doing speedtest, I can see that all cores are getting under load both with hardware and software offloading.

My guess is that hardware flow offloading does not work completely, and software flow offloading only works for download. I've tested it with both 19.07 and lastest trunk snapshot (both of them are cusom builds, buth with only difference being various prebuild packages and changed optimization level to -O2). With my previous router, TP-Link Archer C7 v2, nothing like that was seen, it could throughput ~650 mbps both on download and upload with PPPoE (possibly because of hardware limitations), and the whole ~800 mbps using regular IPoE with NAT from ONT terminal. Though I can't test EdgeRouter in NAT mode, since it would requireresetting the ONT terminal, and 6in4 tunnels do not work with NAT even if you have static IP and DMZ.

Did anyone else experience a similar situation, with upload throughput lower than possible? If so, is it possible to fix that?

After a bit of lurking I've found similar issue, however, there is no solution other than using 18.06, where offloading allegedly works.


I might try building 18.06 and downgrading to it later to see if offloading works there. The most up-to-date version is more preferable for me, though.

After downgrading to 18.06.7 I can confirm that hardware offloading indeed is working there, I can see the full 800/800 Mbps throughput over PPPoE without the router CPU being at high load.
However, I would not mark that as a solution, since downgrading is just a workaround for this regression, which can be considered acceptable only as long as 18.06 is still supported as oldstable release.

Do you know if its fixed yet in 19.07?

I have had huge issues with cake/sqm and they all disappeared when I enable hardware offloading in 18.06.

This is because cake/sqm is totally bypassed by hardware offloading. It never sees the packets. So you might as well just disable SQM.

1 Like

Well, I might rephrase. I tested with hardware offloading versus software offloading (cake/sqm) and software offloading didn't go very well for me. So if hardware offloading ain't working on 19.07 I will stick with 18.06 for now.

A patch to fix hardware offloading on mt7621 was made.


I've applied it to the latest trunk of 19.07.2, and it seems to work. Hopefully it would get merged soon.

4 Likes

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.