On Fri, Aug 26, 2016 at 7:45 AM, Auer, Jens <jens.a...@cgi.com> wrote: > Hi, > > how does Perfect Filter (PF) work? According to the Readme, > > > Perfect filter is an interface to load the filter table that funnels all flow > into queue_0 unless an alternative queue is specified using "action". In that > case, any flow that matches the filter criteria will be directed to the > appropriate queue. > > >From this, I would expect that the counters in the NIC count only traffic in > >queue 0 when receiving packets. > So I did a little experiment and captured the counters before and after > sending some traffic with iperf. These are the counters before: > > rx_queue_0_packets 16039690804 > rx_queue_1_packets 395308116 > rx_queue_2_packets 84525446 > rx_queue_3_packets 107679699 > rx_queue_4_packets 27442172 > rx_queue_5_packets 38033947 > rx_queue_6_packets 17664248 > rx_queue_7_packets 13731407 > rx_queue_8_packets 1869081 > rx_queue_9_packets 1564940 > rx_queue_10_packets 5000550 > rx_queue_11_packets 5358344 > rx_queue_12_packets 5598815 > rx_queue_13_packets 5508204 > rx_queue_14_packets 2773449 > rx_queue_15_packets 2539626 > rx_queue_16_packets 30444701 > rx_queue_17_packets 1875836468 > rx_queue_18_packets 31240359 > rx_queue_19_packets 9905014 > rx_queue_20_packets 1947326460 > rx_queue_21_packets 44664553 > rx_queue_22_packets 4792314 > rx_queue_23_packets 43862206 > rx_queue_24_packets 141 > rx_queue_25_packets 97 > rx_queue_26_packets 73 > rx_queue_27_packets 176 > rx_queue_28_packets 158 > rx_queue_29_packets 191 > rx_queue_30_packets 93 > rx_queue_31_packets 318 > > And these are the counters after running iperf for 10s: > rx_queue_0_packets 16040037801 > rx_queue_1_packets 395655118 > rx_queue_2_packets 84872104 > rx_queue_3_packets 108026357 > rx_queue_4_packets 27442172 > rx_queue_5_packets 38033947 > rx_queue_6_packets 18011252 > rx_queue_7_packets 14079046 > rx_queue_8_packets 1869092 > rx_queue_9_packets 1738441 > rx_queue_10_packets 5347208 > rx_queue_11_packets 5531673 > rx_queue_12_packets 5598815 > rx_queue_13_packets 5508204 > rx_queue_14_packets 3120599 > rx_queue_15_packets 2886331 > rx_queue_16_packets 30444701 > rx_queue_17_packets 1875836468 > rx_queue_18_packets 31240359 > rx_queue_19_packets 9905014 > rx_queue_20_packets 1947326460 > rx_queue_21_packets 44664553 > rx_queue_22_packets 4792314 > rx_queue_23_packets 43862206 > rx_queue_24_packets 141 > rx_queue_25_packets 97 > rx_queue_26_packets 73 > rx_queue_27_packets 176 > rx_queue_28_packets 158 > rx_queue_29_packets 191 > rx_queue_30_packets 93 > rx_queue_31_packets 318 > > As you can see traffic is nicely distributed to several queues. I have no > rules specified and nutple-filters=on for both servers. Is this RSS > distributing the traffic to different queues? > > Best wishes, > Jens
All turning on ntuple-filtering does is enable you to then populate the filter table the "ethtool -N <iface> flow-type" command. When it is enabled you default to RSS for any flows that don't match any of your rule criteria. If you specify a rule without specifying an action then it will route the packet to queue 0 as that is the default action. - Alex ------------------------------------------------------------------------------ _______________________________________________ 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