DPDK patches and discussions
 help / color / mirror / Atom feed
From: Prashant Upadhyaya <prashant.upadhyaya@aricent.com>
To: Alexander Belyakov <abelyako@gmail.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Surprisingly high TCP ACK packets drop counter
Date: Sat, 2 Nov 2013 10:59:34 +0530	[thread overview]
Message-ID: <C7CE7EEF248E2B48BBA63D0ABEEE700C45DF9E3ECB@GUREXMB01.ASIAN.AD.ARICENT.COM> (raw)
In-Reply-To: <CAAQJX_SWNBvBDTz3o_7Wo17-redr3Sygwq4pxBMTk3oYTwFhRQ@mail.gmail.com>

Hi Alexander,

Regarding your following statement --
"
The only drop counter quickly increasing in the case of pure ACK flood is ierrors, while rx_nombuf remains zero.
"

Can you please explain the significance of "ierrors" counter since I am not familiar with that.

Further,  you said you have 4 queues, how many cores  are you using for polling the queues ? Hopefully 4 cores for one queue each without locks.
[It is absolutely critical that all 4 queues be polled]
Further, is it possible so that your application itself reports the traffic receive in packets per second on each queue ? [Don't try to forward the traffic here, simply receive and drop in your app and sample the counters every second]

Regards
-Prashant


-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Alexander Belyakov
Sent: Friday, November 01, 2013 7:13 PM
To: dev@dpdk.org
Subject: [dpdk-dev] Surprisingly high TCP ACK packets drop counter

Hello,

we have simple test application on top of DPDK which sole purpose is to forward as much packets as possible. Generally we easily achieve 14.5Mpps with two 82599EB (one as input and one as output). The only suprising exception is forwarding pure TCP ACK flood when performace always drops to approximately 7Mpps.

For simplicity consider two different types of traffic:
1) TCP SYN flood is forwarded at 14.5Mpps rate,
2) pure TCP ACK flood is forwarded only at 7Mpps rate.

Both SYN and ACK packets have exactly the same length.

It is worth to mention, this forwarding application looks at Ethernet and IP headers, but never deals with L4 headers.

We tracked down issue to RX circuit. To be specific, there are 4 RX queues initialized on input port and rte_eth_stats_get() shows uniform packet distribution (q_ipackets) among them, while q_errors remain zero for all queues. The only drop counter quickly increasing in the case of pure ACK flood is ierrors, while rx_nombuf remains zero.

We tried different kinds of traffic generators, but always got the same
result: 7Mpps (instead of expected 14Mpps) for TCP packets with ACK flag bit set while all other flag bits dropped. Source IPs and ports are selected randomly.

Please let us know if anyone is aware of such strange behavior and where should we look at to narrow down the problem.

Thanks in advance,
Alexander Belyakov




===============================================================================
Please refer to http://www.aricent.com/legal/email_disclaimer.html
for important disclosures regarding this electronic communication.
===============================================================================

  parent reply	other threads:[~2013-11-02  5:30 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-01 13:43 Alexander Belyakov
2013-11-01 14:54 ` Wang, Shawn
2013-11-01 15:14   ` Thomas Monjalon
2013-11-02  5:32   ` Prashant Upadhyaya
2013-11-03 20:20   ` Alexander Belyakov
2013-11-04  3:06     ` Prashant Upadhyaya
2013-11-05  9:29       ` Alexander Belyakov
2013-11-05 10:10         ` Olivier MATZ
2013-11-05 11:59           ` Alexander Belyakov
2013-11-05 14:40             ` Prashant Upadhyaya
2013-11-05 17:03               ` Wang, Shawn
2013-11-06  8:42               ` Alexander Belyakov
2013-11-02  5:29 ` Prashant Upadhyaya [this message]
2013-11-03 20:32   ` Alexander Belyakov

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=C7CE7EEF248E2B48BBA63D0ABEEE700C45DF9E3ECB@GUREXMB01.ASIAN.AD.ARICENT.COM \
    --to=prashant.upadhyaya@aricent.com \
    --cc=abelyako@gmail.com \
    --cc=dev@dpdk.org \
    /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).