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&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to