Apply to Speak at the DPDK Summit Montreal by July 21.
Skip to main content
All Posts By

benthomas

Dev Spotlight: Navigating the Evolution of DPDK: A Spotlight on Akhil Goyal

By Community Spotlight

Introduction

In the dynamic and ever-evolving world of the Data Plane Development Kit (DPDK), developers and contributors play a pivotal role in shaping its future. One such influential figure is Akhil Goyal, whose journey through the realms of DPDK has not only contributed to its growth but also exemplifies the spirit of open-source collaboration. This spotlight delves into his role as a crypto tree maintainer, exploring his contributions, challenges, and visions for the future.

Early Beginnings

Akhil’s adventure with DPDK began in 2016, a pivotal moment that marked his transition from working on networking and radio frequency device drivers at Freescale (now NXP) to diving into the world of high-performance packet processing. His initial foray into DPDK centered around crypto drivers, laying the groundwork for his future contributions.

In early 2021, he embarked on a new professional chapter with Marvell, delving into areas that involved both networking and crypto processing like Inline IPsec processing, along with IP reassembly techniques. Akhil’s expertise further extended to introducing inline MACsec processing, showcasing his ability to navigate the complex landscape of network security. His contributions also included the development of TLS record processing, underscoring his role in enhancing Marvell’s capabilities in secure data communication.

Contributions to DPDK

Akhil’s contributions to DPDK are both substantial and transformative. Early in his DPDK journey, he focused on bringing the NXP DPAA crypto drivers into the DPDK ecosystem. His efforts were instrumental in introducing a new library to DPDK, which, for the first time, included protocol support alongside crypto functionalities. He also reviewed other crypto subsystem patches in the community, paving the way to becoming a maintainer of the crypto sub-tree.

This inclusion of a security library was a significant milestone, enabling DPDK to support various crypto offloads for security protocols like IPSec, PDCP, MACsec, and, more recently, TLS. Akhil’s work has significantly broadened DPDK’s capabilities, making it a more versatile and powerful tool for developers.

Challenges and Overcoming Them

Like any journey of innovation and development, Akhil’s path was not without its challenges. One of the most significant hurdles was the introduction of the security library, which initially faced performance issues. However, through dedication and technical acumen, Akhil and his team were able to dramatically enhance the performance numbers, exemplifying the impact of hardware offloading on protocol processing. This achievement not only showcased his problem-solving skills but also his commitment to advancing DPDK’s performance and capabilities.

Vision for the Future

Looking ahead, Akhil sees a fusion of technologies as the future of DPDK. With the convergence of AI, machine learning, and enhanced security protocols, he envisions a landscape where DPDK continues to play a crucial role in the networking domain. His anticipation of machine learning libraries being integrated into DPDK highlights a forward-thinking approach to evolving network technologies and their applications.

As networking speeds increase, he foresees an increasing need to protect the confidentiality and authenticity of networking data. This will pave the way for offloading more security protocols to hardware to achieve line-rate processing of secured data. As a result, programming hardware is becoming increasingly complex.

Collaborations and Community

Akhil’s journey is also a testament to the power of community and collaboration in open-source projects. His interactions with other community members, such as Pablo de Lara from Intel and Thomas Monjalon from NVIDIA, have been pivotal in his growth and contributions to DPDK. These experiences helped him transition from being a contributor to DPDK to a maintainer of the crypto subsystem. These collaborations underline the essence of open-source projects, where sharing knowledge and working together propels the technology forward.

Advice to New Contributors

For those looking to contribute to DPDK, Akhil emphasizes the importance of understanding the project’s core, starting with resources like the DPDK Summit videos and the mailing list. He encourages new contributors to engage with the community, understand the coding guidelines, and start contributing, highlighting the transition from kernel space to user space as a potential area for significant contributions. He also recommends that people review patches in their areas of interest on the mailing list and post comments. This will help improve their understanding and also help the community grow.

Personal Insights

Beyond his professional accomplishments, Akhil offers valuable insights into achieving a work-life balance, particularly in the era of remote work that became prevalent during the COVID-19 pandemic. His adeptness at managing professional duties while making time for family activities, such as playing cricket with his son, reveals the personal dimension of navigating a challenging career as a developer. This insight underscores the importance of maintaining personal connections and well-being amidst the demands of the tech industry.

Conclusion

Akhil’s developer spotlight shines a light on the journey of a dedicated individual who has contributed significantly to DPDK’s growth and evolution. His story is one of dedication, collaboration, and forward-thinking, driving innovations that extend DPDK’s capabilities and applications. As DPDK continues to evolve, contributors like Akhil play a critical role in shaping its direction, ensuring it remains at the forefront of networking technology advancements.

Check out Akhil’s presentation on rte_security: support for inline MACsec at latest DPDK Summit here.

DPDK Dispatch – January

By Monthly Newsletter

Here are five things this month worth knowing about from the open source global community.

1. Main Announcements

  • DPDK 21.11.6 LTS (Long Term Stable Release) is now available to download here. Thanks to the authors who helped with backports and to Nvidia, Red Hat and Intel who helped with the validation.
  • Navigate the nuances of the LTS releases, their suitability for production, and the level of active support they receive in the latest guide here.

2. Events

  • Thanks to everyone who attended our latest webinar the turnout was fantastic! If you missed it you can catch up here.
  • Also thanks to everyone who provided their feedback, it looks like the preference for the next webinar is on the TCP Stack, followed by user stories, CXL (Compute Express Link), passthrough and SR-IOV with DPDK examples/ QUIC stack.

3. Blogs, User Stories and Developer Spotlights

  • Check out our latest dev spotlight with one of the first DPDK contributors Anatloy Burakov here
  • Submit a blog here
  • Submit a developer spotlight here

4. DPDK & Technologies in the News:

5. Performance Reports & Meeting Minutes

This newsletter is sent out to thousands of DPDK developers, it’s a collaborative effort. If you have a project release, pull request, community event, and/or relevant article you would like to be considered as a highlight for next month, please reply to marketing@dpdk.org

Thank you for your continued support and enthusiasm.

DPDK Team.

Dev Spotlight: The Journey from Music to Tech with Anatoly Burakov

By Community Spotlight

In this edition of our developer spotlight, we had the privilege of speaking with Anatoly Burakov, a foundational and key contributor to the DPDK (Data Plane Development Kit). This spotlight explores Anatoly’s unique journey into software development, his role at Intel, and his significant contributions to the DPDK community.

From Music to Technology: A Unique Path

Anatoly Burakov’s journey to software development was anything but conventional. Initially aiming for a career as a pianist, Anatoly found a new passion in coding, turning a hobby into a professional career. His first foray into programming was not in a conventional classroom but rather through a PlayStation 2, showcasing early signs of his innovative and problem-solving mindset. This unconventional start was a prelude to a fascinating career in technology.

His transition from music to technology marked a pivotal shift in his life. He pursued computer networking at a university in the UK, setting the stage for his eventual role at Intel. This transition underscores a key theme in Anatoly’s story: the ability to adapt and find new passions.

Intel and the World of DPDK

Joining Intel marked a significant chapter in Anatoly’s professional life. Starting out, he wasn’t a seasoned software developer but possessed enough coding prowess to navigate through various challenges. This period was crucial in honing his skills and understanding the nuances of professional software development.

At Intel, Anatoly began working with the DPDK, a toolkit that was relatively obscure at the time. His initial tasks involved unit testing and bug fixing, which he found particularly fulfilling. He describes the joy that comes from identifying and resolving issues, a testament to his deep understanding of systems and problem-solving abilities.

Community Engagement and Collaboration

Anatoly’s engagement with the DPDK community gained momentum with the release of version 1.7. This was a notable milestone, as it marked the first time Intel integrated its changes into the public tree created by Thomas Monjalon. This integration was more than just a technical accomplishment; it symbolized the beginning of a more collaborative and open era for DPDK.

Anatoly’s role in this process was significant. He was the first from Intel to engage deeply with the DPDK community, working on adding VFIO support. His contributions were substantial, at one point holding the record for the most patches submitted to the DPDK community. This achievement highlights not only his technical skills but also his commitment to the community and open-source development.

The Intersection of Music and Coding

Anatoly’s coding philosophy is influenced by his musical background. He views coding not merely as a technical task, but as a form of expression, similar to a narrative that elucidates a solution to a problem. His extensive use of comments, often laced with humor, marks a distinctive aspect of his style. These comments offer clear explanations and maintain a logical flow, making his contributions functional, educational, and entertaining.

Hyperscan and the Role of a Generalist

Anatoly’s career took an exciting turn with Intel’s acquisition of Sensory Networks, where he became one of the first engineers to work on Hyperscan, a high-performance regular expression matching engine. This project underscored his role as a generalist – someone who excels in adapting to a multitude of tasks and overcoming diverse challenges, as opposed to being domain specific.

Engaging with the DPDK Community

Engaging with the DPDK community was a significant step in Anatoly’s career. He played a key role in integrating Intel’s work with the public DPDK tree, a process that started around the release of DPDK 1.7. This integration was pivotal for DPDK, marking the beginning of a more collaborative and open environment. Anatoly’s approach to community engagement—submitting code, taking feedback constructively, and contributing solutions—mirrors the ethos of open-source communities.

Advice for Aspiring DPDK Contributors

For new developers aspiring to contribute to DPDK, Anatoly advises starting by addressing personal pain points encountered while using DPDK. This approach not only makes the initial foray into contributing more relatable but also ensures that the contributions are genuinely beneficial to end-users.

His emphasis on solving real problems reflects a practical mindset that is crucial in open-source development. For instance, if a prospective contributor finds DPDK difficult to set up or confusing to use, one way to address that would be to improve documentation.

In the past, there were many requirements on how to specify command line arguments. Although DPDK has moved away from that, there are still some command line arguments that could use better documentation or perhaps a different syntax.

Whatever needs fixing, is probably a good starting point. Fixing someone else’s problems can be fun, but for a new developer, the big driver in programming and learning how to program in the first place was trying to solve something you didn’t want to do manually or to automate something.

Looking ahead

While Anatoly’s capabilities as a generalist enable him to work effectively in both software and hardware domains, his personal inclination leans more towards software. A significant portion of his time and efforts are spent deep in the bowels of DPDK’s OS abstraction layers.

Life Beyond Coding

Outside of his professional life, Anatoly enjoys the simple pleasures of life, like relaxing on the beach or watching Netflix. His move from Ireland to Mallorca has been a significant change, offering him a new environment to explore and enjoy.

His hobbies, including audio mixing, and playing guitar demonstrate a continued passion for music, albeit in a different form than his initial pursuit of being a pianist. 

A Tale of Continuous Learning

Anatoly’s story is a testament to continuous learning and adaptation. From a pianist to a software developer, his journey exemplifies the unexpected paths our careers can take, leading us to thrive in new and exciting and often unexpected domains. His involvement in DPDK transcends mere occupation, highlighting the transformative power of open-source communities in fostering collaboration and development.

DPDK Long Term Stable Release Guide

By Blog

Navigating the Data Plane Development Kit (DPDK) release landscape requires a thorough understanding of what a Long-Term Stable (LTS) release entails and why it may be the preferred choice for certain network environments. This guide dives into the nuances of DPDK LTS, its suitability for production, and the level of active support it receives.

Understanding DPDK Long Term Stable (LTS) Releases

DPDK LTS releases stand out in the networking world for their reliability over an extended period. Here’s what sets them apart:

Longevity of Support: DPDK LTS offers a commitment of three years’ worth of fixes, ensuring that a chosen release remains robust against issues found long after its initial deployment.

Consistent Improvements: A DPDK LTS release isn’t static. It evolves with a series of API/ABI compatible drop-in replacements that incorporate the latest fixes discovered in the subsequent years. For instance, a series based on a 2022 DPDK release will be refined with fixes identified during 2023-2025.

Sustainability: This approach guarantees that production environments can rely on a consistent, stable platform without the need to constantly adapt to new feature changes.

DPDK LTS releases are tailored for specific scenarios within the networking domain

Ideal for Production: LTS releases are the go-to for production environments where stability is paramount and the latest features are less of a priority.

Focus on Stability Over Novelty: Organizations that value long-term reliability over cutting-edge features will find DPDK LTS releases more suitable.

Active Maintenance and Support

The vibrancy of the DPDK LTS ecosystem is reflected in the following statistics:

Multiple Active Releases: As of now, three LTS releases are being actively maintained: 21.11, 22.11, and 23.11.

Frequent Updates: 2023 saw 9 releases across these maintained LTS versions.

Volume of Fixes: Approximately 1800 fixes have been backported to the active DPDK LTS releases in the last year alone.

Maintenance Span for DPDK LTS

The commitment to maintain a DPDK LTS release is clear and long-term:

General Fixes: All identified fixes will be backported to the LTS releases for a full three years from their release date.

Security Patches: Security-related updates may even extend beyond the three-year window, ensuring that LTS releases maintain a strong defense against vulnerabilities.

Choosing a DPDK LTS Release

When deciding on a DPDK LTS release, consider the following:

Maintenance Timeline: Evaluate whether longer support windows aligns with your deployment cycle and update capacity.

Active Maintenance Record: The volume and frequency of backported fixes provide an indication of the LTS version’s vitality and the community’s dedication to its upkeep.

Security Commitment: With a promise of three-plus years of security fixes, assess whether this meets your organization’s security and compliance requirements.

Preparing for DPDK LTS Deployment

Transitioning to or between DPDK LTS releases requires an organization to:

Stay Informed: Keep abreast of the DPDK LTS release and maintenance schedules to time updates strategically.

Test Thoroughly: Allocate resources for detailed testing to ensure the LTS version integrates seamlessly with your environment.

Anticipate Adjustments: Be prepared for any necessary changes that might arise from the introduction of backported fixes.

Conclusion

Selecting a DPDK LTS release is a strategic decision influenced by the need for stability, long-term support, and a maintenance schedule that ensures network applications remain secure and performant. 

With the extended support and backporting of fixes, DPDK LTS releases offer a dependable foundation for organizations seeking a stable networking stack. This maintenance model continues to be a cornerstone of network reliability, allowing organizations to leverage stable and secure networking functions without the churn of constant feature updates.

For more information visit: https://doc.dpdk.org/guides/contributing/stable.html

DPDK Dispatch – November

By Monthly Newsletter

1. Main Announcements

  • DPDK 23.11 is now available. Shoutout to the 40 new contributors! Read the overview here.

2. Events

  • Register now for the upcoming webinar here
  • Missed the recent DPDK Summit? Check out the videos here 

3. Blogs, User Stories and Developer Spotlights

  • What are the advantages of choosing LTS? 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 release for your specific requirements.

Read it here.

  • Submit a blog here
  • Submit a developer spotlight here

4. DPDK & Technologies in the News:

5. Performance Reports & Meeting Minutes

This newsletter is sent out to thousands of DPDK developers, it’s a collaborative effort. If you have a project release, pull request, community event, and/or relevant article you would like to be considered as a highlight for next month, please reply to marketing@dpdk.org

Thank you for your continued support and enthusiasm.

DPDK Team.

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 Dispatch – October

By Monthly Newsletter

1. Main Announcements

2. Events

  • Check out the 2023 DPDK Summit videos here 

3. Blogs, User Stories and Developer Spotlights

4. DPDK & Technologies in the news:

5. Performance Reports & Meeting Minutes

This newsletter is sent out to thousands of DPDK developers, it’s a collaborative effort. If you have a project release, pull request, community event, and/or relevant article you would like to be considered as a highlight for next month, please reply to marketing@dpdk.org

Thank you for your continued support and enthusiasm.

DPDK Team.

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.

DPDK Dispatch – September

By Monthly Newsletter

Here’s five things this month we think you should know from the DPDK community. 

#DPDKSummit 2023

A big thank you to everyone who travelled from around the world to make this year’s event a resounding success!

Your participation, insightful discussions, and shared knowledge have enriched the community in so many ways. It’s through events like these that we continue to push the boundaries of networking technology.

Special thanks to our keynote speakers, members, the DPDK team and The Linux Foundation events team for their dedication and hard work.

The session videos are now live! Check them out here

2. Events

  • #DPDKsummit videos are live! Check them out here 

3. Blogs, User Stories and Developer Spotlights

4. DPDK & Technologies in the news:

5. Performance Reports & Meeting Minutes

This newsletter is sent out to thousands of DPDK developers, it’s a collaborative effort. If you have a project release, pull request, community event, and/or relevant article you would like to be considered as a highlight for next month, please reply to marketing@dpdk.org

Thank you for your continued support and enthusiasm.

DPDK Team.