DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Wiles, Keith" <keith.wiles@intel.com>
To: Matt Smith <mgsmith@netgate.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] pktgen rx errors with intel 82599
Date: Sat, 14 Mar 2015 13:47:26 +0000
Message-ID: <D129A4CE.16E2D%keith.wiles@intel.com> (raw)
In-Reply-To: <41BFB154-C54A-4712-99A3-279EC6C02685@netgate.com>

Hi Matt

On 3/13/15, 3:49 PM, "Matt Smith" <mgsmith@netgate.com> wrote:

>I¹ve been using DPDK pktgen 2.8.0 (built against DPDK 1.8.0 libraries) to
>send traffic on a server using an Intel 82599 (X520-2). Traffic gets sent
>out port 1 through another server which also an Intel 82599 installed and
>is forwarded back into port 0. When I send using a single source and
>destination IP address, this works fine and packets arrive on port 0 at
>close to the maximum line rate.
>If I change port 1 to range mode and send traffic from a range of source
>IP addresses to a single destination IP address, for a second or two the
>display indicates that some packets were received on port 0 but then the
>rate of received packets on the display goes to 0 and all incoming
>packets on port 0 are registered as rx errors.
>The server that traffic is being forwarded through is running the
>ip_pipeline example app. I ruled this out as the source of the problem by
>sending directly from port 1 to port 0 of the pktgen box. The issue still
>occurs when the traffic is not being forwarded through the other box.
>Since ip_pipeline is able to receive the packets and forward them without
>getting rx errors and it¹s running with the same model of NIC as pktgen
>is using, I checked to see if there were any differences in
>initialization of the rx port between ip_pipeline and pktgen. I noticed
>that pktgen has a setting that ip_pipeline doesn't:
>const struct rte_eth_conf port_conf = {
>    .rxmode = {
>    .mq_mode = ETH_MQ_RX_RSS,
>If I comment out the .mq_mode setting and rebuild pktgen, the problem no
>longer occurs and I now receive packets on port 0 at near line rate when
>testing from a range of source addresses.
>I recall reading in the past that if a receive queue fills up on an 82599
>, that receiving stalls for all of the other queues and no more packets
>can be received. Could that be happening with pktgen? Is there any
>debugging I can do to help track it down?

I have seen this problem on some platforms a few times and it looks like
you may have found a possible solution to the problem. I will have to look
into the change and see if this is the problem, but it does seem to
suggest this may be the issue. When the port gets into this state the port
receives the number mbufs matching the number of descriptors and the rest
are Œmissed¹ frames at the wire. The RX counter is the number of missed

Thanks for the input
>The command line I have been launching pktgen with is:
>pktgen -c f -n 3 -m 512 -- -p 0x3 -P -m 1.0,2.1
>-Matt Smith

  reply	other threads:[~2015-03-14 13:47 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-13 20:49 Matt Smith
2015-03-14 13:47 ` Wiles, Keith [this message]
2015-03-14 18:33   ` Wiles, Keith
2015-03-23 15:51     ` Matt Smith

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D129A4CE.16E2D%keith.wiles@intel.com \
    --to=keith.wiles@intel.com \
    --cc=dev@dpdk.org \
    --cc=mgsmith@netgate.com \


* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git