Data Plane Development Kit: Difference between revisions

Content deleted Content added
m added more info about the history of dpdk
Tags: Visual edit Mobile edit Mobile web edit
tag with {{Bare URL PDF}}
Line 1:
{{Use dmy dates|date=March 2015}}
{{short description|Open source software project}}
{{Use dmy dates|date=March 2015}}
{{Infobox software
| name = DPDK
| logo = Data Plane Development Kit.png
| latest_release_version = 21.11
| latest_release_date = {{releasestart date|df=yes|2021|11|26}}<ref>{{cite web
| url = http://core.dpdk.org/download/
| title = DPDK
Line 59:
==Ecosystem==
 
DPDK is now an open-source project under the [[Linux Foundation]], supported by many companies. DPDK is governed by a Governing Board. The technical activities are overseen by a Technical Board.<ref>[http://dpdk.org/about/techboard DPDK Technical Board]</ref> Beside [[Intel]], which is a contributor to the DPDK, several other vendors also support the DPDK within their products and some offer additional training, support and professional services. The list of vendors who have announced DPDK support includes: [[6WIND]],<ref>PRWeb, [http://www.prweb.com/releases/2011/9/prweb8785683.htm 6WIND Extends Portable Packet Processing Software to Support Data Plane Development Kit], September 2011</ref> ALTEN Calsoft Labs,<ref>{{citation|url=http://www.calsoftlabs.com/mediaroom/news.asp?NewsId=133|title=Calsoft Labs to offer professional services and support for Data Plane Development Kit|publisher=ALTEN Calsoft Labs|accessdate=2014-10-28|date=18 February 2014}}</ref><ref>https://builders.intel.com/docs/ALTEN-Calsoft-Labs-and-Intel-Improving-Network-Agility-with-Virtual-CPE.pdf {{Bare URL PDF|date=March 2022}}</ref> Advantech,<ref>COTS Journal, [http://www.cotsjournalonline.com/articles/view/102520 ATCA Blade Serves Up Xeon E5-2600 Processor] {{Webarchive|url=https://web.archive.org/web/20160304040038/http://www.cotsjournalonline.com/articles/view/102520 |date=4 March 2016 }}, June 2012</ref> Brocade,<ref>[http://www.brocade.com/en/products-services/software-networking/network-functions-virtualization/5600-vrouter.html Brocade vRouter]</ref> Big Switch Networks, [[Mellanox Technologies]],<ref>{{Cite web|last=Technologies|first=Mellanox|title=Data Plane Development Kit (DPDK) {{!}} Poll Mode Driver (PMD)|url=https://www.mellanox.com/products/products/software/accelerator-software/pmd-for-dpdk|access-date=2021-02-10|website=Mellanox|language=en}}</ref> [[Radisys]],<ref>MarketWatch, [http://www.marketwatch.com/story/radisys-delivers-industrys-first-40g-solution-for-intelr-data-plane-development-kit-2012-09-10 Radisys Delivers Industry's First 40G Solution for Data Plane Development Kit], September 2012</ref> Tieto,<ref>Tieto, [https://www.dpdk.org/media-coverage/2012/02/27/tieto-announces-dpdk-support/ Tieto provides professional software services and support for the Data Plane Development Kit], February 2012</ref> [[Wind River Systems|Wind River]],<ref>Reuters, [https://archive.today/20130620032122/http://www.reuters.com/article/2012/05/22/idUS129768+22-May-2012+BW20120522 Wind River Delivers Support and Services for Data Plane Development Kit for High-Performance Packet Processing], May 2012</ref> [[Lanner Inc.|Lanner]].<ref>{{citation|url=http://www.lannerinc.com/news-and-events/latest-news/get-flying-with-intel-data-plane-development-kit|title=Get Flying with the Data Plane Development Kit|publisher=Lanner Electronics Inc.|accessdate=2013-07-11|date=20 February 2013}}</ref> and [[NXP]].<ref>{{citation|url=http://core.dpdk.org/training/|title=NXP Platform support in Data Plane Development Kit}}</ref>
 
==Projects==
Line 66:
[[Open vSwitch]] (OVS) has a limited set of features running userland that can be leveraged to bypass the Linux kernel OVS processing. This use case of OVS with DPDK userland is usually named OVS-DPDK. It is mostly deployed with [[OpenStack]] Neutron but it assumes that many features and [[software-defined networking]] (SDN) capabilities of Openstack are disabled. For instance, when OVS-DPDK is used, Neutron provides a lower level of security than when OVS kernel is used (no stateful firewalling, less security group).
 
The [[Linux_FoundationLinux Foundation#FD.io|FD.IO]] VPP platform is an extensible framework that provides out-of-the-box production quality switch/router functionality. It is the open source version of Cisco's [[Vector Packet Processing]] (VPP) technology: a high performance, packet-processing stack that can run on commodity CPUs, and can leverage the Poll Mode Drivers for both NICs and cryptographic acceleration hardware and libraries.<ref name=VPP-fd.io>{{cite web|title=VPP fd.io|url=https://wiki.fd.io/view/VPP/What_is_VPP%3F|website=wiki.fd.io|publisher=[[Linux Foundation]]|accessdate=29 December 2016}}</ref> VPP supports and uses the DPDK library.<ref>{{Cite web|last=PANTHEON.tech|date=2020-01-09|title=VPP 105: Memory Management & DPDK APIs|url=https://pantheon.tech/vector-packet-dpdk-apis/|access-date=2021-06-21|website=PANTHEON.tech|language=en-US}}</ref>
TRex is an open source traffic generator using DPDK. It generates L4–7 traffic based on pre-processing and smart replay of real traffic templates. TRex amplifies both client and server side traffic and can scale to 200 Gbit/s with one UCS using Intel XL710. TRex also supports multiple streams, ability to change any packet field and provides per stream statistics, latency and jitter.<ref> name=Trex {{cite web|title=TRex|url=https://trex-tgn.cisco.com|publisher=[[Cisco Systems]]|accessdate=29 December 2016}}</ref>
 
DTS (DPDK Test Suite) is a Python-based framework for functional tests and benchmarks. It is an open-source project, started in 2014, and is hosted on dpdk.org. It supports both software traffic generators like Scapy and dpdk-pktgen, and a hardware traffic generator like [[Ixia (company)|Ixia]].<ref> Rami Rosen, [https://lwn.net/Articles/725254 Network acceleration with DPDK], lwn.net, July 2017</ref>
 
DPDK has support for several [[Single-root input/output virtualization|SRIOV]] network drivers, enabling creating a PF (Physical Function) and VFs, and also to launch VMs (like [[QEMU]] VMs) and assign VFs to them using PCI Passthrough <ref> Rami Rosen, [https://www.linuxjournal.com/content/userspace-networking-dpdk Userspace Networking with DPDK], Linux Journal, April 2018. </ref>
 
DDP (Dynamic Device Personalization) is one of the new advanced features implemented with DPDK. It allows you to load
firmware for a device dynamically, without resetting the host. <ref>Rami Rosen, [http://docs.wixstatic.com/ugd/295986_90bce51e5ed3422dae12c999a8dac9ad.pdf DPDK in depth], Kernel TLV, August 2018</ref>
 
==References==