I'm curious because this would be the difference between "scale with more cores" or "scale with more NICs".
I'm curious because this would be the difference between "scale with more cores" or "scale with more NICs".
In terms of scaling with multiple CPUs, generally these days the NIC will be able to manage multiple separate ring buffers. Ring buffers can be dedicated to specific CPUs, and the NIC can distribute packets among the ring buffers (in hardware) by hashing on the packet's IP 5-tuple.[2] So long as you have packets that are distributed evenly by that mechanism (not the case when, e.g. the packets all belong to the same connection), you can scale with multiple CPUs. (Presumably the NIC can perform the distribution process in hardware at line rate.)
[1] At high packet rates, there might be an interrupt less frequently than for every packet.
[2] See section 7.1.8 of the linked manual.
Please correct me if I'm wrong.