Subject: Re: [PATCH] NET: Multiqueue network device support.

From: Roland Dreier <[email-masked]>
Date: Tue, 12 Jun 2007 14:52:11 -0700

> > The MAC is still very much centralized in most designs.
 > > So one way they'll do it is to support assigning N MAC addresses,
 > > and you configure the input filters of the chip to push packets
 > > for each MAC to the proper receive queue.
 > > So the MAC will accept any of those in the N MAC addresses as
 > > it's own, then you use the filtering facilities to steer
 > > frames to the correct RX queue.
 > 
 > Not quite...  You'll have to deal with multiple Rx filters, not just
 > the current one-filter-for-all model present in today's NICs.  Pools
 > of queues will have separate configured characteristics.  The "steer"
 > portion you mention is a bottleneck that wants to be eliminated.

I think you're misunderstanding.  These NICs still have only one
physical port, so sending or receiving real packets onto a physical
wire is fundamentally serialized.  The steering of packets to receive
queues is done right after the packets are received from the wire --
in fact it can be done as soon as the NIC has parsed enough of the
headers to make a decision, which might be before the full packet has
even been received.  The steering is no more of a bottleneck than the
physical link is.

 - R.