VPP-FIB: Vector Packet Processor - Forwarding Information Base ((VPP-FIB)¶
Vector Packet Processor (VPP) is a fast, scalable layer 2-4 multi-platform network stack. Vector packet processing is a technique used in networking and communication systems to process multiple packets simultaneously. It is used to increase the speed of packet processing, as well as reduce latency in the network.
A forwarding information base (FIB), also known as a forwarding table or MAC table, is most commonly used in network bridging, routing, and similar functions to find the proper output network interface to which the input interface should forward a packet.
DPDK is the Data Plane Development Kit that consists of libraries to accelerate packet processing workloads running on a wide variety of CPU architectures. By enabling very fast packet processing, DPDK is making it possible for the telecommunications industry to move performance-sensitive applications like the backbone for mobile networks and voice to the cloud.
packet processing, #VPP, #FIB, #forwarding information base, #DPDK, Data Plane Development Kit, #Vector Packet Processor¶
Software Components¶
Table 1 lists the necessary software components. The descending row order represents the install sequence. The recommended component version and download location are also provided.
Table 1: Software Components | Component| Version | | :--- | :----: | | UBUNTU | v20.04 | | VPP | v22.02 | | DPDK | v22.03 | | PYTHON | v3.8.0 ||
Configuration Snippets¶
This section contains code snippets on build instructions for software components.
Note: Common Linux utilities, such as docker, git, wget, will not be listed here. Please install on demand if it is not provided in base OS installation.
UBUNTU¶
VPP¶
VPP_VER="v22.02"
VPP_REPO=https://github.com/FDio/vpp.git
git clone ${VPP_REPO} && cd vpp && git checkout ${VPP_VER} && \
sh -c '/bin/echo -e "y\ny" | ./extras/vagrant/build.sh' && \
sh -c '/bin/echo -e "y\n" | make install-dep' && \
make install-ext-deps && \
make build-release
DPDK¶
DPDK_VER=22.03
DPDK_PACKAGE=https://fast.dpdk.org/rel/dpdk-${DPDK_VER}.tar.xz
wget --no-check-certificate -O - ${DPDK_PACKAGE} | tar xfJ - && \
cd dpdk* && \
meson build && \
cd build && \
ninja && \
ninja install
PYTHON¶
PYTHON_VER="3.8.0"
PYTHON_PACKAGE=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tar.xz
cd / && \
wget --no-check-certificate -O - ${PYTHON_PACKAGE} | tar xfJ - && \
cd Python-* && \
sed -i 's/#SSL=\/usr\/local\/ssl/SSL=\/usr\/local/g' ./Modules/Setup && \
sed -i '211,213s/#//g' ./Modules/Setup && \
./configure && \
make && \
make install && \
python3 -m pip install -U pip setuptools && \
python3 -m pip install --upgrade cryptography && \
ln -s /usr/local/bin/python3 /usr/bin/python3
Workload Services Framework
-end of document-