>-----Original Message----- >From: Ouyang, Lane (NSN - CN/Hangzhou) >[mailto:[email protected]] >Sent: Tuesday, June 17, 2014 1:27 AM >To: Tantilov, Emil S; Xu, Gang 1. (NSN - CN/Hangzhou); >[email protected] >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
MRQC is configured correctly, that is why asked you to run the netperf test which should show you if RSS works for UDP in general for your interface. >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 If all the packets are going to queue 0 then most likely the HW cannot generate a hash for your packet (queue 0 is the default). There are certain criteria for packets when generating an RSS hash - you can read the complete set of rules in the 82599 datasheet. >What else need to do ... ? Try the netperf test I suggested in my previous email. If that also doesn't work - please file a bug at e1000.sf.net and include complete details of your setup - kernel/driver version and if you are loading the driver with any parameters other than default. Also you can get a dump of the registers using the ethregs utility from e1000.sf.net. Thanks, Emil >Br,Lane > >-----Original Message----- >From: ext Tantilov, Emil S >[mailto:[email protected]] >Sent: Tuesday, June 17, 2014 4:37 AM >To: Ouyang, Lane (NSN - CN/Hangzhou); Xu, Gang 1. (NSN - >CN/Hangzhou); [email protected] >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:[email protected]] >>Sent: Friday, June 13, 2014 2:04 AM >>To: Tantilov, Emil S; Xu, Gang 1. (NSN - CN/Hangzhou); >>[email protected] >>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 > > ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ E1000-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
