So, seems like I found a solution which restores full wire speed for NAT for broadcom routers.
TLDR: turn off GRO.
More details here. https://patchwork.ozlabs.org/project/netdev/patch/73223229-6bc0-2647-6952-975961811866@gmail.com/
Apparently it is a regression triggered by missing hardware acceleration in bgmac driver.
Not sure why this is not fixed in the openwrt or Linux kernel still.
With the following changes this router becomes a beast:
- 'GRO off' (ethtool -K eth0 gro off) restores 1gpbs NAT
- Irqbalance moves wifi and switch irqs to different cores - CPU never overloads.
- New brcmfmac4366-pcie.bin driver (Mar 2020) allows for 160mhz channel (actually works)
- Tweaked latest regdb allows for txpower tweaks, dfs channels, and serves as a workaround for luci dfs problem.
Hope this helps.
P.s. seems like this router is now sold as QUANTUM DAX/WL-WN538A8 for $20-50 in bulk. A new cheap openwrt hit?