DPDK patches and discussions
 help / color / mirror / Atom feed
From: Matt Smith <mgsmith@netgate.com>
To: dev@dpdk.org
Subject: [dpdk-dev] pktgen rx errors with intel 82599
Date: Fri, 13 Mar 2015 15:49:01 -0500
Message-ID: <41BFB154-C54A-4712-99A3-279EC6C02685@netgate.com> (raw)


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?

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-13 20:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-13 20:49 Matt Smith [this message]
2015-03-14 13:47 ` Wiles, Keith
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=41BFB154-C54A-4712-99A3-279EC6C02685@netgate.com \
    --to=mgsmith@netgate.com \
    --cc=dev@dpdk.org \


* 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