Hardware offloading vs Software for heavy routing

hey guys,
Getting a hard time deciding which hardware would be more future-proof for heavy torrenting.
To my understanding torrent software connect to alot of peers (tcp, udp, connections) , filling the NAT table hence putting a strain on the CPU.
To solve this issue we can activate hardware NAT/offloading.

Here's where I have a lot of questions because I couldn't find any straight forward answers on the net:

  1. Is there a big difference between hardware vs software offloading as far as the cpu loading is concerned?

  2. Is hardware offloading chipset dependent? (For example MT7621 has hardware offloading capability, but we can also see NAT Boost/offloading on various TP-Link devices which I suppose are only done by the firmware ???)

  3. For a 1000/500 connection which hardware should I opt for: (Also does 256MB of ram vs more really matters??)

  • Archer AX20 quad core 1.5ghz cpu (software offloading??)
  • Edgerouter X dual core 800mhz but with hardware offload capability
  • Nanopi R4S quad core 1.5ghz (software offloading in openwrt??)
  • or maybe the xiaomi ax3600 with dual core NPU
1 Like

1: no SQM support

2: yes

3: edgerouter x is probably the best in that list.

RPI 4 with USB-NIC with chipset RTL8153. You won't find anything more powerful without expending 5-6 times more. Just atach any AP and switch that you want to the RPI and you have it. Remember that you can use any router as a switch too.

1 Like

The Nanopi R4S has 6 cores and dual gig Lan.
My question is which one is more powerfull:

  • a 4-6 core 1.5-1.7ghz sbc (Nanopi, RPI 4 etc) with software offloading VS
  • Edgerouter X dual core 800mhz but with hardware offloading

I had the nanopi r2s and it has nothing to do vs RPI 4, that's why i suppose that the R4S wouldn't' beat the RPI 4 (and you can easily overclock it a bit). Yes, RPI 4 + USB-NIC is not that beautiful, but i prefer that setup over anything.

Regarding your question over edge router vs others, with hardware offload the router shouldn't use more than 1% CPU for routing, but there are other task (like VPN) that this type of CPU will be so much worst than RPI or others.
The RPI should be able to do gigabit speeds without using more than 15% CPU, so there's more than 80% idle that will overkill the 100% of the edge router.

And i don't remember where i read that there's no hardwware offload support for mediatek in snapshot builds, so maybe when openwrt v20 is released hardware offload won't work on that unit.

So you're saying that both would be an overkill for routing a 1000/500 connection used for heavy torrenting?
I'm not interested in VPU, Qos performance.

Well, more connections use more CPU and RAM. The edge router X if i remember has 256 of RAM, wich should be enought for you, but for the same price or less you can buy the RPI 4 wich has 2GB of RAM and a powerful CPU.
I bought mine for 32€ + 6€ for the case +5€ for the USB-NIC, so 43€ in total and in my country the edge router x is at 55€.

I tried a lot of different hardware (high end hardware) and trust me that i don't change the RPI 4 as a router for anything (for the moment). Just take in mind that maybe in new versions the edge router won't have hardware offload.

R4S is somewhat new to the game.
rpi4 and ERX are "battle" tested devices.
Just remember that heavy torrenting of copyrighted materials can get you into trouble - even if you're in a lenient system like the one in my country (Romania) you should prepare for the future when rights holders will come after you with heavy fines or court trials (see torrentfreak.com) so any free CPU cycles will help you in a future VPN scenario and go for the rpi4+usb3-lan

To the best of my knowledge no one has really pushed the NanoPi R4s to the limits and reported about it, which isn't really surprising considering its young age and given that it isn't formally supported by OpenWrt yet. Sadly just comparing cores/ frequencies doesn't really help you with determining networking performance, as the SOC design (how is the eth core connected to the CPU, how good are its drivers - do they have offloading capabilities) has a major influence on the actual networking performance, aside from mips vs ARM being a totally different story altogether.

1 Like