Subject: Re: does intel X520-SR(ixgbe) support RSS on single VLAN?

From: Ben Hutchings <[email-masked]>
Date: Tue, 25 Jan 2011 13:05:34 +1000

On Tue, 2011-01-25 at 10:10 +0800, Rui wrote:
> On Tue, Jan 25, 2011 at 1:09 AM, Alexander Duyck
> <[email-masked]> wrote:
> > On 1/24/2011 6:18 AM, Rui wrote:
> >>
> >> hi
> >> does intel X520-SR support RSS on single VLAN?
> >>
> >> tested with 3 different vlan id and priority packets
> >> What I saw is that all packets were always delivered to the same RxQ.
> >> looks can not get a different RSS index for these packet?
> >> any setting needed?
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe netdev" in
> >> the body of a message to [email-masked]
> >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >
> > The X520 should have no problems hashing on a single VLAN tagged frame.
> >  However the VLAN will not be a part of the RSS hash.  The  only components
> > of the hash are the IPv4/IPv6 source and destination addresses, and if the
> > flow is TCP then the port numbers.
> >
> hi alexander
> I got these information from the intel community:
> 
> 'I asked our software engineers about your question, and this is what I learned.
> You cannot filter by just VLAN or VLAN priority.  The L4 type will
> also play a role in the filter and as such you would only be able to
> filter TCP, UDP, and SCTP packets that are bound for a VLAN.
> The command itself to setup a filter is “ethtool –U ethX flow-type
> tcp4 vlan 0x2000 vlan-mask 0xE000 action Y” where X is the correct
> index for the interface and Y is the queue you want to route the
> traffic to.  This would have to be repeated for udp4 and sctp4.
> I hope this will help.
> Mark H"

The mask specifies bits to be ignored, so if you want to filter on the
basis of only the priority bits you should use vlan-mask 0xfff.  Unless
this is another inconsistency I failed to notice...

> so my question is that the VLAN is PART of the RSS or not?

It's not part of any specified Toeplitz hash.  However, some hardware
supports adding the hash (after indirection) to the queue number
specified by a filter.  Currently the ethtool API doesn't have a way to
request that.

> looks the
> perfect filter support vlan id ?can the perfect filter support
> wildchar,such as: flow-type ANY?

It is possible to specify this using flow-type ether, but the ixgbe
driver does not yet support that (and I have no idea whether the
hardware does).

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.