Open Data Plane (ODP)
Lua error in package.lua at line 80: module 'strict' not found.
Original author(s) | Open Source Project bootstrapping under Linaro’s Networking Group |
---|---|
Stable release | 1.10.0.0 |
Development status | Active |
Written in | C |
License | BSD-3 |
Website | opendataplane |
The OpenDataPlane project (ODP) is an open-source, cross-platform set of application programming interfaces (APIs) for the networking data plane.[1] OpenDataPlane implementations for several processors, including ARM, Intel x86, MIPS and Power have existed since September 2014.[2] Most recently Virtual Open Systems has demonstrated VOSYSwitch connecting chained VNFs, with the virtualized infrastructure implementing an OpenFastPath web server behind an OpenDataPlane enabled packet filtering firewall.[3]
Contents
History
On October 29, 2013 Linaro announced that it was collaborating with members of the Linaro Networking interest Group to develop and host an open standard application programming interface for data plane applications.[4] Initially defined by members of the Linaro Networking Group, this project is open to contributions from all individuals and companies who share an interest in promoting a standard set of APIs to be used across the full range of network processor architectures available.
Technology Overview
ODP consists of an API specification and a set of reference implementations that realize these APIs on different platforms.[5] Implementations range from pure software to those that deeply exploit the various hardware acceleration and offload features found on modern networking System-on-Chip (SoC) processors.
ODP’s goal is to allow implementers of the API great flexibility to exploit and optimize the implementation. This is intended to enable easy platform portability such that an application written to the API can pick up performance gains without needing significant platform knowledge when ported.
ODP is currently being used to develop reference platform implementations of Open Platform for NFV (OPNFV) [6] and is being promoted [7][8] by companies as part of their data plane support initiatives.
Turnkey solutions are being developed by companies such as Kalray by porting on top of OpenDataPlane functions such as Open vSwitch (OVS), MPLS, NVGRE, VXLAN, SSL, IPsec, and TCP along with iSCSI, iSER or NVMEoF.[9] The OpenDataPlane run to completion execution models and framework are also being used by FastPath applications to leverage OpenFathPath functionality. DPDK is supported in the OpenFastPath release through the ODP-DPDK layer. The intent of OpenFastPath is to enable accelerated routing/forwarding for IPv4 and IPv6, tunneling and termination for a variety of protocols.[10]
Implementations
There is a Linux based reference software implementation of the ODP API, intended to be a functional model to establish the API behavior. In conjunction with a validation suite, this gives a base for accelerated implementations to extend. Current ODP implementations exist for several processors, with varying degrees of hardware offload:
Current ODP Implementations
Name | Owner/Maintainer | Target Platform | Architecture |
---|---|---|---|
odp-linux | Open contribution, maintained by LNG | Pure software implementation, runs on any Linux kernel. Not a performance target but has Netmap support | Any |
odp-dpdk | Open contribution, developed by LNG | Intel x86 using DPDK as a software acceleration layer | Intel x86 |
odp-keystone2 | Texas Instruments | TI Keystone II SoCs | ARM Cortex-A-15 |
linux-qoriq | NXP | NXP QorIQ SoCs[11] | Power & ARMv8 |
OCTEON | Cavium Networks | Cavium Octeon™ SoCs | MIPS64 |
THUNDER[12] | Cavium Networks | Cavium ThunderX™ SoC | ARMv8 |
Kalray[13] | Kalray | MPPA platform | MPPA |
Releases
The following lists the different OpenDatePlane releases:
Release Name | Release Date |
---|---|
OpenDataPlane v1.0.0 | February 27, 2015 |
OpenDataPlane v1.0.1 | March 17, 2015 |
OpenDataPlane v1.0.2 | March 27, 2015 |
OpenDataPlane v1.0.3 | April 17, 2015 |
OpenDataPlane v1.0.4 | April 30, 2015 |
OpenDataPlane v1.1 | May 13, 2015 |
OpenDataPlane v1.2 | July 22, 2015 |
OpenDataPlane v1.3 | August 31, 2015 |
OpenDataPlane v1.4 | September 30, 2015 |
OpenDataPlane v1.4.1 | November 13, 2015 |
OpenDataPlane v1.5 | December 1, 2015 |
OpenDataPlane v1.6 | December 31, 2015 |
OpenDataPlane v1.7 | February 8, 2016 |
OpenDataPlane v1.8 | March 4, 2016 |
OpenDataPlane v1.9 | April 15, 2016 |
OpenDataPlane v1.10 | April 29, 2016 |
Ecosystem
The following organizations currently sponsor the development of ODP.
- ARM
- Broadcom[14]
- Cavium
- Cisco
- ENEA[15]
- Ericsson
- HiSilicon
- Linaro
- MontaVista
- Nokia
- NXP
- Texas Instruments
- Wind - formerly Wind River Systems
- ZTE
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ https://www.ietf.org/proceedings/90/slides/slides-90-forces-6.pdf
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.