On 2022-10-14, Gabor LENCSE <len...@hit.bme.hu> wrote: > Dear All, > > I am a researcher and I would like to benchmark the stateful NAT64 > performance of OpenBSD PF. > > I use a 32-core server as DUT (Device Under Test). When I use Linux for > benchmarking other stateful NAT64 implementations, I use the "ethtool -N > enp5s0f1 rx-flow-hash udp4 sdfn" command to include also the source and > destination port numbers (not only the source and destination IP > addresses) into the hash function to distribute the interrupts caused by > packet arrivals evenly among all the CPU cores. > > I tried to find a similar solution under OpenBSD, but I could not. (I > used search expressions like: OpenBSD RSS receive side scaling multi > queue receiving) Perhaps it is called differently under OpenBSD, or > maybe there is no such solution at all? > > Could you advise me please?
A few network drivers have support for multiple queues (if my grepping is correct: aq igc bnxt ix ixl mcx vmx) - typically you will see the nunber of queues reported in the dmesg attach line if supported - but there's no interface to adjust what's fed into the hash function. 32 cores is quite a lot for OpenBSD, more than around 8 is likely to be a waste for current versions in many use cases.