How to check if hardware NAT (flow offloading) is enabled?

I know hardware NAT / flow offloading is important for performance.

How do I see if it's enabled or not in openwrt?

2 Likes

On a DIR-882, it was located with LuCi,
Network > Firewall > General Settings > Routing/NAT Offloading
Software flow offloading
Hardware flow offloading

EDIT:
Clicking on Software flow offloading will then display the Hardware flow offloading option.

5 Likes

Thanks! This information helps me a lot.

Wow, this feature on my Netgear R7450, with the MediaTek MT7621 ver:1 eco:3 CPU has dramatically changed the performance of the router. I was maxing out at about 350mbps without the hardware offloading enabled, then I enabled it and have been seeing speeds in excess of 880mbps -- I do strongly recommend this !

when activated, keep an eye on occasional stalling requests, you may need to activate a further setting via config file:

I was having a number of TCP connections that seemed to time out regularly. However, I chalked that up to hitting the software NAT too hard in close timing to one another.

I am pushing connections very fast with a SolarFlare SFN7122F pair of fiber connections into a 10G switch south of the router. My assumption is that there's some kind of race comndition happening when TCP sessions are very close in time to one another - this needs a lot of validation though.

Also be aware that some chipsets , like older broadcom chipsets don't ever increment their error counters even when packets are dropped. So, look really closely when there is a packet drop issue you're seeing.

I can't quite figure out which one you're referring to in that thread. Which additional config option ?

in /etc/sysctl.conf add:
net.netfilter.nf_conntrack_tcp_no_window_check=1