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