Hi Emil, We remove the VLAN on the interface and the RSS works. Does it works with VLAN ?
Regards Gang -----Original Message----- From: Ouyang, Lane (NSN - CN/Hangzhou) Sent: Tuesday, June 17, 2014 4:27 PM To: ext Tantilov, Emil S; Xu, Gang 1. (NSN - CN/Hangzhou); e1000-devel@lists.sourceforge.net Cc: Ni, Zhenglin (NSN - CN/Hangzhou); Liu, Xin 9. (NSN - CN/Hangzhou); Yan, Liming (NSN - CN/Hangzhou); Liu, Zuofeng (NSN - CN/Hangzhou); Pajunpaa, Jussi (NSN - FI/Oulu); Ao, Bo (NSN - CN/Hangzhou) Subject: RE: [E1000-devel] Need Help about UDP multiple receive queue Hi Emil, Thank you! But unfortunately, "infconfig ethX down/up" do not help to distribute UDP packets with different source port to different receiving queues of ethX. Here is my experiment: 1. # ethtool -d ethX | grep -i mrqc 0x05818: MRQC (Multiple Rx Queues Command) 0x00330001 2. ethtool -N ethX rx-flow-hash udp4 sdfn 3. # ethtool -d ethX | grep -i mrqc 0x05818: MRQC (Multiple Rx Queues Command) 0x00730001 4. infconfig ethX down 5. # ethtool -d ethX | grep -i mrqc 0x05818: MRQC (Multiple Rx Queues Command) 0x00000000 6. infconfig ethX up 7. # ethtool -d ethX | grep -i mrqc 0x05818: MRQC (Multiple Rx Queues Command) 0x00730001 8. Now starting the UDP traffic, ethX is receiving side. # tcpdump -ni fi0 tcpdump: WARNING: fi0: no IPv4 address assigned tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on fi0, link-type EN10MB (Ethernet), capture size 65535 bytes 14:20:35.047762 IP 10.69.0.1.14405 > 10.69.74.38.3000: UDP, length 96 14:20:35.047780 IP 10.69.0.1.13975 > 10.69.74.38.3000: UDP, length 96 14:20:35.047796 IP 10.69.0.1.62189 > 10.69.74.38.3000: UDP, length 96 14:20:35.047797 IP 10.69.0.1.13991 > 10.69.74.38.3000: UDP, length 96 14:20:35.047805 IP 10.69.0.1.24751 > 10.69.74.38.3000: UDP, length 96 14:20:35.047839 IP 10.69.0.1.64655 > 10.69.74.38.3000: UDP, length 96 ... 9. All UDP packets go to ethX queue 0 ethtool -S ethX | grep rx_queue_ rx_queue_0_packets: 6988897 rx_queue_0_bytes: 453792845 rx_queue_1_packets: 0 rx_queue_1_bytes: 0 rx_queue_2_packets: 0 rx_queue_2_bytes: 0 rx_queue_3_packets: 0 rx_queue_3_bytes: 0 rx_queue_4_packets: 0 rx_queue_4_bytes: 0 rx_queue_5_packets: 0 rx_queue_5_bytes: 0 ... 10. # ifconfig fi0 fi0 Link encap:Ethernet HWaddr EC:9E:CD:0A:50:94 inet6 addr: fe80::ec9e:cd00:100a:5094/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1822562336 errors:0 dropped:0 overruns:0 frame:0 TX packets:7041228 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:237415050805 (221.1 GiB) TX bytes:450638686 (429.7 MiB) fi0 = ethX What else need to do ... ? Br,Lane -----Original Message----- From: ext Tantilov, Emil S [mailto:emil.s.tanti...@intel.com] Sent: Tuesday, June 17, 2014 4:37 AM To: Ouyang, Lane (NSN - CN/Hangzhou); Xu, Gang 1. (NSN - CN/Hangzhou); e1000-devel@lists.sourceforge.net Cc: Ni, Zhenglin (NSN - CN/Hangzhou); Liu, Xin 9. (NSN - CN/Hangzhou); Yan, Liming (NSN - CN/Hangzhou); Liu, Zuofeng (NSN - CN/Hangzhou); Pajunpaa, Jussi (NSN - FI/Oulu) Subject: RE: [E1000-devel] Need Help about UDP multiple receive queue >-----Original Message----- >From: Ouyang, Lane (NSN - CN/Hangzhou) >[mailto:lane.ouy...@nsn.com] >Sent: Friday, June 13, 2014 2:04 AM >To: Tantilov, Emil S; Xu, Gang 1. (NSN - CN/Hangzhou); >e1000-devel@lists.sourceforge.net >Cc: Ni, Zhenglin (NSN - CN/Hangzhou); Liu, Xin 9. (NSN - >CN/Hangzhou); Yan, Liming (NSN - CN/Hangzhou); Liu, Zuofeng >(NSN - CN/Hangzhou); Pajunpaa, Jussi (NSN - FI/Oulu) >Subject: RE: [E1000-devel] Need Help about UDP multiple >receive queue > >Hi Emil, > >The size of UDP packets is quite small, so they should not >be fragmented. > >16:52:30.908413 IP 10.69.0.1.18890 > 10.69.9.81.3000: UDP, >length 96 >16:52:30.908425 IP 10.69.0.1.42398 > 10.69.9.81.3000: UDP, >length 96 ... Yeah, the packets look OK. > >In Intel 82599 10 Gbe Controller Datasheet, it tells, > >" >Enabling rules: >* RSS is enabled in the MRQC register. >* |>***********RSS enabling cannot be done dynamically while it must be >preceded by a software reset.************<| >* RSS status field in the descriptor write-back is enabled when the >RXCSUM.PCSD bit is >set (fragment checksum is disabled). RSS is therefore mutually exclusive with >UDP >fragmentation checksum offload. * Support for RSS is not provided when legacy >receive >descriptor format is used." > >Before we execute the command " ethtool -N fi0 rx-flow-hash >udp4 sdfn " > >Register MRQC has value 330001 >0x05818: MRQC (Multiple Rx Queues Command) >0x00330001 > >After we execute the command, > >Register MRQC has value 730001 >0x05818: MRQC (Multiple Rx Queues Command) >0x00330001 > >I wonder, should we do any software reset after executing >the above command? And how to do a software reset? Please >advice... You can just do `ifconfig ethX down; ifconfig ethX up` and see if the packets are distributed differently after that. Also you can do a quick test using netperf: for ((i=0; i<5; i++)) do netperf -H $host -t UDP_SREAM & done and check the queue distribution on the $host. Thanks, Emil ------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft _______________________________________________ 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