[RFC PATCH] add rust binding support to DPDK
Van Haaren, Harry
harry.van.haaren at intel.com
Thu Apr 17 13:11:30 CEST 2025
>From: Owen Hilyard
>Sent: Sunday, April 13, 2025 6:09 PM
>To: Etelson, Gregory; Van Haaren, Harry
>Cc: Richardson, Bruce; dev at dpdk.org
>Subject: Re: [RFC PATCH] add rust binding support to DPDK
>
>Hello all,
>
>I wanted to chime in as someone who uses DPDK from Rust in quite a few projects.
Great - thanks - more input from different perspectives is good!
<big snip>
> I think most of the value of Rust can be gotten by making a good Rust API available to consumers of DPDK.
Yes - agree here! Adoption of DPDK in Rust ecosystem must "feel normal" just like depending on any other Rust crate.
> There is value in having Rust for PMDs, but there is a lot more code written which consumes DPDK than code in new PMDs. It might be better to hold that conversation until someone wants to write a Rust PMD.
Building PMDs in Rust (while interesting) is not the primary goal here; correct. "End user" of DPDK having a safe and high-performance Rust API is the goal.
> I think that there is also value in a version which is "maximum safety" that takes performance hits where necessary. DPDK is far enough ahead of the performance of most other options that "DPDK at 80%" is still going to be fast enough for many purposes and the extra safety is valuable there from an ease-of-use perspective. There are, of course, applications which need everything DPDK has to offer from a performance perspective, and those should be served as well, but I think DPDK can offer a spectrum where users get steadily closer to "zero overhead abstraction over the DPDK C API" the more performance they need, possibly sacrificing some safety along the way.
I like this perspective - as hardware vendors its easy to get hyper focused on maximum performance. To be clear; I want to ensure DPDK+Rust can hit max
performance too, but lets focus on Safety/Ergonomics first and then optimize, not the other way around.
I see (Gregory) you posted some more "Rust like abstraction" code for DPDK: https://mails.dpdk.org/archives/dev/2025-April/317088.html
I'll reply there shortly, and give some thoughts on the details as next steps towards a safe/abstracted (but high performance!) API.
Regards, -Harry
More information about the dev
mailing list