Also available as:
loading table of contents...

Install DPDK

  1. Install the required dependencies.

    yum -y install "@Development tools"
    yum -y install pciutils net-tools glib2 glib2-devel git
    yum -y install kernel kernel-devel kernel-headers
  2. Decide where DPDK will be installed.

    export DPDK_HOME=/usr/local/dpdk/
  3. Download, build, and install DPDK.

    wget -O - | tar -xJ
    cd dpdk-stable-16.11.1/
    make config install T=x86_64-native-linuxapp-gcc DESTDIR=$DPDK_HOME
  4. Find the PCI address of the ethernet device that you plan on using to capture network packets. In the following example we plan on binding enp9s0f0 which has a PCI address of 09:00.0.

    $ lspci | grep "VIC Ethernet"
    09:00.0 Ethernet controller: Cisco Systems Inc VIC Ethernet NIC (rev a2)
    0a:00.0 Ethernet controller: Cisco Systems Inc VIC Ethernet NIC (rev a2)
  5. Bind the device. Replace the device name and PCI address with what is appropriate for your environment.

    ifdown enp9s0f0
    modprobe uio_pci_generic
    $DPDK_HOME/sbin/dpdk-devbind --bind=uio_pci_generic "09:00.0"
  6. Ensure that the device was bound. It should be shown as a 'network device using DPDK-compatible driver.'

    $ dpdk-devbind --status
    Network devices using DPDK-compatible driver
    0000:09:00.0 'VIC Ethernet NIC' drv=uio_pci_generic unused=enic
    Network devices using kernel driver
    0000:01:00.0 'I350 Gigabit Network Connection' if=eno1 drv=igb unused=uio_pci_generic