Subject: Re: how to set vlan filter for intel 82599

From: Ben Hutchings <[email-masked]>
Date: Tue, 26 Apr 2011 03:57:18 +0100

On Tue, 2011-04-26 at 10:19 +0800, zhou rui wrote:
> hi
> here is the problem troubles me,how to set vlan filter for intel
> 82599? for example
> I want vlan id 0~31 will go to queue 0, vlan id 32-63 will go to queue
> 1...below is my setting,but doesn't work
> 
> don't know the exact meanning of the vlan-mask and vlan,how are they calculated?
> 
> ./ethtool -K eth5 ntuple on
> 
> ./ethtool -U eth5 flow-type udp4 src-ip 0x0 src-ip-mask 0x0 dst-ip 0x0
> dst-ip-mask 0x0 src-port 0x0 src-port-mask 0x0 dst-port 0x0
> dst-port-mask 0x0 vlan 0x0000 vlan-mask 0x00E0 user-def 0x0
> user-def-mask 0x0 action 0
[...]

This specifies a filter for UDP/IPv4 packets, and the masks are wrong.
If you actually wanted to filter only UDP/IPv4 packets for VID 0-31 then
the correct syntax would be:

    ethtool -U eth5 flow-type udp4 vlan 0 vlan-mask 0xf01f

If you don't care about the layer 3/4 protocols then you would need to
use 'flow-type ether', but no driver implements that yet.  (Well, sfc
implements the *type*, but not filtering by VID only.)

Ben.

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