joeyyung911 wrote: ↑Sun Oct 29, 2023 11:57 pm
I guess no one's in the DIY router game. Played with OPNSense, but leaning towards OpenWRT...so much simpler. Couldn't get any of my QSPF ports on my NICs to work in either software and got a Mellanox MCX4121A-ACAT ConnectX-4 Dual Port SFP28 25GbE NIC. Just had to install kmod-mlx5-core before it'll detect it. Did an iperf test for 5 minutes (utilizing all cores) and the router was only at 82% idle, so plenty of power for it.
I'm trying out a software router and it's working very well!
I'm using a spare SFF PC I had, with an Intel Core i5-9500 and an Intel X540-T2 dual-port 10Gbps network card. These network cards are very old (close to 10 years old now I think) but they still work well and you can find them on eBay for ~$30-40 each. They're RJ45 rather than SFP+, which uses more power, but both the ONT and the rest of my network uses Ethernet anyways. Note that they predate NBase-T so you can only use them at 10Gbps or 1Gbps speed.
I tried Opnsense but couldn't get speeds higher than around 3.1Gbps even after a lot of tweaking (including disabling mitigations for Spectre and Meltdown CPU bugs, increasing a bunch of buffers, and various other tweaks). Opnsense was using 100% of one core, so I think something (NAT, maybe?) is single-threaded. Maybe a CPU with a higher turbo speed could have handled it properly - I'm not sure.
I switched to OpenWrt and I could immediately get full speed (~8.4Gbps) with no tweaking. The out-of-the-box configuration worked fine. It was only using ~14% of all six cores. I turned on software flow offloading and now it's using even less CPU.
most of it for processing interrupts from the network card:
I'm running OpenWrt in a VM on Proxmox, passing through the network card. I tried Opnsense both as a VM and on bare metal.
I've read that there's known issues with BSD-based routers and very fast connections. For now, Linux-based systems like OpenWrt and VyOS are better. VyOS is supposed to be very good, but it's currently command-line-only. I'm not a network administrator and like having a web UI.
The Core i3-N305 has roughly the same power - It's about 20% lower in single-core performance, but higher multi-core performance due to the extra two cores, so I believe that a mini PC with a Core i3-N305 and two 10Gbps ports (like the newer Gowin R86S ones) should be able to easily achieve 10Gbps throughput.