Role of ODP in high performance networking
https://images.app.goo.gl/JvxBBELcYu4REVwZ9

Role of ODP in high performance networking

Why to read this?

You love DPDK and keen to use it in your product. However, you are worried about tight coupling of your existing product with DPDK. Note that you also want to run your software in non-DPDK platform as well. 

ODP helps in this regard. If you like to know how and many more benefits, then this document helps.

Technical explanation

The Open Data Plane (ODP) is an open-source project which defines application programming interfaces(APIs) for portable high performance networking data plane applications. Networking data plane refers software and hardware that forwards packets/frames from one interface to another, and usually performs various operations (check errors, add/remove/modify protocol headers, etc) on packet data.

No alt text provided for this image



ODP Architecture
No alt text provided for this image
ODP Benefits

Core benefit

ODP API design enables various implementation strategies without exposing the application to implementation details.

No alt text provided for this image


Detailed features

  • Open Source, open contribution, BSD-3 licensed
  • Vendor and platform neutral
  • Application-centric. Covers functional needs of data plane applications
  • Ensures portability by specifying the functional behavior of ODP
  • Both applications and implementations must conform to the API specification
  • Defined jointly and openly by application writers and platform implementers
  • Architected to be implementable on a wide range of platforms efficiently
ODP and SDN

The goal of ODP is to support Software-defined networking (SDN) in which control is decoupled from the physical infrastructure, allowing network administrators to support a network fabric across multi-vendor equipment.

ODP and DPDK

ODP provides abstraction layer over the lower level DPDK API. This has engineering benefit where DPDK can be implemented in your product without losing portability

No alt text provided for this image


ODP cross-platform view
No alt text provided for this image


ODP implementations

odp-linux

It is pure software implementation, runs on any Linux system. Not a performance target but can utilize DPDK and Netmap.

odp-dpdk

It is derived from ODP-LINUX, but it is optimized using the full DPDK SDK, and tries to connect as many DPDK APIs to ODP as possible. 

No alt text provided for this image


Reference
https://en.wikipedia.org/wiki/OpenDataPlane

https://github.com/OpenDataPlane/odp

https://github.com/OpenDataPlane/odp-dpdk

https://images.app.goo.gl/egVGJApMJZzcnj5i6

https://images.app.goo.gl/vnXyFsomFvhPy62o8

https://opendataplane.org/index.php/resources/faq/

https://opendataplane.org/index.php/services/technical-overview/

https://images.app.goo.gl/5wkbsm2WvtWfhB747

https://images.app.goo.gl/JvxBBELcYu4REVwZ9


Thanks Madhusudan Karan for your inspiration to write on this topic

Like
Reply

To view or add a comment, sign in

More articles by Deepak Kumar

Others also viewed

Explore content categories