PFSense doesn’t like RealTek NIC’s. I read on Reddit once a developer, maybe the owner, taking about the queue handling and other details. Not sure of the actual impacts, but I did read something regarding the queue handling in them also prevented multi-core maximization of the network load. Functionality binary vs gradiant performance might not matter at the Mbps your targetting, though. You can blame BSD for all of this (and it’s lack of wifi fstability) so it ‘might’ follow you to OPNsense (might not as they do bundle their BSD versions in their distro. I haven’t looked)… but not OpenWRT/Untangle as they are Linux (might still have queue/core limitations, just not compatibility) while linux fixes the wifi option… but Intel is still best hands down regardless.
In order of quality, I’d suggest Intel i350/354, Intel i210/211, and Intel 82574L. The last one I’ve heard may have minor issues, but light years past RealTek, while it’s also used on many of the mid (and low?) range qotom/protectli box’s.
NIC’s aside, I am delving into the exact same topic, but I am building the box fresh and looking at Virtualizing the router if I don’t target it’s needs to scale. Either way, I plan to use my old 800-1000 watt (can’t remember exactly) power supply that ran high end dual SLI (8800 GTX in the day… Crossfired 2xDual GPU radons… 7xxxx or whatever series) and expect it’s efficiency to be just fine.
Otherwise, my research was centered around pfsense/opnsense on Ryzen 3rd Gen’s (Zen+/Zen2 models) and I also have a 100Mbps connection with a goal for potential end-to-end VPN encrypting and plenty of CPU/Drive headroom for advanced next gen firewall features.
The below spam might convince you of a CPU upgrade; only if your interested in a virtualization scenario otherwise perhaps bolstering your current ones confidence for your use case.
NOTE: IPSec I read can multi-thread, but OpenVPN (validate this as of today; I’d like to be wrong) is single threaded which affects the core total/thread count perspective of the CPU. I have NOT itemized, expect it to be as such though, if their plugins and other features effectively utilize the other cores/threads in tandem to benefit less linearly the extra packet inspection/next gen firewall features. Zen2’s over Zen+'s can also maintain their boost levels longer which can make a big difference under transient load scenario’s for these use cases… I believe they also have a lower power profile (conditional or base I did not check, yet)
Dedicated "appliance’ builds:
Athlon 3000G (Zen+ APU) - 2c - 4t - 3.5ghz
No boost - Cute, overclockable. Core/Thread count is concerning for the above use case. Single process performance is nice, but likely once saturated the advanced use case could become bottlenecked. This guy lands in the budget category, where the value category options just eliminate all concerns for 40$ more.
Ryzen 3 3200G(Zen+ APU) - 4c - 4t - 3.6ghz/4.0ghz (Best bang for buck for this purpose)
Ryzen 5 3400G(Zen+ APU) - 4c - 8t - 3.7ghz/4.2ghz
Value range. Can handle our use cases without issues; 3400G would benefit from more per-core speed, while the thread count may help it under load saturated conditions… or bridge you into the mild Virtualization scenario where you could seperate cores/threads for firewall vs other-small-network VM’s and such for other services (minimal). I’ll get one of these if I don’t go full virtualization.
Virtualizing builds:
Ryzen 5 3600 (Zen2 CPU) - 6c - 12t - 3.6ghz/4.2ghz
Ryzen 5 3600X - out of box overclocked to 3.8/4.4… personal preference on time/cash.
Ryzen 7 3700X (Zen2 CPU) - 8c - 16t - 3.6/4.4
Ryzen 7 2700X (Zen+ CPU) - 8c - 16t - 3.7/4.3
In the end, it’s all about the other servers/services you’d have to virtualize. The 2700X is selling as cheap as a Ryzen 5 3600X right now so it’s a curious deal for a non-gaming build when the intent is to virtualize and spread sporadic rather than consistent loads. I won’t go ramble unless requested, but this lets you run servers/services for Camera’s/Home Automation, Plex media, NAS, Web/app servers, and such in the future easier. Have enough firepower in it and lots of guts? Slap a moderate to good video card in, dedicate 2-3 CPU’s to a VM, and run a gaming VM with steam streaming over the network to a steam link. There is more cost here, and it’s not really a great idea for the pricier CPU’s, but the 2700X is a darn fine deal right now for this purpose.
Virtualization allows you to salvage idle hardware a bit and create future projects. Can load balance it all by selectively sharing threads on the same CPU to VM’s that can push each other around a bit, while dedicating CPU’s for their contingent processing needs to those that care like the router.
Pardon my ramble. Maybe this was mostly to write out what’s in my head on my plans. Much more in there, but this overlaps with your curiosities. Hope I didn’t bore.