Build VPP Debian packages from source

The steps I use to build FD.io VPP from source into .deb packages on Debian 12, from cloning the repository to make pkg-deb.

Contents

Vector Packet Processing (VPP) from FD.io is a high-performance, user-space network stack. We use it often in our infrastructure at Wansec, so I keep notes on how to build it from source into .deb packages. These are those notes.

Prerequisites

Start from a clean Debian system; I use Debian 12. Install the basic tools:

sudo apt update
sudo apt install -y nano vim libnl-3-200 libnl-route-3-200 libnuma1 libpcap0.8 sudo git make

Get the source

Keep the source in its own directory:

mkdir -p ~/src
cd ~/src

Clone the official repository from FD.io’s Gerrit server and check out the release you want, here 25.02:

git clone https://gerrit.fd.io/r/vpp
cd vpp
git checkout v25.02

git tag lists the available releases.

Install the build dependencies

VPP’s makefile has targets that install the system packages and third-party components the build needs:

make install-deps
make install-ext-deps

Build

Compile VPP in release mode:

make build-release

Create the packages

make pkg-deb

The .deb files are written to build-root/. Install them with dpkg -i, or share them with your team or lab.

Further reading

The VPP documentation goes into much more detail. If you get stuck, or want to automate this, leave a comment below.

Join the discussion

Comments are hosted on comments.vciso.ch, a server I run myself. Nothing is loaded from it until you press the button below. Loading comments connects your browser to that server, and signing in with GitHub sets a cookie there. See the privacy page for details.

Type to search.

↑ ↓ to move, Enter to open, Esc to close