DPDK Summit APAC CFP Now Open
Skip to main content
All Posts By

benthomas

DPDK Dev Spotlight: Sean Cummings Makes his Mark in the DPDK Ecosystem

By Community Spotlight

In the dynamic world of software development, where innovation and skill merge to push the boundaries of technology, Sean Cummings stands as a bright example as a new contributor to DPDK. Currently working as a Student Assistant in Scientific Networking at ESnet, Sean is carving his path in the field of high-performance networking, a journey that started at Illinois Tech under the mentorship of Professor Sultana.

Early Beginnings

Sean’s foray into software development began with his academic pursuits in computer science, where he quickly found himself immersed in the complex world of computer networking. His academic endeavors led him to work on a groundbreaking 100Gbps SIIT-DC stateless NAT64 translator project utilizing P4 on FPGAs.

DPDK: A Game-Changer

The project revealed the limitations of P4 in handling complex packets, which steered Sean towards DPDK. Embracing DPDK as an offload solution, Sean quickly recognized its potential as a vital tool in his development work. His experience with DPDK has been transformative, making him an advocate for its use in high-performance networking.

Contributing to the DPDK Community

Sean’s involvement with DPDK is not just as a user but as an active contributor. He underscores the importance of contributing to communities like DPDK, as it fosters growth and innovation. Sean is particularly excited about the potential applications of DPDK in developing security-related applications.

Getting Involved

For those interested in DPDK, Sean recommends starting with installing it and experimenting with sample applications. This hands-on approach allows one to appreciate the capabilities of DPDK and potentially lead to more complex, personalized projects.

Problem Solving

One of the most impactful pieces of advice that has shaped Sean’s journey is the emphasis on understanding the problem before embarking on the coding journey. This approach underlines the fact that the essence of programming lies in problem-solving, a philosophy that has steered Sean through his developmental endeavors.

Indispensable Tools

As a programmer and researcher, Sean emphasizes the importance of tools like vim (one of the most popular text editors among Linux users) in his daily work. For him, vim is not just a tool but an integral part of his coding and research process.

Conclusion 

Sean represents the new generation of developers who are not just proficient in their craft but are also deeply involved in contributing to and growing with their communities. His journey with DPDK is a testament to his dedication and passion for high-performance networking.

Looking to get started with DPDK? Visit the quick start guide here

Marvell, DPDK and the Rise of Octeon: The Journey to a Systematic Ecosystem

By User Stories

In the rapidly evolving landscape of silicon and networking technologies, providing robust and standardized support for hardware has become a paramount aspect of success. Marvell, a leading provider of silicon solutions, embarked on a transformative journey to ensure seamless support for their Octeon system-on-chip (SoC) through the adoption of DPDK (Data Plane Development Kit). 

This open source framework has emerged as the primary vehicle for Marvell’s silicon support, enabling the integration of sophisticated high-bandwidth accelerators with various applications. This user story dives deep into Marvell’s experiences, showcasing their transition from a chaotic ecosystem to standardized silicon support, and the significant role DPDK played in this evolution.

For this user story we interviewed Prasun Kapoor (AVP of Software Engineering), an accomplished professional with a wealth of experience in software engineering and semiconductor technologies. With a strong background in leading-edge technologies, Prasun has played a pivotal role in shaping the landscape of silicon solutions and networking technologies. As a seasoned AVP of Software Engineering at Marvell, Prasun has demonstrated exceptional leadership and expertise in driving innovation and fostering collaboration within the industry. 

Chaos to Standardization: Overcoming Legacy Code Bases

When Marvell (at the time Cavium) launched its first packet acceleration and security focused multi-core SoC, there was no DPDK. Marvell implemented its own proprietary HAL library, which provided a programming interface very close to the hardware to the end users. 

Many customers implemented large applications built on top of this HAL library and many times forked and customized it to suit their purposes. 

However, transitioning between different silicon generations often disrupted customer applications due to minor changes in the hardware’s programming interface. This challenge was exacerbated by Cavium’s reluctance to make source code for this HAL layer available publicly or contribute it to any open-source project. This prevented Cavium from adopting DPDK from the very beginning.  

The turning point for them came about in 2012-13 when they decided to create a server product. This step forced them to realize the importance of conforming to standard specifications for both hardware and software. It quickly became clear that they would not attract customers without supporting the broader software ecosystem. The previous strategy of relying solely on homegrown solutions was no longer sustainable.

Recognizing the need for a standardized library, Marvell turned to DPDK, an open and collaborative specification for networking and packet processing. By adopting DPDK at the project’s inception, Marvell aimed to provide its customers with a stable and predictable programming interface, eliminating compatibility issues when transitioning between silicon generations. The decision to align with DPDK was a fundamental shift for Marvell, enabling them to provide seamless support for their silicon.

Embracing DPDK and Collaborative Contributions

This shift to open source wasn’t merely a preference but a hard requirement, particularly in the 5G domain. Vendors in the wireless space required every piece of software provided to them to be upstreamable and upstream. This shift indicated a significant decrease in tolerance for proprietary APIs. Cavium’s first foray into open source APIs started with the Open Data Plane (ODP) project, but they adopted DPDK shortly thereafter given the much wider adoption of that framework. 

While the journey to open source had its initial recalcitrance, it proved beneficial from a business perspective. Moreover, the transition to the Data Plane Development Kit (DPDK), an open-source set of libraries and drivers for fast packet processing, was monumental. 

This transition saw Marvell going from a somewhat chaotic system of conflicting proprietary systems to a streamlined operation with enhanced inter-system compatibility and fluidity. The transition also had significant implications for Return on Investment 

“Open-source development is not just a trend; it’s a necessary strategy for technological growth and customer satisfaction. By embracing open-source, Marvell could navigate the complexities of the tech market and build a more sustainable business model.”

Prasun Kapoor, Assistant Vice President – Software Engineering at Marvell Semiconductor

Indeed, the push towards open-source has helped Marvell build a more robust relationship with its customers. The company now engages in regular discussions with its customers, ensuring that every piece of software supplied aligns with their needs and is upstreamable. This level of transparency and collaboration has been invaluable in nurturing customer trust and fostering long-term relationships.

Marvell’s adoption of DPDK went beyond conforming to the specifications. They actively participated in the DPDK community, collaborating with other vendors to propose RFCs and extend the specifications. This approach allowed Marvell to integrate their unique accelerators and technologies into the DPDK framework, ensuring that their hardware was well-supported and widely usable. This enabled the end users to have a single application programming interface to program different class of devices such as ASIC, FPGA or SW for a given workload acceleration.

From the inception of the DPDK project, Marvell recognized the openness and receptiveness of the DPDK community to quality contributions. Initially, many of Marvell’s accelerators had no proper representation in the DPDK APIs. 

As a result, Marvell worked diligently to propose RFCs and establish common API infrastructures that catered to the needs of the entire ecosystem. This collaborative effort ensured that all vendors could leverage the benefits of the standardized APIs and maximize their hardware capabilities.

Marvell’s commitment to collaborative contributions, rather than relying on proprietary APIs, helped establish a level playing field within the DPDK community. They actively extended the specifications and submitted their advancements, ensuring a robust and comprehensive framework for all users. Over the years, Marvell’s contributions have resulted in a vast array of accelerators, such as event accelerator, machine learning accelerators, cryptographic accelerators, memory pool managers, and more, being fully utilizable through standard applications.

The Benefits of DPDK Adoption 

Marvell’s wholehearted adoption of DPDK brought numerous benefits to both the company and its customers. Firstly, the transition between different silicon generations became seamless and predictable. Gone were the disruptions and compatibility issues that plagued the legacy code base approach. 

By adhering to the standardized DPDK APIs, Marvell reduced its support burden significantly, as compatibility was ensured through the collaborative efforts of the DPDK community.

Moreover, Marvell’s adoption of DPDK enabled them to tap into the collective work of other partners and vendors within the DPDK community. This collaboration created a win-win situation, where Marvell could leverage the advancements made by others, while their contributions also benefited the community at large. 

DPDK’s standardized library became the common language among Marvell’s customers, ensuring that requests for functionality tweaks adhered to DPDK compliance. This shift in customer mindset and adherence to the standard further enhanced the stability and scalability of Marvell’s solutions.

Furthermore, the adoption of DPDK opened up opportunities for Marvell to provide standard Red Hat support, which was previously challenging with their MIPS-based systems. Customers expressed a desire to run popular Linux distributions like Ubuntu on Marvell’s chips, prompting the company to embrace the open-source ecosystem fully. 

By submitting kernel code and embracing open-source practices, Marvell gained access to comprehensive support from established Linux distributions, further strengthening their position in the market.

The Role of the DPDK Community Lab

Marvell acknowledges the significance of the DPDK community lab in enhancing the robustness of the project. While they don’t explicitly depend on the community lab for testing and validation, its existence contributes to the overall quality of the DPDK project. 

The continuous validation and rigorous testing conducted in the community lab help identify and address bugs, ensuring that DPDK implementations are reliable and stable.

Marvell’s experience with DPDK has been positive in terms of stability and compatibility. The community lab’s rigorous testing and continuous integration and delivery (CI/CD) processes have played a crucial role in achieving this outcome. 

The lab’s comprehensive testing frameworks and collaborative efforts have resulted in a mature and dependable DPDK framework, which Marvell and other contributors benefit from.

Conclusion 

Marvell’s transition to DPDK illustrates the strength of open-source collaboration, standardization, and community engagement in streamlining support for their Octeon system-on-chip. By aligning with DPDK, Marvell overcame hardware compatibility issues, fostering a more versatile ecosystem. 

This open-source commitment resulted in seamless transitions across silicon generations, creating a predictable application programming interface for customers. 

The integration of Marvell’s accelerators into the DPDK community promoted innovation while preserving compatibility. The presence of the DPDK community lab improved the overall robustness of DPDK implementations, benefiting all contributors. 

Marvell’s DPDK experience underscores the transformative power of open-source collaboration and the benefit of standardized libraries, positioning it as a leading provider of seamless silicon solutions in diverse domains such as 5G, enterprise security, and networking.

Check out the latest videos from Marvell at the DPDK 2023 Summit here.

DPDK Dispatch February

By Monthly Newsletter

1. Main Announcements

  • The latest LTS release 22.11.4, brings several important updates, bug fixes, and improvements. Here’s a summary of the key changes and highlights in this release here
  • Navigate LTS releases in the latest guide here

2. Blogs, User Stories and Developer Spotlights

3. DPDK & Technologies in the news:

4. 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 contributions.

DPDK Team.

DPDK LTS 22.11.4

By Blog

The latest DPDK release, version 22.11.4, brings several important updates, bug fixes, and improvements across various components of the DPDK framework. In this blog post, we’ll provide a brief summary of the key changes and highlights in this release.

Release Highlights:

1. Updated Git Tree: You can access the latest DPDK source code on the official Git repository at DPDK Stable Git Tree

2. Bug Fixes and Backports: This release includes numerous bug fixes and patches, thanks to the efforts of the community, which contribute to the stability and reliability of the DPDK framework.

3. Security Improvements: The release addresses security-related issues and provides enhancements to improve the overall security of the DPDK.

4. Documentation Updates: The DPDK documentation has been updated, including improvements to guides for various NICs and platforms. The release also includes updates to the Security Guide and VDPA (Virtio Data Path Acceleration) documentation.

5. Performance Enhancements: DPDK is known for its high-performance networking capabilities, and this release continues to optimize and improve performance across different components.

6. Driver Updates: Multiple network drivers have been updated and improved in this release, including fixes for checksum offloading, packet handling, and performance tuning.

7. Eventdev Improvements: The eventdev subsystem has seen enhancements, including fixes related to device pointer management and driver names in the info struct.

8. Crypto Libraries: Various crypto libraries have been updated and fixed, including the addition of missing documentation for security context and memory leak fixes in the OpenSSL PMD.

9. Mempool Fixes: Several fixes have been applied to the mempool component, improving memory allocation and thread safety.

10. Other Component Updates: This release also includes fixes and improvements to other DPDK components, such as the test suite, Ethernet device drivers, and examples.

Overall, DPDK 22.11.4 is a stable release that brings a wide range of improvements, ensuring the continued reliability and performance of the DPDK framework. Users are encouraged to upgrade to this latest release to benefit from the bug fixes and enhancements provided by the DPDK community.

For detailed information about specific changes, you can refer to the official release notes here.

As always, it’s important to thoroughly test any new DPDK release in your specific networking environment to ensure compatibility and performance before deploying it in a production environment.

A Big Shoutout to Our Dedicated Contributors

We want to take this opportunity to express our gratitude to the hardworking individuals who contributed to this release. Their dedication and expertise have made DPDK even more robust and efficient.

Xueming Li, Aakash Sasidharan, Abdullah Sevincer, Akhil Goyal, Alex Vesker, Alexander Kozyrev, Amit Prakash Shukla, Anatoly Burakov, Anoob Joseph, Artemy Kovalyov, Bing Zhao, Brian Dooley, Bruce Richardson, Chaoyong He, Christian Ehrhardt, Ciara Power, David Christensen, David Marchand, Dengdui Huang, Ed Czeck, Eli Britstein, Feifei Wang, Fengjiang Liu, Ferruh Yigit, Gagandeep Singh, Ganapati Kundapura, Gregory Etelson, Harman Kalra, Harry van Haaren, Hemant Agrawal, Hernan Vargas, Huisong Li.

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