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.
- 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
- 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
- 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
Parent topic: VM Network Tuning