По поводу установки и использования DPDK в Linux читаем ... у Microsoft (первое что попалось более-менее внятное) -
Настройка DPDK в виртуальной машине Linux:
DPDK может работать на виртуальных машинах Azure, поддерживающих несколько дистрибутивов операционной системы.
...
На виртуальной машине Linux необходимо включить ускоренную работу в сети. Виртуальная машина должна иметь по крайней мере два сетевых интерфейса с одним интерфейсом для управления. Включение ускорения сети в интерфейсе управления не рекомендуется.
Установка DPDK через системный пакет (рекомендуется)
Ubuntu 20.04 и выше
Всё начинается со
стандартного репозитория:
Код: Выделить всё
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples/thread$ aptitude search dpdk
p dpdk - Data Plane Development Kit (runtime)
p dpdk-dev - Data Plane Development Kit (dev tools)
p dpdk-doc - Data Plane Development Kit (documentation)
p dpdk-igb-uio-dkms - Data Plane Development Kit (igb uio dkms)
p libdpdk-dev - Data Plane Development Kit (basic development files)
p openvswitch-switch-dpdk - DPDK enabled Open vSwitch switch implementation
Код: Выделить всё
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples/thread$ aptitude show dpdk
Пакет: dpdk
Версия: 19.11.12-0ubuntu0.20.04.1
Новый: да
Состояние: не установлен
Приоритет: необязательный
Раздел: devel
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: amd64
Размер в распакованном виде: 122 k
Зависит: hwdata, lsb-base (>= 3.2-14), pciutils, python3:any
Рекомендует: librte-mempool20.0, librte-mempool-ring20.0, librte-pmd-af-packet20.0, librte-pmd-bond20.0, librte-pmd-e1000-20.0, librte-pmd-fm10k20.0, librte-pmd-i40e20.0,
librte-pmd-ixgbe20.0, librte-pmd-kni20.0, librte-pmd-mlx4-20.0, librte-pmd-mlx5-20.0, librte-pmd-netvsc20.0, librte-pmd-pcap20.0, librte-pmd-tap20.0,
librte-pmd-thunderx20.0, librte-pmd-vdev-netvsc20.0, librte-pmd-vhost20.0, librte-pmd-virtio20.0, librte-pmd-vmxnet3-20.0, python3-pyelftools
Предлагает: dpdk-doc, dpdk-igb-uio-dkms (= 19.11.12-0ubuntu0.20.04.1), linux-image-generic, librte-mempool-bucket20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-mempool-dpaa2-20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-mempool-dpaa20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-mempool-octeontx2-20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-mempool-octeontx20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-mempool-ring20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-mempool-stack20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-mempool20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-aesni-gcm20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-pmd-aesni-mb20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-af-packet20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-ark20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-pmd-atlantic20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-avp20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-axgbe20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-pmd-bbdev-fpga-lte-fec20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-bbdev-null20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-bbdev-turbo-sw20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-bnx2x20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-bnxt20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-bond20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-caam-jr20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-ccp20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-pmd-crypto-scheduler20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-cxgbe20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-dpaa-event20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-dpaa-sec20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-dpaa2-20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-pmd-dpaa2-event20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-dpaa2-sec20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-dpaa20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-dsw-event20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-e1000-20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-ena20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-enetc20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-enic20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-failsafe20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-fm10k20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-hinic20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-hns3-20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-i40e20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-iavf20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-ice20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-ifc20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-isal20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-ixgbe20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-kni20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-liquidio20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-memif20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-mlx4-20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-mlx5-20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-netvsc20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-nfp20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-nitrox20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-null-crypto20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-null20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-octeontx-compress20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-pmd-octeontx-crypto20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-octeontx-event20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-octeontx2-20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-octeontx2-crypto20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-octeontx2-event20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-pmd-octeontx20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-opdl-event20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-openssl20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-pcap20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-pfe20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-qat20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-qede20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-ring20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-sfc20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-skeleton-event20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-softnic20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-pmd-sw-event20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-tap20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-thunderx20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-pmd-vdev-netvsc20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-vhost20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-virtio-crypto20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-virtio20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-vmxnet3-20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-zlib20.0 (=
19.11.12-0ubuntu0.20.04.1)
Ломает: dpdk-dev (< 18.11-4~)
Заменяет: dpdk-dev (< 18.11)
Описание: Data Plane Development Kit (runtime)
DPDK is a set of libraries for fast packet processing. Applications run in user-space and communicate directly with dedicated network interfaces.
This package contains the runtime environment to run DPDK applications.
Домашняя страница: https://www.dpdk.org
Код: Выделить всё
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples/thread$ aptitude show libdpdk-dev
Пакет: libdpdk-dev
Версия: 19.11.12-0ubuntu0.20.04.1
Новый: да
Состояние: не установлен
Мультиархитектура: такая же
Приоритет: необязательный
Раздел: universe/libdevel
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: amd64
Размер в распакованном виде: 26,0 M
Зависит: libbsd-dev, libibverbs-dev, libipsec-mb-dev, libisal-dev, libelf-dev, libfdt-dev, libjansson-dev, libmnl-dev, libnuma-dev, libpcap-dev, libssl-dev, zlib1g-dev,
librte-acl20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-bbdev0.200 (= 19.11.12-0ubuntu0.20.04.1), librte-bitratestats20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-bpf0.200 (= 19.11.12-0ubuntu0.20.04.1), librte-bus-dpaa20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-bus-fslmc20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-bus-ifpga20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-bus-pci20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-bus-vdev20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-bus-vmbus20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-cfgfile20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-cmdline20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-common-cpt20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-common-dpaax20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-common-octeontx2-20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-common-octeontx20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-compressdev0.200 (= 19.11.12-0ubuntu0.20.04.1), librte-cryptodev20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-distributor20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-eal20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-efd20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-ethdev20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-eventdev20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-fib0.200 (=
19.11.12-0ubuntu0.20.04.1), librte-flow-classify0.200 (= 19.11.12-0ubuntu0.20.04.1), librte-gro20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-gso20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-hash20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-ip-frag20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-ipsec0.200 (=
19.11.12-0ubuntu0.20.04.1), librte-jobstats20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-kni20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-kvargs20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-latencystats20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-lpm20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-mbuf20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-member20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-mempool-bucket20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-mempool-dpaa2-20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-mempool-dpaa20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-mempool-octeontx2-20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-mempool-octeontx20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-mempool-ring20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-mempool-stack20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-mempool20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-meter20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-metrics20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-net20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pci20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pdump20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pipeline20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-aesni-gcm20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-aesni-mb20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-af-packet20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-ark20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-atlantic20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-avp20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-axgbe20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-bbdev-fpga-lte-fec20.0
(= 19.11.12-0ubuntu0.20.04.1), librte-pmd-bbdev-null20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-bbdev-turbo-sw20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-pmd-bnx2x20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-bnxt20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-bond20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-pmd-caam-jr20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-ccp20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-crypto-scheduler20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-cxgbe20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-dpaa-event20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-dpaa-sec20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-dpaa2-20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-dpaa2-event20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-dpaa2-sec20.0
(= 19.11.12-0ubuntu0.20.04.1), librte-pmd-dpaa20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-dsw-event20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-e1000-20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-ena20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-enetc20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-enic20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-failsafe20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-fm10k20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-hinic20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-hns3-20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-i40e20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-iavf20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-ice20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-ifc20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-isal20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-ixgbe20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-kni20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-liquidio20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-memif20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-mlx4-20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-mlx5-20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-netvsc20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-nfp20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-nitrox20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-null-crypto20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-null20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-pmd-octeontx-compress20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-octeontx-crypto20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-octeontx-event20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-octeontx2-20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-octeontx2-crypto20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-pmd-octeontx2-event20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-octeontx20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-opdl-event20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-openssl20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-pcap20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-pfe20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-qat20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-qede20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-ring20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-sfc20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-skeleton-event20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-softnic20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-sw-event20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-tap20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-thunderx20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-vdev-netvsc20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-vhost20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-pmd-virtio-crypto20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-virtio20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-pmd-vmxnet3-20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-pmd-zlib20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-port20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-power20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-rawdev-dpaa2-cmdif20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-rawdev-dpaa2-qdma20.0 (= 19.11.12-0ubuntu0.20.04.1),
librte-rawdev-ioat20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-rawdev-ntb20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-rawdev-octeontx2-dma20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-rawdev-skeleton20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-rawdev20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-rcu0.200 (=
19.11.12-0ubuntu0.20.04.1), librte-reorder20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-rib0.200 (= 19.11.12-0ubuntu0.20.04.1), librte-ring20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-sched20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-security20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-stack0.200 (=
19.11.12-0ubuntu0.20.04.1), librte-table20.0 (= 19.11.12-0ubuntu0.20.04.1), librte-telemetry0.200 (= 19.11.12-0ubuntu0.20.04.1), librte-timer20.0 (=
19.11.12-0ubuntu0.20.04.1), librte-vhost20.0 (= 19.11.12-0ubuntu0.20.04.1)
Описание: Data Plane Development Kit (basic development files)
DPDK is a set of libraries for fast packet processing. Applications run in user-space and communicate directly with dedicated network interfaces.
This package contains the basic headers and library files required to build external applications which will also require at least SSE3 support when running.
libdpdk.pc: note that CFLAGS might contain an -march flag higher than typical baseline. This is required for a number of static inline functions in the public headers.
Домашняя страница: https://www.dpdk.org