How To Install dpdk on Ubuntu 20.04
Introduction
In this tutorial we learn how to install dpdk
on Ubuntu 20.04.
What is dpdk
dpdk is:
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.
Package: dpdk Architecture: amd64 Version: 19.11.3-0ubuntu0.2 Priority: optional Section: devel Origin: Ubuntu Maintainer: Ubuntu Developers [email protected] Original-Maintainer: Debian DPDK Maintainers [email protected] Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 117 Depends: hwdata, lsb-base (>= 3.2-14), pciutils, python3:any Recommends: 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 Suggests: dpdk-doc, dpdk-igb-uio-dkms (= 19.11.3-0ubuntu0.2), linux-image-generic, librte-mempool-bucket20.0 (= 19.11.3-0ubuntu0.2), librte-mempool-dpaa2-20.0 (= 19.11.3-0ubuntu0.2), librte-mempool-dpaa20.0 (= 19.11.3-0ubuntu0.2), librte-mempool-octeontx2-20.0 (= 19.11.3-0ubuntu0.2), librte-mempool-octeontx20.0 (= 19.11.3-0ubuntu0.2), librte-mempool-ring20.0 (= 19.11.3-0ubuntu0.2), librte-mempool-stack20.0 (= 19.11.3-0ubuntu0.2), librte-mempool20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-aesni-gcm20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-aesni-mb20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-af-packet20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-ark20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-atlantic20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-avp20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-axgbe20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-bbdev-fpga-lte-fec20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-bbdev-null20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-bbdev-turbo-sw20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-bnx2x20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-bnxt20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-bond20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-caam-jr20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-ccp20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-crypto-scheduler20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-cxgbe20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-dpaa-event20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-dpaa-sec20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-dpaa2-20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-dpaa2-event20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-dpaa2-sec20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-dpaa20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-dsw-event20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-e1000-20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-ena20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-enetc20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-enic20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-failsafe20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-fm10k20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-hinic20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-hns3-20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-i40e20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-iavf20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-ice20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-ifc20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-isal20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-ixgbe20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-kni20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-liquidio20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-memif20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-mlx4-20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-mlx5-20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-netvsc20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-nfp20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-nitrox20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-null-crypto20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-null20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-octeontx-compress20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-octeontx-crypto20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-octeontx-event20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-octeontx2-20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-octeontx2-crypto20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-octeontx2-event20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-octeontx20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-opdl-event20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-openssl20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-pcap20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-pfe20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-qat20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-qede20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-ring20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-sfc20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-skeleton-event20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-softnic20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-sw-event20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-tap20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-thunderx20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-vdev-netvsc20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-vhost20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-virtio-crypto20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-virtio20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-vmxnet3-20.0 (= 19.11.3-0ubuntu0.2), librte-pmd-zlib20.0 (= 19.11.3-0ubuntu0.2) Breaks: dpdk-dev (« 18.11-4~) Replaces: dpdk-dev (« 18.11) Filename: pool/main/d/dpdk/dpdk_19.11.3-0ubuntu0.2_amd64.deb Size: 22912 MD5sum: 83906a8c4d48246380626b49ba25cae8 SHA1: 3e46189b4dd1641be2b791e1f882bcee342250eb SHA256: 09e3c7faa9f4cdc3f7182c1f1fdd8444ccd5c599db0e71dcf9d13029ca4b8495 SHA512: 615a04a65038e378b7f003031906bc387c97b245322ea6597a14801681cba2eceb864993f3f63bfc612f54bd2db3271272dc322f8543313f164793efa69c63f1 Homepage: https://www.dpdk.org Description-en: 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.
Package: dpdk Architecture: amd64 Version: 19.11.1-0ubuntu1 Priority: optional Section: devel Origin: Ubuntu Maintainer: Ubuntu Developers [email protected] Original-Maintainer: Debian DPDK Maintainers [email protected] Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 116 Depends: hwdata, lsb-base (>= 3.2-14), pciutils, python3:any Recommends: 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 Suggests: dpdk-doc, dpdk-igb-uio-dkms (= 19.11.1-0ubuntu1), linux-image-generic, librte-mempool-bucket20.0 (= 19.11.1-0ubuntu1), librte-mempool-dpaa2-20.0 (= 19.11.1-0ubuntu1), librte-mempool-dpaa20.0 (= 19.11.1-0ubuntu1), librte-mempool-octeontx2-20.0 (= 19.11.1-0ubuntu1), librte-mempool-octeontx20.0 (= 19.11.1-0ubuntu1), librte-mempool-ring20.0 (= 19.11.1-0ubuntu1), librte-mempool-stack20.0 (= 19.11.1-0ubuntu1), librte-mempool20.0 (= 19.11.1-0ubuntu1), librte-pmd-aesni-gcm20.0 (= 19.11.1-0ubuntu1), librte-pmd-aesni-mb20.0 (= 19.11.1-0ubuntu1), librte-pmd-af-packet20.0 (= 19.11.1-0ubuntu1), librte-pmd-ark20.0 (= 19.11.1-0ubuntu1), librte-pmd-atlantic20.0 (= 19.11.1-0ubuntu1), librte-pmd-avp20.0 (= 19.11.1-0ubuntu1), librte-pmd-axgbe20.0 (= 19.11.1-0ubuntu1), librte-pmd-bbdev-fpga-lte-fec20.0 (= 19.11.1-0ubuntu1), librte-pmd-bbdev-null20.0 (= 19.11.1-0ubuntu1), librte-pmd-bbdev-turbo-sw20.0 (= 19.11.1-0ubuntu1), librte-pmd-bnx2x20.0 (= 19.11.1-0ubuntu1), librte-pmd-bnxt20.0 (= 19.11.1-0ubuntu1), librte-pmd-bond20.0 (= 19.11.1-0ubuntu1), librte-pmd-caam-jr20.0 (= 19.11.1-0ubuntu1), librte-pmd-ccp20.0 (= 19.11.1-0ubuntu1), librte-pmd-crypto-scheduler20.0 (= 19.11.1-0ubuntu1), librte-pmd-cxgbe20.0 (= 19.11.1-0ubuntu1), librte-pmd-dpaa-event20.0 (= 19.11.1-0ubuntu1), librte-pmd-dpaa-sec20.0 (= 19.11.1-0ubuntu1), librte-pmd-dpaa2-20.0 (= 19.11.1-0ubuntu1), librte-pmd-dpaa2-event20.0 (= 19.11.1-0ubuntu1), librte-pmd-dpaa2-sec20.0 (= 19.11.1-0ubuntu1), librte-pmd-dpaa20.0 (= 19.11.1-0ubuntu1), librte-pmd-dsw-event20.0 (= 19.11.1-0ubuntu1), librte-pmd-e1000-20.0 (= 19.11.1-0ubuntu1), librte-pmd-ena20.0 (= 19.11.1-0ubuntu1), librte-pmd-enetc20.0 (= 19.11.1-0ubuntu1), librte-pmd-enic20.0 (= 19.11.1-0ubuntu1), librte-pmd-failsafe20.0 (= 19.11.1-0ubuntu1), librte-pmd-fm10k20.0 (= 19.11.1-0ubuntu1), librte-pmd-hinic20.0 (= 19.11.1-0ubuntu1), librte-pmd-hns3-20.0 (= 19.11.1-0ubuntu1), librte-pmd-i40e20.0 (= 19.11.1-0ubuntu1), librte-pmd-iavf20.0 (= 19.11.1-0ubuntu1), librte-pmd-ice20.0 (= 19.11.1-0ubuntu1), librte-pmd-ifc20.0 (= 19.11.1-0ubuntu1), librte-pmd-isal20.0 (= 19.11.1-0ubuntu1), librte-pmd-ixgbe20.0 (= 19.11.1-0ubuntu1), librte-pmd-kni20.0 (= 19.11.1-0ubuntu1), librte-pmd-liquidio20.0 (= 19.11.1-0ubuntu1), librte-pmd-memif20.0 (= 19.11.1-0ubuntu1), librte-pmd-mlx4-20.0 (= 19.11.1-0ubuntu1), librte-pmd-mlx5-20.0 (= 19.11.1-0ubuntu1), librte-pmd-netvsc20.0 (= 19.11.1-0ubuntu1), librte-pmd-nfp20.0 (= 19.11.1-0ubuntu1), librte-pmd-nitrox20.0 (= 19.11.1-0ubuntu1), librte-pmd-null-crypto20.0 (= 19.11.1-0ubuntu1), librte-pmd-null20.0 (= 19.11.1-0ubuntu1), librte-pmd-octeontx-compress20.0 (= 19.11.1-0ubuntu1), librte-pmd-octeontx-crypto20.0 (= 19.11.1-0ubuntu1), librte-pmd-octeontx-event20.0 (= 19.11.1-0ubuntu1), librte-pmd-octeontx2-20.0 (= 19.11.1-0ubuntu1), librte-pmd-octeontx2-crypto20.0 (= 19.11.1-0ubuntu1), librte-pmd-octeontx2-event20.0 (= 19.11.1-0ubuntu1), librte-pmd-octeontx20.0 (= 19.11.1-0ubuntu1), librte-pmd-opdl-event20.0 (= 19.11.1-0ubuntu1), librte-pmd-openssl20.0 (= 19.11.1-0ubuntu1), librte-pmd-pcap20.0 (= 19.11.1-0ubuntu1), librte-pmd-pfe20.0 (= 19.11.1-0ubuntu1), librte-pmd-qat20.0 (= 19.11.1-0ubuntu1), librte-pmd-qede20.0 (= 19.11.1-0ubuntu1), librte-pmd-ring20.0 (= 19.11.1-0ubuntu1), librte-pmd-sfc20.0 (= 19.11.1-0ubuntu1), librte-pmd-skeleton-event20.0 (= 19.11.1-0ubuntu1), librte-pmd-softnic20.0 (= 19.11.1-0ubuntu1), librte-pmd-sw-event20.0 (= 19.11.1-0ubuntu1), librte-pmd-tap20.0 (= 19.11.1-0ubuntu1), librte-pmd-thunderx20.0 (= 19.11.1-0ubuntu1), librte-pmd-vdev-netvsc20.0 (= 19.11.1-0ubuntu1), librte-pmd-vhost20.0 (= 19.11.1-0ubuntu1), librte-pmd-virtio-crypto20.0 (= 19.11.1-0ubuntu1), librte-pmd-virtio20.0 (= 19.11.1-0ubuntu1), librte-pmd-vmxnet3-20.0 (= 19.11.1-0ubuntu1), librte-pmd-zlib20.0 (= 19.11.1-0ubuntu1) Breaks: dpdk-dev (« 18.11-4~) Replaces: dpdk-dev (« 18.11) Filename: pool/main/d/dpdk/dpdk_19.11.1-0ubuntu1_amd64.deb Size: 23468 MD5sum: 4e6bb5393a2380fa68b728e34bab3db9 SHA1: 3e63d79c623d136731a7288ff17cce515c6a50dc SHA256: bbdebacf661f85a0aae4eeaaa875cfcb87c9ed5d0174c8cccb1545d53a04e303 Homepage: https://www.dpdk.org Description-en: 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.
There are three methods to install dpdk
on Ubuntu 20.04. We can use apt-get
, apt
and aptitude
. In the following sections we will describe each method. You can choose one of them.
Install dpdk Using apt-get
Update apt database with apt-get
using the following command.
sudo apt-get update
After updating apt database, We can install dpdk
using apt-get
by running the following command:
sudo apt-get -y install dpdk
Install dpdk Using apt
Update apt database with apt
using the following command.
sudo apt update
After updating apt database, We can install dpdk
using apt
by running the following command:
sudo apt -y install dpdk
Install dpdk Using aptitude
If you want to follow this method, you might need to install aptitude first since aptitude is usually not installed by default on Ubuntu. Update apt database with aptitude
using the following command.
sudo aptitude update
After updating apt database, We can install dpdk
using aptitude
by running the following command:
sudo aptitude -y install dpdk
How To Uninstall dpdk on Ubuntu 20.04
To uninstall only the dpdk
package we can use the following command:
sudo apt-get remove dpdk
Uninstall dpdk And Its Dependencies
To uninstall dpdk
and its dependencies that are no longer needed by Ubuntu 20.04, we can use the command below:
sudo apt-get -y autoremove dpdk
Remove dpdk Configurations and Data
To remove dpdk
configuration and data from Ubuntu 20.04 we can use the following command:
sudo apt-get -y purge dpdk
Remove dpdk configuration, data, and all of its dependencies
We can use the following command to remove dpdk
configurations, data and all of its dependencies, we can use the following command:
sudo apt-get -y autoremove --purge dpdk
References
Summary
In this tutorial we learn how to install dpdk
package on Ubuntu 20.04 using different package management tools: apt
, apt-get
and aptitude
.