How multithreaded is networking in FreeBSD 15.1?

Brett Glass <[email protected]>
Newsgroups gmane.os.freebsd.questions
Message-ID <[email protected]>
All:

I need to build a high-performance FreeBSD-based router that will 
handle gigabits of traffic. It'll be connected via aggregated 
Ethernet connections (at least upstream and maybe downstream too) 
and so will need to be able to handle LACP-based LAGs efficiently. 
The router will also use IPFW to firewall and filter packets as 
well as some kernel-based NAT. (Not all traffic will go through 
NAT, but some will.)

I have ny choice of several computing platforms: Some with more 
cores, the other with higher clock speed and fewer higher 
performance cores. Which is likely to perform better under FreeBSD 
15.1? I'm especially concerned that, due to locks, the LAGs and the 
hashing algorithms that split the packets between the interfaces 
could be a bottleneck.

Given the current multithreading in the network stack, IPFW, and 
the NAT library, does it pay to go for lots of cores? Or due to 
locking is it more efficient to storm on through with fewer 
very-high-performance cores? What tuning will provide the best 
results in the latest kernel? (There are plenty of tutorials on 
FreeBSD network tuning, but many go back to MUCH earlier versions 
and may longer contain valid advice.)

--Brett Glass
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.