From: Rafael Vargas <vargas@khomp.com>
To: users@dpdk.org
Subject: Interface stop receiving packets
Date: Tue, 3 Sep 2024 16:58:04 -1000 [thread overview]
Message-ID: <CAEaYocb6H++NoMqDu4gpsMwoJHsLhd4_omYL9wgYATdy3xX4QQ@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 1511 bytes --]
Hi,
I have an application using DPDK and it mostly works (my main goal is to
accelerate UDP packet forwarding using a set of rules).
I currently have two problems:
1 - rte_eth_rx_burst eventually starts returning always 0, and the
stats.imissed counter starts to count up.
The application is working normally, receiving packets, applying the
rules and adding them to the correct tx queue and it just stops receiving
packets. The loop keeps calling rte_eth_rx_burst bit the return value is
always zero and all the packets sent to the interface are lost.
2 - the rx rings of the vlinks seem to take much longer to be consumed by
the OS stack than it would be if the OS were controlling the interface. The
vlink is created with
rte_eal_hotplug_add( "vdev", "virtio_user0",
"path=/dev/vhost-net,queues=1,queue_size=4096,iface=ens224,mac=XX:XX:XX:XX:XX:XX"
)
When using the same scenario without the DPDK layer (directly using
the OS network stack features for the interface) I can handle more traffic.
When enabling the DPDK layer, the rings are constantly full and several
packets get lost. Sometimes even with low traffic the the rings don't reach
full capacity but take a long time to be emptied by the OS.
Most of my tests are using the vmxnet3 adapter, but I have similar results
with i40e. Also the results are the same with DPDK 22.11.1 and 23.11.1, All
tests using Debian 11.
Has anyone seen behaviors like this? And how would I approach solving them?
Thanks in advance!
--
Rafael Vargas
[-- Attachment #2: Type: text/html, Size: 1860 bytes --]
reply other threads:[~2024-09-04 2:58 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=CAEaYocb6H++NoMqDu4gpsMwoJHsLhd4_omYL9wgYATdy3xX4QQ@mail.gmail.com \
--to=vargas@khomp.com \
--cc=users@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).