Upcoming webinar Dec 7 - Exploring DPDK's Role in 5G Architecture
Skip to main content

Which DPDK LTS Release Should I Pick?: The LTS (Upstream) Maintainer’s Guide

By Blog

Authors: Ben Thomas (Linux Foundation Marketing Lead) & Kevin Traynor (LTS Maintainer & Software Engineer @ Redhat)

Navigating the complex landscape of Data Plane Development Kit (DPDK) releases, particularly Long-Term Support (LTS) versions, is often accompanied with pressing questions: “Which release is most suitable for my needs?” “What are the advantages of choosing an LTS release?” “How does an LTS release impact the stability and life span of my network applications?” 

This detailed blog aims to shed light on these queries and steer you towards the appropriate DPDK LTS release for your specific requirements.

Understanding DPDK LTS Releases

DPDK is a collection of libraries and drivers that enable rapid packet processing, which is essential in network functions virtualization (NFV), cloud computing, and other high-speed networking environments. 

LTS releases are special in that they are designated to receive ongoing maintenance updates, including bug fixes and security patches, for a longer duration than standard releases.

DPDK LTS vs. Standard Releases

DPDK standard releases are known for their rapid development and inclusion of bleeding-edge features. In contrast, LTS releases follow a more systematic and stable approach, focusing on a consistent cadence of fixes and releases. 

This distinction is important for organizations deciding between adopting the latest DPDK features or prioritizing long-term stability, who anticipate a solid three-year cycle of maintenance, with security patches often exceeding this period.

Volume of Fixes in Each Release

A notable characteristic of DPDK LTS releases is the substantial number of fixes each version receives. This high volume of fixes is a testament to the active maintenance and commitment to ensuring the reliability and stability of each LTS version. It indicates the ongoing effort to address a wide range of issues, from minor bugs to critical vulnerabilities. 

Simultaneous Maintenance of Multiple Versions

DPDK’s maintenance strategy includes managing three LTS versions simultaneously. This approach ensures that organizations using different versions of DPDK LTS receive the necessary support and updates. It exemplifies the dedication of the DPDK community to cater to a diverse range of users and their varying adoption timelines.

Differences in Fixes Across Versions

The number of fixes in LTS releases varies based on the age and lifecycle of the release. For instance, an older release like 20.11 tends to have fewer fixes as it matures and stabilizes over time. In contrast, a newer release like 22.11, which was released late in 2022, has not yet completed a full year of fixes. This discrepancy in the number of fixes reflects the evolving nature of each release and the continuous effort to enhance stability and performance.

Impact of Release Timelines on Maintenance

The timing of a release plays a critical role in its maintenance cycle. A newer release like 22.11, having been in the market for a shorter duration, might not have accumulated as many fixes as an older release. This variation underscores the importance of understanding the release timelines and their implications on the maintenance and support cycles of DPDK LTS releases.

Enhanced Focus on NIC and Driver Fixes in LTS Releases

One of the key aspects of DPDK LTS releases is their focus on Network Interface Controller (NIC) and driver fixes. Hardware vendors are deeply invested in driver functionality, making them some of the most active contributors to the DPDK LTS ecosystem. Their involvement is crucial, as they provide the expertise and timely updates necessary to keep the drivers—and thus the network—running smoothly. 

Trends in Bug Fixes and Maintenance

An analysis of recent LTS versions, such as version 22.11.3, reveals a trend of decreasing bug fixes. This trend corresponds to the number of bugs found in the main branch, contrasting with previous versions where fixes averaged around 300. The rate of fixes is not fixed; as a release ages, the number of fixes tends to decrease, indicating increased stability over time.

Longevity of LTS Maintenance

The question of why LTS releases are not maintained for extended periods, like 20 years, is addressed by the trend of diminishing fixes over time. As LTS versions become more stable, the need for frequent fixes decreases, justifying the typical LTS support duration.

Future Code Integrations and Impact on LTS

Looking ahead, future code integrations in DPDK may not significantly impact LTS releases. While library fixes might increase, the core stability of LTS releases is expected to be maintained.

The Process Behind DPDK LTS Releases

The philosophy guiding LTS maintenance encapsulates a straightforward principle: “Don’t make it worse.” Key aspects of this philosophy include:

LTS Selection: Annually, one DPDK release is chosen to become an LTS version. Typically this is the November DPDK release. This release ceases to receive new features but is maintained to address critical issues.

Maintenance Workflow: Fixes from subsequent releases are ported back to the LTS release. For instance, if a significant bug is fixed in a March release, that fix is usually also applied to the LTS version.

Vendor Contributions: Updates for drivers specific to various hardware vendors are included in LTS releases, ensuring that common components remain stable across different platforms.

Validation: LTS releases are validated through a mix of CI and vendors dedicating validation resources.

Distribution Adoption: Prominent Linux distributions such as Red Hat, Ubuntu and Debian favor LTS releases due to their longer support window and relative feature stability.

The Role of LTS in Upstream Maintenance

The DPDK upstream maintainers are committed to ensuring that LTS releases receive the necessary fixes without introducing new issues. This careful balance underscores their dedication to the core LTS premise.

Statistical analysis of LTS releases provides insight into several key areas:

Fixes: The quantity and significance of the bug fixes an LTS release receives.

Bug Age: The duration that bugs existed before being fixed, indicating the codebase’s stability.

Code Areas: The sections of code that were most frequently fixed, highlighting areas of potential vulnerability or critical importance.

Why Opt for DPDK LTS?

Opting for a DPDK LTS release over a standard one is akin to choosing a well-established airline for travel—while it may not boast the newest features, its track record for safety is impeccable.

Industry Adoption

Companies like Red Hat and Ubuntu use LTS releases because they trust the extended support period will provide a stable foundation for their network infrastructure. This trust stems from the methodical maintenance and broad community endorsement of LTS releases, which adds another layer of testing and quality assurance.

Community and Self-Support

While LTS releases are backed by community support, there is nothing to prevent organizations from taking on their support initiatives. For example, if a company needs to support a particular network card with custom features, they can take an LTS release and integrate their changes while still benefiting from the core stability that LTS provides.

Update Overhead

LTS offers flexibility of when to update to the next LTS. If a new feature of interest is available in the next LTS then it can be worth the effort to update and also extend the longevity of using a maintained release.

If not, then it is fine to skip and wait for a later LTS. Staying with an LTS series means less effort to get fixes. It also means API/ABI compatibility, so there are no application code changes needed and less frequent product integration testing.

What if there’s a new interesting feature that is not yet in an LTS release yet? With one LTS released per year, there is always another one coming soon.

Example Integration into Other Projects

Open source projects like Open vSwitch (OVS) integrate DPDK LTS to enhance their performance. Each year the OVS project takes the newest DPDK LTS and integrates into their next release. This means that OVS users benefit from fixes and stability in the underlying DPDK drivers that it uses.

Which LTS Release Should You Pick?

The choice of the right DPDK LTS release hinges on various factors:

Support Window: Assess the duration of support your deployment requires.

Feature Set: Determine whether the LTS release contains the necessary features for your network applications, keeping in mind that it takes time for new features to become stable.

Vendor Compatibility: Check if the LTS release supports your hardware and if vendor-specific drivers are maintained.

Preparing for Transition: From LTS to LTS

Transitioning from one LTS release to the next requires careful planning. As exemplified by maintainers like Kevin Traynor in the 21.11 release, the process is detailed but manageable. Organizations should:

  • Stay informed about the DPDK stable release schedule and plan their updates accordingly.
  • Dedicate time to comprehensive testing when updating versions.
  • Anticipate and prepare to address possible integration issues.

The Future of DPDK LTS Releases

Looking forward, DPDK LTS releases will continue to be a cornerstone for networks that value stability. The DPDK community, in conjunction with hardware vendors, is committed to ensuring that LTS releases are equipped to handle the demands of modern networking environments. 

As we navigate this terrain, the feedback loop between users and maintainers will remain vital. Each fix, each update, and each LTS release is a product of collective effort and shared knowledge.

Call to Action: Join the Effort

As the DPDK LTS ecosystem thrives, we extend an open invitation to more companies and contributors to provide their input and expertise. Whether you’re a hardware vendor with an eye on driver optimizations or an enterprise leveraging DPDK for high-performance networking, your experiences and contributions are invaluable. The strength of an LTS release is not just in its code—it’s in the community that molds and shapes it.

Learn more about DPDK LTS releases here

Inside DPDK 23.11: An Overview of the Latest Release

By Blog

Introduction:
The latest DPDK version 23.11, is now available. This version includes latest updates and new features in network processing.

Download Link: https://fast.dpdk.org/rel/dpdk-23.11.tar.xz

Release Statistics:

Commits: This release comprises 1161 commits from 161 authors.

File Changes: There were modifications to 1647 files, which include 97,078 insertions and 44,688 deletions.

Support Duration:
The 23.11 version will be supported for three years, indicating its reliability for system integration and deployment.

ABI Versioning: New Major ABI Version: This release introduces major ABI version 24.

Future Releases: The forthcoming 24.03 and 24.07 versions will maintain compatibility with ABI version 23.11.


Main Features of the Release:

  • C11 Compiler Requirement: The build now mandates a C11 compatible compiler.
  • MSVC Build Support: Initial support is added for Microsoft Visual C++ (MSVC) builds.
  • New Atomic Operations API: An enhanced API for atomic operations is included.
  • AMD CPU Power Management: Advanced power management features for AMD CPUs.
  • MBuf Recycling: Enhancements in memory buffer recycling.
  • RSS Algorithm Management: Upgraded management of Receive Side Scaling (RSS) algorithms.
  • Max Rx Buffer Size Adjustment: Modifications to the maximum receive buffer size.
  • New Flow Action Types: Introduction of novel flow action types.
  • Flow Group Miss Action: A new flow group miss action feature is added.
  • Packet Type Matching: Improved packet type matching in flow items.
  • TLS Record Offload: New offloading capability for TLS record processing.
  • Security Rx Inject: Advanced features for security reception injection.
  • Eventdev

Enhancements:

  • Updates in eventdev link profiles, adapter for dmadev, and the event dispatcher library.
  • NFP vDPA Driver: A new driver is introduced.
  • Graph Application: A novel application feature for graph processing.
  • Deprecated Libraries: Certain libraries and drivers have been removed.

Detailed Release Notes: https://doc.dpdk.org/guides/rel_notes/release_23_11.html

Contributor Acknowledgments:
The release includes contributions from 40 new individuals across various roles like authors, reviewers, and testers.

A big shoutout to Alan Brady, Ales Musil, Andrey Ignatov, Artemy Kovalyov, Chang Miao, Fengjiang Liu, Igor de Paula, Jayaprakash Shanmugam, John Romein, Jonathan Erb, Jonathan Tsai, Josh Hay, Julian Grajkowski, Karen Kelly, Kuan Xu, Madhu Chittim, Mahesh Adulla, Matthew Dirba, Paul Szczepanek, Peter Nilsson, Sam Andrew, Sampath Peechu, Saurabh Singhal, Shailendra Bhatnagar, Shihong Wang, Shubham Rohila, Shujing Dong, Sibaranjan Pattnayak, Sinan Kaya, Sivaprasad Tummala, Sivaramakrishnan Venkat, Timothy Miskell, Tomer Shmilovich, Trevor Tao, Trevor Tao, Vamsi Krishna Attunuru, Wajeeh Atrash, Wei Hu, Xiaoming Jiang, Zhenning Xiao.

DPDK Summit 2023: A Technical Synthesis of Networking Evolution

By Blog

The DPDK Summit 2023 was a showcase of technical breakthroughs and forward-looking discussions in the field of high-performance networking. The summit featured a range of presentations, each diving into new developments and future directions. Here are the highlights from the key talks.

Keynote Session: Welcome & Opening Remarks – Rashid Khan, Senior Director, Software Engineering RHEL Networking, Red Hat

Rashid commenced with a nod to the global audience, addressing the challenges and breakthroughs in DPDK’s trajectory. He extended his gratitude toward the contributions made by the DPDK Board of Governors, the project’s contributors, and the sponsors who fuel the initiative’s progress.

Augmenting P4 Software Pipelines with Accelerators. The IPsec Use-case – Cristian Dumitrescu & Radu Nicolau, Intel Corporation

Intel’s Cristian Dumitrescu and Radu Nicolau presented a method to boost P4 software pipelines using standalone software modules called extern blocks. Focusing on IPsec, they demonstrated how to employ DPDK libraries to add acceleration to P4 pipelines, enabling them to handle IPsec processing in parallel with regular pipeline functions. The IPsec block, working as an accelerator, is seamlessly integrated using packet queues and supports multiple security protocols without needing changes to the P4 pipeline code.

Leveraging DPDK for P4 SmartNIC Applications – ESnet

Sean Cummings and Chris Cummings from ESnet discussed the use of DPDK as an offload engine for P4 SmartNIC applications. They highlighted how DPDK can manage complex packet translations that P4 cannot, using their experience with a SIIT-DC NAT64 translator on FPGAs as a case study.

OVS and Offloading Frameworks Comparison – Red Hat

David Marchand from Red Hat analyzed tc-flower and rte_flow, two frameworks used for offloading complex packet processing to NICs within OVS. He provided insights into the performance and integration status of rte_flow compared to tc-flower.

rte_flow Offload to Virtio – Red Hat

Christophe Fontaine from Red Hat presented the application of rte_flow to virtual interfaces, explaining the benefits and the performance gains achievable, which elevate virtio’s capabilities from 4Mpps to line-rate.

VDUSE Performance Check – Red Hat

Maxime Coquelin from Red Hat compared the performance of VDUSE with other solutions like Vhost-user and VETH pairs in conjunction with Virtio-vDPA, building upon the previous year’s introduction to VDUSE’s architecture.

Cloud Native DPDK vCSR for 5G – Juniper Networks

Kiran KN and Shailender Sharma from Juniper Networks introduced a cloud-native virtual DPDK Cell Site Router (vCSR) designed for the 5G ORAN ecosystem. They detailed its architecture, integration with Juniper’s control plane, and its role in enhancing connectivity in a disaggregated RAN setup.

5G RAN and UPF Acceleration – NVIDIA

Elena Agostini and Gal Cohen from NVIDIA spoke about accelerating 5G RAN and UPF. Elena focused on the NVIDIA Aerial SDK’s use of DPDK for building a 5G software stack, while Gal discussed the benefits of using SmartNICs and DPUs for UPF, highlighting the scalability and performance enhancements provided by DPDK.

ABI Versioning in DPDK – AMD

Ferruh Yigit from AMD provided a thorough explanation of ABI versioning in DPDK. He discussed the application of ABI versioning, a topic that has seen limited use and understanding, offering a step-by-step guide and examples for its implementation in DPDK.

Advancing CI Pipelines: Insights by Aaron Conole of Red Hat, Inc.

Aaron Conole’s session revolved around the evolution of CI pipelines within the DPDK ecosystem. He took the audience through a brief history of CI infrastructure development and outlined the current landscape. The crux of his talk was the envisioned transformation of the CI pipeline into a decisive factor for patch acceptance. 

Using Sharable Mempools for Zero-copy Sharing Between Processes – Bruce Richardson, Intel 

This talk addresses the challenges in high-performance packet processing when multiple DPDK processes need to work cooperatively. Normally, splitting a workload across independent processes involves standard inter-process communication (IPC) methods that can be inefficient, as they usually require multiple data copies and complex descriptor manipulations. 

DPDK and Confidential Computing: A Dive by Zhifei Yang from TikTok

Zhifei Yang presented an intriguing session on integrating DPDK with Confidential Virtual Machines, a critical aspect of cloud security. He emphasized how cutting-edge technologies like AMD SEV, Intel TDX, and ARM CCA are empowering users to deploy services in the cloud without fully trusting the cloud provider. Yang pinpointed the unique challenges of running high-performance DPDK applications within CVMs, from the need for shared hugepages to the current suboptimal state of DPDK’s memory management in such environments.

Introducing Advanced IOMMU and VFIO in DPDK

Chenbo Xia and Yahui Cao from Intel led the conversation with an introduction to the integration of new VFIO and IOMMU frameworks within DPDK. The implementation of IOMMUFD in the Linux Kernel calls for DPDK’s alignment to utilize features like PASID/SSID and DMA Page Fault handling. The new VFIO Chardev framework also opens doors to more efficient VFIO device management, promising to refine DPDK’s hardware interactions.

Integrating Arm64 SVE with DPDK

Ruifeng Wang of Arm China talked about the integration of the Arm64 Scalable Vector Extension (SVE) into the DPDK libraries. This integration promises to enhance computational efficiency for network tasks on Arm architectures, leveraging the SIMD feature.

Challenges in DPDK-Based Application Development

Vivek Gupta from Benison Technologies shared insights into the complexities encountered in the development of various DPDK-based applications. He stressed the need for standard solutions that could ease the process of developing and migrating applications to DPDK.

Rust Meets DPDK: Aiming for Security and Performance

Harry van Haaren from Intel suggested leveraging Rust for DPDK functionalities to combine performance with safety. The use of Rust aims to prevent API misuse and provide an easier configuration experience.

Enhancing DPDK RAS through Application Engagement

Ajit Khaparde of Broadcom discussed improving the RAS features in DPDK by involving applications in the error recovery process. Such involvement is crucial for ensuring systems remain robust and reliable.

Bytebricks: A Leap Forward in VPN Frameworks

William Lam from TikTok introduced Bytebricks, a graph library-powered VPN framework that leverages DPDK for superior performance. The framework shows how to manage timers in a scalable way across multiple cores, with a focus on the implementation of the Wireguard protocol.

Sketch-Based Algorithms for Efficient Network Telemetry

Intel’s Leyi Rong talked about sketch-based algorithms in DPDK for network telemetry, which are essential for detecting large network flows while being memory-efficient and computationally effective.

DPDK Graph Library: An In-Depth Look

Jerin Jacob from Marvell provided a detailed overview of the DPDK graph library’s design and implementation, a feature that has enhanced DPDK’s data processing capabilities since its release.

Addressing Performance Issues in DPDK Distribution

Sivaprasad Tummala from AMD addressed the performance challenges faced with DPDK’s distribution packaging, which must cater to various CPU architectures, often at the cost of optimal performance.

dperf: Revolutionizing Network Load Testing

Lastly, Jianzhang Peng from Timeresearch showcased dperf, a network load tester based on DPDK that significantly outperforms traditional testing methods in performance, convenience, and cost.

DTS Working Group Update – Honnappa Nagarahalli, Arm; Juraj Linkes, Pantheon Technologies & Patrick Robb, UNH IOL Lab

The DTS Working Group update was an opportunity to understand the work that had been accomplished, the challenges that had been faced, and what lay ahead. Honnappa Nagarahalli, Juraj Linkes, and Patrick Robb discussed the tangible outcomes of their collaborations, the intricacies of their current projects, and provided a roadmap for future releases. Their talk delved into technical details and discussed how the group’s work aligned with the broader goals of DPDK.

DPI-enhanced DPDK for 5G User Plane – Tobias Roeder, ipoque, a Rohde & Schwarz company

Tobias Roeder’s presentation on DPI-enhanced DPDK threw a spotlight on the intersection of DPDK and 5G technologies. He delved into how deep packet inspection (DPI) could augment DPDK’s capabilities, particularly for the user plane in 5G networks. He talked about the successful application cases, performance benchmarks, and how the integration of DPI with DPDK features like rte_flow and RSS was contributing to the 5G revolution. His presentation rounded out with practical insights from deployments and simulations that mirrored current 5G user behaviors, providing attendees with a grounded perspective on the technology’s current and future impacts.

Closing Remarks – Thomas Monjalon, DPDK Maintainer, NVIDIA

As the summit came to a close, it was essential to reflect on the wealth of knowledge and innovations that had been shared. Thomas Monjalon, a seasoned DPDK maintainer from NVIDIA, concluded the event with his remarks. He recapped the summit’s highlights, underscored the importance of the community’s contributions, and charted the course for the future development of DPDK. He focused on the collaborative spirit that has been a hallmark of DPDK’s success and acknowledged the emerging trends and technologies that would shape its evolution.

Developer Spotlight: The Technological Voyage of Maxime Coquelin from Linux Enthusiast to DPDK  Maintainer

By Blog

author: Benjamin Thomas bthomas@linuxfoundation.org

At its core, the profession of software development transcends the mere formulation of commands for machines; it’s a unique language, an outlet for modernization, and a conduit for creativity. 

The career path of Maxime Coquelin, a senior software engineer at Red Hat and a key contributor to the Data Plane Development Kit (DPDK) project, serves as a tangible testament to this belief. 

The Genesis of a Developer

Maxime’s affinity for open-source computing emerged during his school days, a time marked by his fascination with Linux and its seemingly endless capabilities. 

His early programming experiences involved BASIC on an Intel 286 PC. Soon, Maxime dove into the complexities of microcontrollers, laying the groundwork for his future pursuits in software development. 

His professional journey kicked off at ST-Ericsson and then STMicroelectronics. Here, he was involved in developing Linux kernel systems for the first generation of Android phones and maintaining Kernel support for ARM System-On-Chips. 

This initial experience in the Linux kernel world enabled Maxime to engage effectively within the open-source community, setting the stage for a plethora of significant contributions.

Open Source: A Developer’s Canvas 

Early in his career, Maxime recognized the profound influence of open-source development. He embarked on his journey into the open-source community by patching bugs he encountered within the Linux kernel during his work. 

These first steps triggered a spark that catalyzed Maxime to immerse himself in open-source projects and hone his programming skills. 

A key aspect of his involvement was the rigorous review of other developers’ code, which greatly augmented his visibility within the community and underscored his commitment to enhancing software quality. 

This proactive participation eventually culminated in Maxime’s recognition as a core contributor.

Venturing into DPDK

Upon joining Red Hat, Maxime found a shared ethos in the company’s upstream-first strategy, marking the inception of his association with DPDK. 

He played an integral role in contributing to the Vhost-user library, which subsequently became a springboard for his contributions to DPDK. 

As a result, he assumed the position of the core maintainer for the Virtio/Vhost and more recently baseband subsystems. 

Today, he is engaged in working on Virtio technology and VDUSE, bridging the gap between DPDK and the Linux Kernel. 

One significant contribution has been his contributions to the implementation of the vDPA framework, which aims at providing hardware-accelerated and standardized interfaces to virtual machines and containers. 

The Heart of Community Collaboration

In Maxime’s perspective, DPDK epitomizes a platform for collaborative innovation rather than rivalry. Maxime believes in nurturing newcomers, drawing from his experiences of overcoming initial hurdles in the field. 

He strives to foster an inclusive atmosphere within the DPDK community and inspires new contributors to follow the submission guidelines and view mistakes as stepping stones towards proficiency. 

The essence of open-source, in Maxime’s view, is the journey from a user to a contributor, and eventually to a maintainer. He values every contribution, no matter how minute, as a vital piece in the puzzle of open-source project growth.

Looking Back, Moving Forward

If Maxime could impart wisdom to his younger self, it would be the importance of contributing to open-source projects as early as possible. 

His self-assurance as a contributor grew after receiving guidance from skilled engineers at his first company, an experience he believes can be immensely beneficial for budding enthusiasts in open-source communities.

Looking ahead, Maxime envisages an exciting future for DPDK, with a possible offloading of more tasks to hardware within the next three years. 

Collaboration Diversity and Unity

Maxime Coquelin’s dedication to fostering open-source communities is readily apparent in his correspondence within the DPDK community, as seen in an email thread where he discussed improving DPDK contribution processes. 

Coquelin’s belief in the power of collaboration and knowledge-sharing reflects in his continuous efforts to propose changes, receive feedback, and implement improvements to open-source projects like DPDK.

This collaborative approach is quintessential to his process and underscores the spirit of community engagement that thrives within the open-source domain.

Maxime’s dedication to the open-source community isn’t confined to coding and project management. He has also been active in several forums and events such as the DPDK Summit, where he shares his experiences and expertise with others. 

Such platforms provide an opportunity to interact with like-minded developers, driving the growth of open-source projects and the individual growth of its contributors.

His dedication to maintaining the Vhost and Virtio components of DPDK was highlighted when he proposed new co-maintainers to ensure better reviews and feature development. This again showcases his ethos of community collaboration and shared responsibility.

A Balanced Life

Outside the realm of code, Maxime is an ardent cyclist. He believes that cycling provides an ideal balance to his coding endeavors. It offers a mental break, clears his mind, and sometimes even serves as a source of inspiration, yielding fresh ideas and insights. 

His determination and perseverance are evident in his aim to complete all five Monuments of cycling races in Europe, attributes he also applies to his work as a developer.

Summary: Maxime’s Journey 

As Maxime continues to his journey with DPDK, he persistently aims to enhance the platform, making it more efficient and accessible for others. A fine example of his ongoing efforts is a massive Virtio PMD rework he proposed in early 2021. 

This dedication not only enriches the DPDK project but also strengthens the open-source community at large.

Inside DPDK 23.07: A Comprehensive Overview of the New Major Release

By Blog

We’re excited to share with you the news that a new major release, DPDK 23.07, is now available for download. Here, we will take a detailed look at what this release brings to the table, the contributors behind it, and what lies ahead for the DPDK community.

Unpacking DPDK 23.07

Despite the overall number of commits being modest at 1028, this release signifies a considerable amount of work as indicated by the number of changed lines: 1554 files were altered with 157260 insertions and 58411 deletions. This endeavor was not a small feat as it involved 178 authors who each put their expertise and dedication into making this release possible.

Community Engagement and Contributions

Our doors are always open for more hands, and we encourage anyone willing to contribute in various stages of the process. There is a wide array of areas you can help in, such as testing, review, or merge tasks. Every contribution, no matter how small, brings us one step closer to our common goal.

It’s worth noting that there is no plan to start a maintenance branch for 23.07. However, this new version is ABI-compatible with 22.11 and 23.03, which means it will interact seamlessly with the binaries built with these older versions.

Notable New Features in DPDK 23.07

The new release brings forth several enhancements and features, promising an improved experience for users. 

Some of these additions include the AMD CDX bus, PCI MMIO read/write capabilities. 

It includes new flow patterns (Tx queue, Infiniband BTH), new flow actions (push/remove IPv6 extension) and also introduces an indirect flow rule list.

As well as a vhost interrupt callback, more ShangMi crypto algorithms, and a PDCP library.

We have also seen the removal of the LiquidIO driver, a move that aligns with the DPDK’s commitment to providing a refined and optimized toolkit. 

Finally, this release includes a DMA device performance test application and there are some progress with the new DTS: it is able to run a basic UDP test now, improving utilities for developers.

More details about these changes can be found in the release notes here.

A Big Welcome to New Contributors

The DPDK community is growing, and 23.07 has seen contributions from 37 new contributors including authors, reviewers, and testers. We extend our warm welcome to all of them and appreciate their invaluable contributions.

DPDK 23.07 was not a solo effort. The release has seen contributions from multiple organizations, the leading contributors being:

Intel (252 commits), Marvell (225 commits), and NVIDIA (127 commits), among others. This community effort underlines the collaborative spirit of the DPDK project.

Reviewer Acknowledgements

A special thank you goes to all those who took up the often under appreciated task of reviewing other peoples work. Your efforts have been instrumental in maintaining the high quality of DPDK code. The top non-PMD reviewers, based on Reviewed-by and Acked-by tags, include Ferruh Yigit, Akhil Goyal, David Marchand, Chenbo Xia, and Bruce Richardson.

Looking Ahead

However, there is always room for improvement. There are currently more than 300 open bugs in our Bugzilla, and the number of comments in half-done work (like TODO, FIXME) is on the rise. This highlights a need for increased efforts in code cleanup.

Looking to the future, the next version, 23.11, is slated for release in November. We encourage developers to submit new features for this version within the next two weeks. You can find the next milestones here.

Mark Your Calendars

Lastly, don’t forget to register for the upcoming DPDK Summit in September. It’s a great opportunity to connect with the DPDK community, learn about the latest developments, and share your experiences.

A big thank you to everyone for your continuous contributions to DPDK. See you in Dublin for the DPDK Summit!

Get the 23.07 release here.

DPDK Governing Board Meeting Summary – 6/20/23

By Announcements, Blog

Tech Board Updates
The 23.07 release of DPDK is in the works, and stabilization work is underway to prep for a July release. Release notes link up has occurred. The API freeze happened along with the C1 on the week of June 5th, and the PMD feature freeze is anticipated for June 21. Extensive work is also underway to clear up a large backlog of patches. Finally, there has been extensive internal discussion about when and how to break ABI and API; policy is already in place for both, but there has been internal discussion about how the community would like to see things change in this area.

Community Lab Updates
A number of patch series have been submitted by UNH to the DPDK CI public repository and are being reviewed for formatting and maintenance aesthetics. Once that review is done, merges will take place. These are the final setups as deployed in the lab, and the lab is running with them. This has been submitted to the CI, and they will merge this before the end of June, assuming that everything looks satisfactory. There is additional development work happening with respect to DTS; the target is to get these in as part of the 23.07 release. Following this release, the lab will start automatically testing with DTS. The upstream improvements that go into DTS upstream will be automatically deployed in the lab. There has also been additional change with respect to distros being maintained in the lab. Fedora 35-36 are end of life, so the lab has moved on to Fedora 37-38. And finally, the lab is working on hardening up some of its reporting.

Events Summary
DPDK Summit 2023 is planned for September 12-13 in Dublin Ireland; the CFP is live and accepting proposals, and registrations are underway. There was brief discussion about the possibility of adding an additional on-site DPDK event for either late September 2023 or November or December 2023, but this is only a matter of discussion. This matter is still under review.

Finance Updates
There have not been significant changes in this area. The project is in a healthy financial place, with a decent surplus, and putting available monies toward additional investments that are being used to promote the project and grow the community.

Marcomms Updates
As DPDK’s new marketing coordinator, Ben Thomas of Linux Foundation has been strategically increasing the project’s presence with a multi-tiered approach that includes: publishing the monthly newsletter (on the DPDK website with its own tab), ramping up social media, developing and publishing multiple end user stories with several ready for publication and others soon to be, updating DPDK’s summit branding, and reviewing all channel analytics and responding accordingly.

DPDK Governing Board Meeting Summary – 4/26/23

By Announcements, Blog

Introduction of New Participants:

Two new participants in the project were introduced to the board: tech writer David Thomas, who begins his contract on the project on June 12th, and marketing coordinator Benjamin Thomas of the Linux Foundation.

Community Lab Updates

A winter storm temporarily deprived the Community Lab of power in January. More recently, FIPS testing has been brought online, catching up the DPDK sample application to the formats used by NIST and their ACVP API, the automated process to move their encryption test vectors to/from their systems for validation. This was merged into the 22.11 release. Arm brought a new hardware system into the lab based on the Ultra CPU. Test coverage has also been extended for all applicable OSes to arm64 systems, effectively doubling the coverage. The Lab is continuing to contribute to the DTS improvements and merge into the DPDK main line. The RFC patch for DTS smoke tests has been submitted for the 23.07 release.  And finally,  in terms of bare metal and NIC enhancements, per the 2023 lab plans, each Gold member has been contacted about their desired NIC upgrade(s) or expansion(s) for the lab’s coverage. Initial responses led to a multiphase plan including: the purchase of three NICs, with three direct installs into existing servers and the third installed into a server donated by intel; the development of a plan for a 4th NIC that will involve retiring an older NIC, having a gold member request to select an alternate, and exploring alternate server install locations; and the gathering of information on two additional requests that were non-NICs/development platforms. 

Tech Board Updates

DPDK 23.03 was released recently. In addition to this there were still some new devices/drivers/libraries happening on the project – including support for Arkville cards, which is an RTL for FPGAs for the PCI side. There was a new driver to support one of Intel’s new IPU chips, a smart NIC with an ASIC, and there was a machine learning library MLL – a library to expose some machine learning accelerators had by Marvell on their chips under SLCs.  In addition to the new hardware/drivers/libraries, DPDK has new crypto, new algorithms, updates to many drivers. In terms of hardware offloading, for RT flow, there are new rules.  Regarding LTS releases, 3 streams are in progress: 20.11, 21.11, and 22.11. 

Financial Updates

The project retains a healthy financial surplus. Current projections for 2023 expenditures have increased slightly given the hire of David Thomas as Tech Writer, the approval of travel reimbursements for Governing Board and Tech Board Members for the Dublin 2023 Userspace Event, and a slight increase in marketing allotments for coordinator Benjamin Thomas. The project’s revenues for 2023 are now projected to be close to its expenditures. 

Marketing Updates

Newly appointed marketing coordinator Ben Thomas, from the Linux Foundation, laid out a metric-driven strategy to more effectively and broadly reach the DPDK community in the months ahead. He observed that outstanding work is happening around the project and in its community, but DPDK needs a greater volume of content, sent out more frequently and strategically, to keep everyone informed of recent developments. Mr. Thomas presented a two-phase strategy to make this happen, that included maintaining current membership status through 2024 renewals by increasing brand awareness, and increasing the user and contributor base by boosting community reach and awareness.  Mr. Thomas then laid out a plan for systematically mapping out the KPIs across the website and across social media, falling into categories including website, social media, live video webinars, email communications, blogs and collateral, and PR outreach. These strategies will be carried out in the months ahead.


Event Updates

The DPDK Governing Board previously approved budget coverage of select Governing Board and Tech Board expenses for Userspace 2023, to take place in Dublin, Ireland from Sep. 12-13, 2023. The project is still working on securing a venue for the event, and exploring several options with Events Coordinator Evi Harmon, of the Linux Foundation. In the weeks and months ahead, Ms. Harmon’s team plans to coordinate various critical aspects of event planning that include launching the CFP, setting up and launching an event website, setting up event registration, and ultimately posting the speaker agenda once it has been decided by the Program Committee. The Events Team will be onsite in Dublin during Userspace to ensure a successful experience for all onsite and virtual attendees. 

DPDK Governing Board Meeting Summary – 2/2/23

By Blog

Marketing Evaluation: A discussion took place regarding a pending choice between a proposed customization of the current Linux Foundation Tier 3 marketing package and a proposed outsourcing to Open Infra, a small marketing agency in Frisco, Texas. Hilary Carter, SVP of Research and Communications for Linux Foundation, joined the meeting and led board members through a deck that presented many of the benefits associated with retaining Linux Foundation as our marketing arm; the board also reviewed the presented benefits of outsourcing. Ultimately a formal decision was deferred by the board until a successive Governing Board meeting. The board requested a comparison of the two options with quantified breakdowns of deliverables in the interim. A formal vote and decision will take place at the next Governing Board meeting on the basis of these findings. 

Member Renewal and Budget Discussion: Most members have either paid their 2023 LF project renewals or set renewals in motion; those that haven’t have expressed a firm commitment to doing so.

A 2023 budget review detailed the carryover from 2022, as well as the projected membership dues and expenses for 2023, including rough high-level projections for marketing and events, bearing in mind that forthcoming decisions in both areas will help define and shape these costs more precisely. Overall the project is in a strong place fiscally with a surplus, and the Governing Board voted to approve the 2023 budget with no immediate objections presented.

Events Discussion: A discussion took place regarding options for a single in-person DPDK event, likely to take place in September 2023. The team has explored various cities as possibilities and leans toward Dublin, Ireland given the logistical feasibility of this choice, the presence of several tech heavyweights in that area and the strong turnout for prior Open Source events over the past year.  With this in mind, the LF events coordinator has been asked to run high-level costs, including venue costs, for Dublin at that time. It was agreed that said event will be a hybrid one, with live and virtual options. Specific costs from the coordinator will be reviewed by Board Members via email, and formal decisions on venue and event budget made in successive Governing Board meetings. 

The DPDK Community Lab: Reflecting on 2022 and Looking Ahead

By Blog

Hosted by The University of New Hampshire InterOperability Lab (UNH-IOL), the DPDK Community Lab exists to provide prompt and reliable continuous integration(CI) testing for all new patches submitted to DPDK by its community of developers. Every time a patch is submitted to DPDK Patchwork, it is automatically applied to the main DPDK branch, or the appropriate next- branch, and run across our test beds. Now entering its 6th year in operation, the Community Lab has progressed beyond its initial goal of simply providing performance testing results. Test coverage is also provided for functional, unit, compile, and ABI testing across a wide array of environments. This has brought greater development stability and feedback to the DPDK developer community, and also to DPDK gold project members who are eligible to host their resources (NICs, CPUs, etc.) at the UNH-IOL lab. This is a great value provided not only to DPDK at large, but also to the participating vendors who would otherwise have to host this testing in house at a significant cost or develop their products without the reliable and timely feedback that CI testing provides.

In 2022, the Community Lab again expanded on its existing operations. Members of the Community Lab submitted patches to DPDK and DTS in order to increase testing and demonstrate DPDK functions. This year, we also broadened the reach of our testing on a hardware coverage level and test case level. With new Arm servers, updated NICs from our participating members, and our furthered use of containerization, we have greatly diversified the set of environments under testing. Specific examples of developments and happenings in the Community Lab this year include, but are not limited to, the following:

  • Submitted patches to DPDK in order to bring its FIPS compliance and FIPS sample application up to date with new processes from NIST, and set up CI infrastructure to test and demonstrate these capabilities across crypto-devs and algorithms. 
  • Expanded hardware testing coverage by introducing newer, higher capacity NICs, as well as expanded our test coverage on ARM based systems.
  • Expanded DPDK branch coverage, including the new LTS “staging” branches. By incorporating these branches into the CI testing process, we can provide greater stability for LTS backporting. 
  • Participated in the DPDK Test Suite (DTS) working group to develop the new DTS and incorporate it into the DPDK main repository. Our contributions included collecting feedback from the community to determine requirements for DTS, setting new formatting standards and development best practices to provide high quality code, and developing a testing approach that provides a consistent environment between users by containerizing DTS.
  • Developed and upstreamed a container building system to the DPDK-CI repository.
  • Updated our Linux distribution test coverage list based on community feedback.
  • Worked with Microsoft to bring DPDK unit testing to Windows.
  • Made the necessary changes in our internal infrastructure and in DPDK to enable OpenSSL unit testing in the lab.

We’re proud of the work we’ve done at the DPDK Community Lab, and we’re looking forward to the 2023 goals. We will work to maintain the test coverage we’ve built up over years and push to demonstrate and test more features according to the desires of the community and our participating vendors. On the hardware side, we aim to introduce new NICs for testing, and incorporate other types of hardware accelerators where possible. Ideally, we will also partner with more DPDK gold member companies to provide our CI testing on their platforms and equipment. Another goal is to expand our traffic generator options so we can provide testing on a broader range of environments. On the software side, the Community Lab will continue making contributions toward the development of new DTS, implementing an email based retesting framework, and increasing our contributions and involvement with the DPDK continuous integration repo. We want to strengthen CI testing within our own lab, but also across the entire community. We’re going to continue engaging with the DPDK CI community, and as always, anyone interested in our work or CI testing in general can find us bi-weekly at the DPDK Community CI meetings. We look forward to writing another blog post in one year’s time to review and reflect on the progress made in the lab during the 2023 calendar year!

DPDK 22.11 Release is Now Available!

By Blog

A new major release, DPDK 22.11,  is now available: https://fast.dpdk.org/rel/dpdk-22.11.tar.xz

It was a comfortable release cycle, with:

  •         1387 commits from 193 authors
  •         1902 files changed, 137224 insertions(+), 61256 deletions(-)

The branch 22.11 should be supported for at least two years, maybe more, making it recommended for system integration and deployment.

The new major ABI version is 23.

The next releases, 23.03 and 23.07,  will be ABI-compatible with 22.11.

Below are some new features:

  •         LoongArch build
  •         Intel uncore frequency control
  •         mempool optimizations
  •         new mbuf layout for IOVA-as-VA build
  •         multiple mbuf pools per Rx queue
  •         Rx buffer split based on protocol
  •         hardware congestion management
  •         hairpin memory configuration
  •         proactive NIC error handling
  •         Rx/Tx descriptor dump
  •         flow API extensions
  •         GVE (Google Virtual Ethernet)
  •         IDPF (Intel Infrastructure DataPath Function)
  •         UADK supporting HiSilicon crypto
  •         MACsec processing offload
  •         ShangMi crypto algorithms
  •         baseband FFT operations
  •         eventdev Tx queue start/stop
  •         eventdev crypto vectorization
  •         NitroSketch membership
  •         DTS introduction in DPDK repository

More details in the release notes: https://doc.dpdk.org/guides/rel_notes/release_22_11.html

There are 74 new contributors (including authors, reviewers and testers).

Welcome to:  Abdullah Sevincer, Abhishek Maheshwari, Alan Liu, Aleksandr Miloshenko, Alex Vesker, Alexander Chernavin, Allen Hubbe, Amit Prakash Shukla, Anatolii Gerasymenko, Arkadiusz Kubalewski, Arshdeep Kaur, Benjamin Le Berre, Bhagyada Modali, David MacDougal, Dawid Zielinski, Dexia Li, Dukai Yuan, Erez Shitrit, Fei Qin, Frank Du, Gal Shalom, Grzegorz Siwik, Hamdan Igbaria, Hamza Khan, Henning Schild, Huang Wei, Huzaifa Rahman, James Hershaw, Jeremy Spewock, Jin Ling, Joey Xing, Jun Qiu, Kaiwen Deng, Karen Sornek, Ke Xu, Kevin O’Sullivan, Lei Cai, Lei Ji, Leszek Zygo, Long Wu, Lukasz Czapnik, Lukasz Kupczak, Mah Yock Gen, Mandal Purna Chandra, Mao YingMing, Marcin Szycik, Michael Savisko, Min Zhou, Mingjin Ye, Mingshan Zhang, Mário Kuka, Piotr Gardocki, Qingmin Liu, R Mohamed Shah, Roman Storozhenko, Sathesh Edara, Sergey Temerkhanov, Shiqi Liu, Stephen Coleman, Steven Zou, Sunil Uttarwar, Sunyang Wu, Sylvia Grundwürmer, Tadhg Kearney, Taekyung Kim, Taripin Samuel, Tomasz Jonak, Tomasz Zawadzki, Tsotne Chakhvadze, Usman Tanveer, Wiktor Pilarczyk, Yaqi Tang, Yi Li and Zhangfei Gao.

Below is the number of commits per employer:

A big thank to all courageous people who took on the non rewarding task of reviewing others’ work! Based on Reviewed-by and Acked-by tags, the top non-PMD reviewers are:

  •  (53)     Akhil Goyal 
  •  (45)     Andrew Rybchenko 
  •  (36)    Morten Brørup 
  •  (34)     Niklas Söderlund 
  •  (34)     Bruce Richardson 
  •  (33)     David Marchand 
  •  (31)     Ori Kam
  •  (25)     Maxime Coquelin 
  •  (21)     Jerin Jacob 
  •  (20)     Chengwen Feng 

The next version, DPDK 23.03, will be available in March of 2023. The new features for 23.03 can be submitted during the next 4 weeks: http://core.dpdk.org/roadmap#dates

Please share your roadmap.

Thanks,  everyone!