Download the latest version
of the ODP reference from Git

odp-linux pktio types (Socket, Netmap, DPDK)
Development Repo

Development Repo Leaf Icon

Git Repo Tags

Git Repo Tags Leaf Icon


Patchworks Leaf Icon

Latest Stable Release

Monarch RC2 v1.10.1.0

Download other Open and Support
Account Access implementations

Company Repo Supported Platforms


ODP Monarch

ThunderX CN88xx 24-48 core ARMv8 OCTEON TX CN83/81xx 1-24 core ARMv8

ODP v1.6.0.0



ODP Monarch

QorIQ – ARM based DPAA2 architecture LS2080, LS2085 QorIQ – ARM & PowerPC based DPAA architecture LS1043


ODP v1.6.0.0



PCIe NIC optimised implementation (odp-dpdk)


If you have apt-add-repository you can use it

sudo apt-add-repository

If not you can do it manually


wget -O - > /tmp/odp.key sudo apt-key add /tmp/odp.key echo "deb ${OS_RELEASE} main"  |sudo tee /etc/apt/sources.list.d/odp.list

And then install ODP

ODPLIB_NAME=odp-linux or odp-dpdk
sudo apt-get update
sudo apt-get install -y git  libodphelper-linux-dev lib${ODPLIB_NAME}-dev

You can also try the script hello world

OpenDataPlane odp-linux vs odp-dpdk

odp-linux can interface with DPDK poll mode drivers as an option vs the socket interface. However it retains everything else that is part of the generic Linux implementation, including for example the buffer management implementation. Therefore it has to copy everything during receive and transmit between its own buffers and DPDK ones.
The advantage is that compared to the default socket interface both the Netmap and DPDK pktios are faster when testing the generic case although no other hardware acceleration support is provided.

odp-dpdk is derived from odp-linux, but it is optimized using the full DPDK SDK, and tries to connect as much DPDK API’s to ODP as possible. It uses DPDK buffer management underneath, so it doesn’t need the aforementioned copy.

odp-nextmap does not exist, Netmap does not offer any additional acceleration features that need to be optimized for in a dedicated odp implementation.

odp-“x” as can be seen various other open and closed implementations exist and they can be downloaded from the vendor for their hardware, the list is not exhaustive