Rate This Document
Findability
Accuracy
Completeness
Readability

Deploying the DPDK and OVS

The Data Plane Development Kit (DPDK) accelerates the Open vSwitch (OVS) flow table processing in user mode. The DPDK uses Polling Mode Driver (PMD) to directly interact with user-mode applications. This effectively reduces the context switching between the kernel mode and user mode, decreases the number of system calls and the memory copy overhead, lowers the CPU usage, and improves the network performance.

The following describes the installations of the DPDK and OVS, including installing the system dependencies and Python dependencies, installing the DPDK through source code compilation, and configuring, compiling, and installing OVS.

  1. Install the dependency packages.
    yum -y install meson ninja-build gcc make python3-pyelftools kernel-devel-$(uname -r) kernel-headers-$(uname -r) numactl-devel libpcap-devel rdma-core-devel libbpf-devel libbpf groff-base python3-six openssl-devel autoconf automake libtool  unbound-devel python3-devel
  2. Install the DPDK.
    wget http://fast.dpdk.org/rel/dpdk-21.11.tar.xz --no-check-certificate
    tar -xvf dpdk-21.11.tar.xz
    cd dpdk-21.11/
    meson --prefix=/usr --libdir=/usr/lib64 --bindir=/usr/bin --sbindir=/usr/sbin --includedir=/usr/include/dpdk -Dc_args="-O0 -g -fstack-protector-strong" -Dc_link_args="-g -Wl,-z,relro,-z,now,-z,noexecstack" -Denable_kmods=true build
    ninja -C build && ninja -C build install && ldconfig
  3. Install OVS.
    wget https://www.openvswitch.org/releases/openvswitch-2.17.2.tar.gz --no-check-certificate
    tar -xvf openvswitch-2.17.2.tar.gz
    cd openvswitch-2.17.2/
    ./boot.sh
    ./configure CFLAGS="-march=armv8-a+lse+crc -fstack-protector-all -fstack-protector-strong " --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=/lib64 --enable-ssl --enable-shared --with-dpdk=shared
    make -j`nproc`
    make -j`nproc` install
    cp rhel/etc_init.d_openvswitch /etc/init.d/openvswitch
    chmod +x /etc/init.d/openvswitch