Data Plane Development Kit (DPDK) - набір бібліотек data plane та драйверів мережевих карт для швидкої обробки пакетів. DPDK забезпечує програмний фреймворк для Intel x86 процесорів та дозволяє швидку розробку мережевих додатків для пакетів даних високої швидкості.[2][3] Він підтримує процесори починаючи з Intel Atom та закінчуючи Intel Xeon, підтримка інших процесорних архітектури, таких як IBM POWER8, в процесі розробки.[4] DPDK розповсюджується та підтримується відповідно до умов відкритої [5] ліцензії BSD.
DPDK фреймворк створює набір бібліотек для особливих апаратних/програмних середовищ через створення Рівня Абстаркції Середовища (англ. Environment Abstraction Layer, EAL).[6] EAL приховує специфіку середовища та забезпечує стандартний програмний інтерфейс до бібліотек, доступних апаратних прискорювачів та інших апаратних елементів та елементів операційних систем (Linux, FreeBSD). Як тільки EAL створено для особливого середовища, розробники посилаються до бібліотек щоб створити свої додатки. Наприклад, EAL забезпечує фреймворки для підтримки Linux, FreeBSD, Intel IA 32- чи 64-бітні чи IBM Power8.
EAL також надає додаткові сервіси включаючи часові посилання, PCIe шину доступу, функції відстежування і налагодження та операції сигналізацій.
DPDK впроваджує модель низького навантаження run-to-completion[en] для продуктивновності швидкого data plane та має доступ до пристроїв через опитування що усуває перевантаження обробки переривань .
DPDK також включає програмні приклади що висвітлюють найкращі практики архітектур програмного забезпечення, підказки для дизайну структури даних та зберігання, профілювання додатків і утиліти налагодження продуктивності та підказки, що показують основні недоліки продуктивності мережі.
DPDK включає бібліотеки data plane та оптимізовані NIC драйвера для:[7]
Всі бібліотеки зберігаються в директоріях dpdk/lib/librte_*
EAL дозволяє завантажувати деякі плагіни використовуючи опцію -d file.so без перекомпіляції будь-якого додатку, що використовує DPDK бібліотеки. Доступні наступні плагіни:
DPDK був розроблений для використання в режимі голого заліза, що наразі є застарілим. Фактично DPDK EAL забезпечує підтримку Linux чи FreeBSD додатків режиму користувача.
EAL може бути розширений для підтримки будь-яких процесорів.
Не враховуючи 6WIND та Intel, які є основними розробниками DPDK, декілька виробників також підтримують DPDK в своїх продуктах а деякі пропонують додаткові трейнінги, підтримку та професійні сервіси. Список виробників які анонсували підтримку DPDK включає:
25 лютого 2015 проект pfSense опублікував дорожню карту, в якій розробник Jim Thompson анонсував переписування ядра pfSense—включаючи pf, network packet переправляння та shaping, агрегацію каналів, IPSec—використовуючи Intel's DPDK: "Ми маєм ціль бути готовими пересилати через фільтр пакетів хоча б на швидкості 14.88Mpps. Що є граничною на 10Gbps порті. Зараз просто не має способу використовувати стек ядра FreeBSD (чи linux) для даного типу навантаження."[18]
|title=