On 06/07/2011 08:39 PM, Jon Zhou wrote:
>
>> -----Original Message-----
>> From: Alexander Duyck [mailto:alexander.h.du...@intel.com]
>> Sent: Saturday, May 28, 2011 5:11 AM
>> To: Jon Zhou
>> Cc: e1000-devel@lists.sourceforge.net
>> Subject: Re: [E1000-devel] packet can't be routed to correct rxqueue by
>> flow director filter
>>
>> On 05/26/2011 11:46 PM, Jon Zhou wrote:
>>>> -----Original Message-----
>>>> From: Alexander Duyck [mailto:alexander.h.du...@intel.com]
>>>> Sent: Thursday, May 26, 2011 9:19 PM
>>>> To: Jon Zhou
>>>> Cc: e1000-devel@lists.sourceforge.net
>>>> Subject: Re: [E1000-devel] packet can't be routed to correct rxqueue
>> by
>>>> flow director filter
>>>>
>>>> On 05/25/2011 10:57 PM, Jon Zhou wrote:
>>>>> I set flow director filter like below:
>>>>>
>>>>> #!/bin/sh
>>>>> ./ethtool -K eth5 ntuple off
>>>>> ./ethtool -K eth5 ntuple on
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 0 vlan-mask 0xF000 action 0
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 0 vlan-mask 0xF000 action 0
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 1 vlan-mask 0xF000 action 1
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 1 vlan-mask 0xF000 action 1
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 2 vlan-mask 0xF000 action 2
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 2 vlan-mask 0xF000 action 2
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 3 vlan-mask 0xF000 action 3
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 3 vlan-mask 0xF000 action 3
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 4 vlan-mask 0xF000 action 4
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 4 vlan-mask 0xF000 action 4
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 5 vlan-mask 0xF000 action 5
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 5 vlan-mask 0xF000 action 5
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 6 vlan-mask 0xF000 action 6
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 6 vlan-mask 0xF000 action 6
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 7 vlan-mask 0xF000 action 7
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 7 vlan-mask 0xF000 action 7
>>>>>
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 16 vlan-mask 0xF000 action 8
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 16 vlan-mask 0xF000 action 8
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 17 vlan-mask 0xF000 action 9
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 17 vlan-mask 0xF000 action 9
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 18 vlan-mask 0xF000 action 10
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 18 vlan-mask 0xF000 action 10
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 19 vlan-mask 0xF000 action 11
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 19 vlan-mask 0xF000 action 11
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 20 vlan-mask 0xF000 action 2
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 20 vlan-mask 0xF000 action 2
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 21 vlan-mask 0xF000 action 0
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 21 vlan-mask 0xF000 action 0
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 22 vlan-mask 0xF000 action 1
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 22 vlan-mask 0xF000 action 1
>>>>> ./ethtool -U eth5 flow-type tcp4 vlan 23 vlan-mask 0xF000 action 3
>>>>> ./ethtool -U eth5 flow-type udp4 vlan 23 vlan-mask 0xF000 action 3
>>>>>
>>>>> Most packets were processed correctly except the attachment, which
>>>> vlan_id =4, routed to queue 0 always.
>>>>> ethtool -i eth5
>>>>> driver: ixgbe
>>>>> version: 3.3.9-NAPI
>>>>> firmware-version: 0.9-3
>>>>> bus-info: 0000:08:00.1
>>>> The packet you included was IP fragmented.  This is a limitation of
>>>> Flow
>>>> Director.  It cannot match fragmented packets as there is no
>> guarantee
>>>> that fields such at UDP/TCP port numbers will be present.
>>>>
>>>> Thanks,
>>>>
>>>> Alex
>>> Any workaround to avoid this? Since I don't care about the UDP/TCP
>> port, just assign packet according to its VLAN ID.
>>
>> Unfortunately not.  I was looking at something similar as I have
>> patches
>> that will soon enable support for just filtering in IPv4, but
>> unfortunately if packets are fragmented they still bypass the Flow
>> Director filters.
>>
>> Thanks,
>>
>> Alex
> those fragmented packets, will be sent to rxqueue0 by default? or RSS(you 
> mean "filtering in IPv4"?) will calculate their hash value then determine the 
> target rx-queue?
>
> Is it possible to do reassemble in ixgbe then pass through the flowdirector 
> filter?
The fragmented packets will be sent off to RSS which will then select 
the queue.

The enabling of filtering of IPv4 refers to some flow director work I 
have done, however as I said it still doesn't handle fragments, it just 
allows you to ignore the L4 header.

The ixgbe driver will not do any reassembly of IP fragments.  That is 
all handled by the network stack in the kernel.

Thanks,

Alex

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to