svn commit: r218211 - in head/sys: conf netinet
Robert N. M. Watson
rwatson at freebsd.org
Fri Feb 4 22:00:09 UTC 2011
On 4 Feb 2011, at 13:30, Michael Tuexen wrote:
>> Hmm. It might be better to add a new NETISR_SCTP and use netisr's support for multithreading?
> That sounds really good.
> Is it possible that different network cards put packets in the same queue?
> That would be helpful in the case of SCTP.
>> (I'm preparing a patch for review that enhances that a bit so that protocols can be a bit more expressive in terms of specifying dispatch policy, etc, currently).
You get a spectrum of possibilities -- protocols can request source ordering (i.e., ifnet), flow ordering (in which they expose ordering information but not CPU affinity), or a full CPU affinity. How work is distributed and what queue it ends up in depends on the model, but yes, you can request that interfaces distribute packets to various queues, and that multiple interfaces use consistent distribution models. I implement this for RSS, where there's a global RSS setup that is propagated to supporting device drivers so that they can align their distribution with the network stack's affinity model for connection groups.
More information about the svn-src-head