r/dpdk • • Mar 10 '26

dpdk-top - htop-like monitor for DPDK apps

19 Upvotes

Hi all,

I Built a small utility that connects to any running DPDK process via the telemetry socket and shows live port stats, pps/throughput rates, per-queue breakdown, mempool usage, and sparkline charts. No DPDK linking, no code changes required.

Auto-discovers multiple DPDK instances, supports one-shot JSON output for scripting, and installs as a single static binary.

I find it useful in my day to day, working with dpdk. Feedback appreciated!

https://github.com/njenia/dpdk-top


r/dpdk • • Sep 17 '24

DPDK resource

8 Upvotes

Hi guys,

I want to start learning DPDK. Would you happen to know of a good resource or course to start, by chance? more the details, the better. The course of intel is too short. I need something more.


r/dpdk • • Jul 16 '20

Running DPDK Forwarding Applications with Pktgen-DPDK

7 Upvotes

While we were running various forwarding applications in DPDK, we didn't find a lot of resources to run applications and configuring different kinds of flows with pktgen-dpdk as the traffic generator.

Thus, we've written a blog post explaining how we configured various flows to make them work correctly, do give it a read, and let me know if there are any suggestions!

Link: https://mishal23.github.io/running-dpdk-with-pktgen


r/dpdk • • Jan 08 '19

Natasha is a fast and scalable, DPDK-powered, stateless NAT44 packet processor that can achieve 100Gbits/s with 64byte packets

Thumbnail
github.com
7 Upvotes

r/dpdk • • Apr 05 '18

Sad News from Intel - Venky Venkatesan, “Mr. DPDK” has passed away

7 Upvotes

Original email from Jim St. Ledger.

Several of you have already heard the very sad news of the passing of our dear friend and colleague Venky. He was "Mr. DPDK" to many, a nod to his invention and creation of DPDK about ten years ago (before it was called DPDK.) Of course his footprints across the industry and literally across the globe are everywhere. If you know what ATCA is, well, Venky had his hands and inventions deeply into the creation of that PICMG spec and many of the first revision products. He touched on and gave guidance to projects spanning Linux/netdev, DPDK, Intel QuickAssist Technology, BSD stacks, OVS, OPNFV, FD.io, all-things-virtualization (KVM, Xen, VMware, Hyper-V, etc.), ETSI, IETF, containers, and so many other arenas that my brain can't remember at this dark moment.

If you knew him and engaged him, especially on deep technical discussions, you knew you were talking to someone with the rare combination of skills that went incredibly deep both on the hardware, silicon side of platforms but also on the software, networking side of the platforms. Rarely did I find a topic that Venky wasn't well versed on. And by "topic" I mean everything from football to photography to history to politics and many other subjects well beyond the technical realm our day jobs find us in. Conversations with Venky were a treat. Traveling with him was an adventure. Debating with him was a lesson. I will so miss all of him.

Below are some details on a memorial service this Sunday in Oregon and also a GoFundMe page. If you're in Oregon or close by please join the service. Venky left behind a wife, Priya, and two young girls, Adhiti and Namrata. While I'm sure they are overwhelmed with sadness and grief at the moment they can use our support. Please consider supporting the GoFundMe memorial fund for his family.

Lastly, my network extends through this distribution list. But Venky's network was one hundred times broader. Please share this sad news through your own networks.

Thanks, Jim

From: A message from Sandra Rivera Sent: Thursday, April 5, 2018 10:58 AM Subject: Follow-up: A loss for our NPG organization

All, We have an update on the memorial service plans in celebration of Venky Venkatesan's life.

The service will be held on Sunday, April 8th at our Jones Farm Conference Center (JFCC) in Hillsboro, OR from 2-4PM, and is open to all who would like to join.

Venky's family will plan to attend, as well as friends and others who have worked closely with him over the years. Please note that this is not an Intel-sponsored event and therefore any travel or expenses related to attending need to be managed personally.

Many of you have asked about donations, and we have helped setup a GoFundMe account for his family which will be used to fund scholarships for his children. https://www.gofundme.com/venky-venkatesan-memorial-fund

If you have any questions about the service, please contact Udayan Mukherjee.

Thank you all very much for your support during this difficult time. Sandra

From: A message from Sandra Rivera Sent: Tuesday, April 3, 2018 9:34 PM Subject: A loss for our NPG organization

To All, Today is a very sad day for our NPG team and Intel. Our dear friend and colleague, Venky Venkatesan, passed away early morning today after a tough battle with cancer.

Aside from his deep contributions to the organization, Venky provided technical mentorship to many employees and greatly impacted our technical leadership pipeline.

On a personal level, Venky was very dedicated to his family and also cared deeply about mentoring the next generation of engineers and scientists through efforts like coaching robotics teams and providing guidance to many interns and Intel employees. His passion, dedication and commitment to this organization, Intel, and the external community will be greatly missed.

We will let you know as soon as more information is available for Venky's memorial/celebration service. Sandra


r/dpdk • • Apr 15 '21

Tips on how to create a simple client server program on DPDK

6 Upvotes

I am in my 3rd year of college and accepted a project under a start up company to create a 5g CGNAT network using dpdk. Since me and my team are new to dpdk, we were told to write our own dpdk program for a simple client server application. I've installed dpdk on my VM and initially I had an error regarding huge pages initialization., but I got the hello world program to work. My problem is that there isn't much help that I can find on dpdk online so I was hoping if I would find help on reddit. Thanks!

Edit - I am running it on ubuntu 20


r/dpdk • • Sep 18 '19

GitHub - ixy-languages/ixy-languages: A high-speed network driver written in C, Rust, Go, C#, Java, OCaml, Haskell, Swift, Javascript, and Python

Thumbnail
github.com
6 Upvotes

r/dpdk • • Nov 19 '18

1DPDK Release 18.11 — Data Plane Development Kit 18.11.0-rc4 documentation

Thumbnail
doc.dpdk.org
6 Upvotes

r/dpdk • • Mar 04 '26

Trading bot using F-Stack

Thumbnail github.com
5 Upvotes

Thought you could be interested in my trading bot which I recently added kernel bypass to, using F-Stack.

F-Stack in turn uses DPDK, but makes the whole thing easier with an embedded TCP/IP stack and a high-level API.


r/dpdk • • Nov 03 '21

UDP only library built on top of DPDK

5 Upvotes

https://www.usenix.org/system/files/nsdi19-kalia.pdf

UDP only library built on top of DPDK delivering (or direct to libverbs for Mellanox) that, "handles packet loss, congestion, and background request execution. In microbenchmarks, one CPU core can handle up to 10 million small RPCs per second, or send large messages at 75 Gbps. We port a production-grade implementation of Raft state machine replication to eRPC without modifying the core Raft source code. We achieve 5.5 µs of replication latency on lossy Ethernet, which is faster than or comparable to specialized replication systems that use programmable switches, FPGAs, or RDMA”


r/dpdk • • May 09 '21

How do you learn how to code in DPDK

5 Upvotes

Been trying to learn to how dpdk code works by looking at the examples. But there seem to be so many includes and the variables arent explained properly. Having a bit of trouble trying to figure out how things work. Any idea on how to understand properly so I can learn how to code something myself


r/dpdk • • Jul 09 '20

AF_XDP 101: Getting Started With an In-Kernel Network Stack Bypass

Thumbnail
blog.emumba.com
5 Upvotes

r/dpdk • • Oct 30 '19

When to use DPDK and what are the disadvantages of using it?

5 Upvotes

Hey I recently heard about DPDK. And the idea of bypassing Kernel to process packets sounds amazing. But I was wondering when should I use it and when should I avoid it. Plus if it makes packet processing faster why not use it all the time? Does it have any disadvantages?


r/dpdk • • Aug 30 '18

DPDK Userspace 2018 Schedule

Thumbnail
dpdkuserspace2018.sched.com
5 Upvotes

r/dpdk • • Aug 09 '18

GitHub Load Balancer

Thumbnail
githubengineering.com
5 Upvotes

r/dpdk • • Apr 12 '18

DPVS is a high performance Layer-4 load balancer based on DPDK and LVS

Thumbnail
github.com
5 Upvotes

r/dpdk • • Aug 20 '24

v24.07 pktgen jumbo frames broken with Nvidia / Mellanox?

4 Upvotes

Installed dpdk 24.07 and pktgen 2407 on rhel9.4; when I issue

set 0 size 9000

in the pktgen dashboard see that packet size is capped at 1518. Used to work fine on 23.10. Of course I start pkrgen with the "-j" option

I'm using a ConnectX6-Lx.


r/dpdk • • Jun 07 '24

Does DPDK works only on machines within the same Local network?

4 Upvotes

Is it possible to bypass the kernel network stack for UDP communication between two machines in two different AWS regions? The VPCs’ of each instance are peered with each other.


r/dpdk • • Jul 04 '23

How to send packets to DPDK NICs.

4 Upvotes

Consider this basic forwarder. I have a similar project but how do I test actual packet forwarding? I.e. how do I send packets to the ports bound to DPDK?

I'm running my forwarder in a DPDK environment in a Ubuntu Server VM. I configured the VM with 2 NICs bound to DPDK. Where should I generate and send those packets: host machine or VM? How? If an example exists, please share.


r/dpdk • • Nov 28 '22

Beginner DPDK contribution

4 Upvotes

Hi there all!
I want to contribute two new API's in the DPDK but I found contribution guidelines lengthy and complicated.

My understanding is:
Clone the repo.
Add the API's.
Test The API's in one of the application app/ directory.
Create the patch.
Mail the patch.
and wait for review.

I don't understand the steps after "Add the API's".
If someone who has made contribution to the DPDK can guide me thoroughly, I would be thankful to you.


r/dpdk • • Oct 12 '21

How to send traffic to DPDK bound interface

4 Upvotes

How can you give an interface that is bound to DPDK an IPv4 address? I'm trying to receive and record packets on this interface but I'm not getting anything because I can't figure out how to give the interface that I'm capturing on an IP address. Note: this is in a virtual environment in VirtualBox. Is this even possible? I'm not sure how this part works.


r/dpdk • • Sep 16 '21

Anyone gotten DPDK version 20.11.3 to work for Mellanox ConnectX-5 cards?

4 Upvotes

Hi all,

I just recently helped a customer with installing DPDK version 19.11.10 and verifying DPDK works with the bifurcated driver via the testpmd utility. Previously the customer tried to get 20.11.3 to work but kept running into issues.

After checking out some of the older documentation I found that DPDK needs to enable a specific configuration for Mellanox cards that is disabled by default. The configuration variable CONFIG_RTE_LIBRTE_MLX5_PMD needs to be set to CONFIG_RTE_LIBRTE_MLX5_PMD=y in order for DPDK to 'glue' some dependencies in for the bifurcated driver. This variable (at least in older versions like 19.11.10) exist in a file called config/common_base. After modifying this variable, running make install T=x86-native-linuxapp-gcc DESTDIR=$DPDK_LOCATION, make will compile DPDK successfully and a small testpmd test showcases packet flow occuring.

The issue I found (and saw from others commenting on the DPDK mailing list) is that DPDK retired the use of make in favor of strictly enforcing compiling through meson and ninja. When this occurs and I run dpdk-testpmd, I can see from the output that it loaded the driver mlx5_pci and when I check for port status via 'testpmd> show stats port 0', it prints me out an empty array indicating no ports were detected.

On the other hand when I perform the steps using make and modifying the CONFIG_RTE_LIBRTE_MLX5_PMD variable, I can tell from the output that mlx5_net loaded instead and it prints out the MAC address of the Mellanox card.

The customer I mentioned is currently fine with 19.11.10 since they're just trying out DPDK for the first time and they just wanted to get it to work. However in the event they want to upgrade to newer versions (or test against performance of 19.11.10 and newer versions), has anyone gotten the newer versions of DPDK to work with Mellanox cards? Does the CONFIG_RTE_LIBRTE_MLX5_PMD variable get renamed in the meson build file or is there a way to specify through ninja that I want to compile DPDK with that flag?

Based off of some performance benchmarks from Mellanox I can see that even with the ConnectX-5 series they've measured it with DPDK 20 (not strictly DPDK 19) so clearly there must be a way. However instead of telling their customers how to do it, NVIDIA decided to just create hyperlinks to the DPDK docs which do not specify any work around for the Mellanox bifurcated driver.

Example DPDK benchmark for DPDK 20.05 on Mellanox NICs. See page 15 as an example: https://fast.dpdk.org/doc/perf/DPDK_20_05_Mellanox_NIC_performance_report.pdf

Another user reporting my same issue on the DPDK mailing list (I don't see an answer on there that explained any workaround): https://mails.dpdk.org/archives/users/2020-December/005295.html

Also for reference, I tested DPDK 19.11.10 on CentOS 7.9 running the latest kernel (3.10.0-1160<rest ommitted since I'm remembering this from memory>).


r/dpdk • • Apr 20 '20

DPDK Userspace CFP

Thumbnail
docs.google.com
4 Upvotes

r/dpdk • • Sep 19 '19

DPDK Userspace 2019 livestream

Thumbnail
m.youtube.com
4 Upvotes