Install DPDK

After you enable transparent huge pages, you must install a data plane development kit (DPDK) and the associated network interface controller (NIC).

  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. Specify where you want DPDK 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. Specify the PCI address of the Ethernet device that you want to use to capture network packets:
    $ 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, using a device name and PCI address appropriate to 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:
    $ 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