How To Install dpdk on Ubuntu 20.04

In this tutorial we learn how to install dpdk on Ubuntu 20.04. dpdk is Data Plane Development Kit (runtime) Data Plane Development Kit (runtime) Data Plane Development Kit (runtime)

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.