From: David Christensen <drc@linux.vnet.ibm.com>
To: "Wiles, Keith" <keith.wiles@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Pktgen Only Enables One RX Queue with Mellanox ConnectX-5
Date: Wed, 5 Jun 2019 16:10:28 -0700 [thread overview]
Message-ID: <0e2af1b7-2b5f-52ed-a2d5-62f1465a6733@linux.vnet.ibm.com> (raw)
In-Reply-To: <FFD39791-1147-42F8-90FC-EE94B46B633C@intel.com>
>> Traffic is only received on RX queue 0. Anyone run into this? The link partner shows traffic received and transmitted on all configured queues (16 in this case) so I don't think the link partner is dropping traffic in such a way that the remaining traffic flows to a single RX queue on the SUT.
>
> This normally means the RSS is not distributing the RX traffic to the others, which means the RX traffic is not varied enough to make RSS distribute the traffic. That would be my best guess I have not used the Mellanox cards.
Remember that the traffic is being generated by pktgen. Is there
something I can improve with the "range" commands I used to start the
test? When I review the extended statistics from testpmd's "show port
xstats all" command I see that traffic is being distributed correctly
when received by the SUT (i.e. each per RX queue statistic is
incrementing and is about the same value). And the SUT uses the same
MLX5 adapter that the pktgen host does.
Similarly, the per TX queue statistic is incrementing as well,
suggesting that the traffic is being looped back to the pktgen host. If
there's a problem with RSS it would appear to be on the pktgen host
side. Is that expected?
I haven't looked into how RSS is enabled with DPDK but it looks like
pktgen operates differently with respect to RSS on different versions of
DPDK. Does the following code snippet mean that RSS isn't enabled by
pktgen on my build of DPDK v18.11?
app/pktgen-port-cfg.c:
41 static struct rte_eth_conf default_port_conf = {$
42 #if RTE_VERSION <= RTE_VERSION_NUM(18, 5, 0, 0)$
43 | .rxmode = {$
44 | | .mq_mode = ETH_MQ_RX_RSS,$
45 | | .max_rx_pkt_len = ETHER_MAX_LEN,$
46 | | .split_hdr_size = 0,$
47 | | .ignore_offload_bitfield = 1,$
48 | | .offloads = (DEV_RX_OFFLOAD_CRC_STRIP |$
49 | | | DEV_RX_OFFLOAD_CHECKSUM),$
50 | },$
51 | .rx_adv_conf = {$
52 | | .rss_conf = {$
53 | | | .rss_key = NULL,$
54 | | | .rss_hf = ETH_RSS_IP,$
55 | | },$
56 | },$
57 | .txmode = {$
58 | | .mq_mode = ETH_MQ_TX_NONE,$
59 | },$
60 #else$
61 | .rxmode = {$
62 | | .split_hdr_size = 0,$
Dave
prev parent reply other threads:[~2019-06-05 23:10 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-05 22:08 David Christensen
2019-06-05 22:30 ` Wiles, Keith
2019-06-05 23:10 ` David Christensen [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0e2af1b7-2b5f-52ed-a2d5-62f1465a6733@linux.vnet.ibm.com \
--to=drc@linux.vnet.ibm.com \
--cc=dev@dpdk.org \
--cc=keith.wiles@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).