Hardware Flow Offloading and PPPoE: not working?

Hi folks! Sorry for posting (maybe) on the wrong category.

I'm running 21.02 stable on a Mikrotik RB750 gr3 (MT7621 based), connected to a GPON internet with PPPoE.

On LAN side I have a dedicated host running Iperf3, connected by ethernet cable to Mikrotik.

On WAN side there are two interfaces on the same ethernet port: a PPPoE interface, that uses my GPON internet to connect to the World, and a local IP address (192.168.15.2). A simple Port Forward firewall rule redirects external 5201 port (on any WAN address) to the LAN dedicated Iperf3 host.

I've made two set of tests with Iperf3, all of them without any SQM / QoS.

First set (Hardware Flow Offloading ENABLED):

  • test 1: from a host on internet, connecting to my global PPPoE IP address on port 5201. It uses aprox. 35% of sirq CPU (number obtained from "top" running on the Mikrotik).

  • test 2: from a host on "local WAN network" (IP 192.168.15.3), connecting to 192.168.15.2 on port 5201. Uses 1% of sirq CPU. 920Mbits of bandwidth.

Second set (Hardware Flow Offloading DISABLED):

  • test 1: same behavior of test 1.

  • test 2: uses 50% of sirq CPU, speed was dropped by a factor of two.

From this observation it seems that Hardware Flow Offloading is working fine but not for PPPoE.

My GPON is today a 360Mbits down / 160Mbits up link. It seems that the MT7621 cores are enough for this internet speed range, observed from Iperf3 results from Test 1 on both sets. But my expectation is to upgrade this speed to >600Mbits in a year timeframe, and I thing that those cores will not be enough.

I've made a test with 19.07 and Hardware Flow Offloading was working as expected for PPPoE too, for a couple of hours (until it crashes the whole device, a known bug and a major reason to upgrade to 21.02 that brings stability on this functionality).

My understand of Hardware Flow Offloading not working for PPPoE proceed? There is any configuration needed for my case? Should I upgrade to Development builds?

If any configuration file is needed to understand my tests I can send it.

Cheers!

4 Likes

I saw a patch for 19.07 on this forum. I have high CPU usage when I'm running any speed test and CPU usage is around 90%-100% and speed is 600 (I have a 600/60 plan from ISP) and after 1-2s is around 450, the HW NAT is not working properly with PPPoE 1 Gbit/s Ethernet connected bridge. I tried to downgrade OpenWRT to 19.07.10 but HW NAT is not working properly on ZBT WG3526. Does anyone have advice on how to run PPPoE with HW NAT, on OpenWRT GitHub, I have information about the trunk working correctly, and I will test it.

I didn't test the trunk, the second router has 21 and works fine as a point with the bridge on a local network. PPPoE router was downgraded to 19.07 and works fine with PPPoE mwan3 with LTE failover (and also DNAT rule for Home Assistant).

Redirecting to your other post on this topic here to keep the help all in one place.....
https://forum.openwrt.org/t/pppoe-and-high-usage-cpu-with-hw-nat-on-mt7621a/128182?u=eginnc