[dpdk-dev] [dpdk-users] RSS Hash not working for XL710/X710 NICs for some RX mbuf sizes
Xing, Beilei
beilei.xing at intel.com
Wed Jul 20 03:59:40 CEST 2016
Hi Ceara,
> -----Original Message-----
> From: Take Ceara [mailto:dumitru.ceara at gmail.com]
> Sent: Tuesday, July 19, 2016 10:59 PM
> To: Xing, Beilei <beilei.xing at intel.com>
> Cc: Zhang, Helin <helin.zhang at intel.com>; Wu, Jingjing
> <jingjing.wu at intel.com>; dev at dpdk.org
> Subject: Re: [dpdk-dev] [dpdk-users] RSS Hash not working for XL710/X710
> NICs for some RX mbuf sizes
>
> Hi Beilei,
>
> I changed the way I run testmpd to:
>
> testpmd -c 0x331 -w 0000:82:00.0 -w 0000:83:00.0 -- --mbuf-size 1152 --rss-ip -
> -rxq=2 --txpkts 1024 -i
>
> As far as I understand this will allocate mbufs with the same size I was using
> in my test (--mbuf-size seems to include the mbuf headroom therefore 1152
> = 1024 + 128 headroom).
>
> testpmd> start tx_first
> io packet forwarding - CRC stripping disabled - packets/burst=32
> nb forwarding cores=1 - nb forwarding ports=2
> RX queues=2 - RX desc=128 - RX free threshold=32
> RX threshold registers: pthresh=8 hthresh=8 wthresh=0
> TX queues=1 - TX desc=512 - TX free threshold=32
> TX threshold registers: pthresh=32 hthresh=0 wthresh=0
> TX RS bit threshold=32 - TXQ flags=0xf01
> testpmd> show port stats all
>
> ######################## NIC statistics for port 0
> ########################
> RX-packets: 18817613 RX-missed: 5 RX-bytes: 19269115888
> RX-errors: 0
> RX-nombuf: 0
> TX-packets: 18818064 TX-errors: 0 TX-bytes: 19269567464
>
> ##########################################################
> ##################
>
> ######################## NIC statistics for port 1
> ########################
> RX-packets: 18818392 RX-missed: 5 RX-bytes: 19269903360
> RX-errors: 0
> RX-nombuf: 0
> TX-packets: 18817979 TX-errors: 0 TX-bytes: 19269479424
>
> ##########################################################
> ##################
>
> Ttraffic is sent/received. However, I couldn't find any way to verify that the
> incoming mbufs actually have the mbuf->hash.rss field set except for starting
> test-pmd with gdb and setting a breakpoint in the io fwd engine. After doing
> that I noticed that none of the incoming packets has the PKT_RX_RSS_HASH
> flag set in ol_flags... I guess for some reason test-pmd doesn't actually
> configure RSS in this case but I fail to see where.
>
Actually there's a way to check mbuf->hash.rss, you need set forward mode to "rxonly", and set verbose to 1.
I run testpmd with the configuration you used, and found i40e RSS works well.
With the following steps, you can see RSS hash value and receive queue, and PKT_RX_RSS_HASH is set too.
I think you can use the same way to check what you want.
./testpmd -c fffff -n 4 -- -i --coremask=0xffffe --rxq=16 --txq=16 --mbuf-size 1152 --rss-ip --txpkts 1024
testpmd> set verbose 1
testpmd> set fwd rxonly
testpmd> start
testpmd> port 0/queue 1: received 1 packets
src=00:00:01:00:0F:00 - dst=68:05:CA:32:03:4C - type=0x0800 - length=1020 - nb
- Receive queue=0x1
PKT_RX_RSS_HASH
port 0/queue 0: received 1 packets
src=00:00:01:00:0F:00 - dst=68:05:CA:32:03:4C - type=0x0800 - length=1020 - nb_segs=1 - RSS hash=0x4e949f23 - RSS queue=0x0Unknown packet type
- Receive queue=0x0
PKT_RX_RSS_HASH
port 0/queue 8: received 1 packets
src=00:00:01:00:0F:00 - dst=68:05:CA:32:03:4C - type=0x0800 - length=1020 - nb_segs=1 - RSS hash=0xa3c78b2b - RSS queue=0x8Unknown packet type
- Receive queue=0x8
PKT_RX_RSS_HASH
port 0/queue 5: received 1 packets
src=00:00:01:00:0F:00 - dst=68:05:CA:32:03:4C - type=0x0800 - length=1020 - nb_segs=1 - RSS hash=0xe29b3d36 - RSS queue=0x5Unknown packet type
- Receive queue=0x5
PKT_RX_RSS_HASH
/Beilei
> Thanks,
> Dumitru
>
More information about the dev
mailing list