VPP/Installing VPP binaries from packages
Contents
Intro
If you are simply using vpp, it can be convenient to simply install the packages. The instructions below will pull the latest freshest package build from the master branch (updated on every merge).
Package Descriptions
- vpp - Description: Vector Packet Processing--executables. This package provides VPP executables: vpp, vpp_api_test, vpp_json_test
- vpp - the vector packet engine
- vpp_api_test - vector packet engine API test tool
- vpp_json_test - vector packet engine JSON test tool
- vpp-lib - Description: Vector Packet Processing--runtime libraries. This package contains the VPP shared libraries, including:
- vppinfra - foundation library supporting vectors, hashes, bitmaps, pools, and string formatting.
- svm - vm library
- vlib - vector processing library
- vlib-api - binary API library
- vnet - network stack library
- vpp-plugins - Description: Vector Packet Processing--plugin modules
- acl
- dpdk
- flowprobe
- gtpu
- ixge
- kubeproxy
- l2e
- lb
- memif
- nat
- pppoe
- sixrd
- stn
- vpp-dbg - Description: Vector Packet Processing--debug symbols
- vpp-dev - Description: Vector Packet Processing--development support. This package contains development support files for the VPP libraries
- vpp-api-java - Description: JAVA binding for the VPP Binary API.
- vpp-api-python - Description: Python binding for the VPP Binary API.
- vpp-api-lua - Description: Lua binding for the VPP Binary API.
Ubuntu/Debian
Add fd.io repo
1. Pick Ubuntu version:
- Ubuntu 16.04 - Xenial
export UBUNTU="xenial"
2. Pick VPP version:
- Latest VPP Release
unset -v RELEASE
- Latest VPP 18.01 Throttle Branch
export RELEASE=".stable.1801"
- Latest VPP 17.10 Throttle Branch
export RELEASE=".stable.1710"
- Latest VPP 17.07 Throttle Branch
export RELEASE=".stable.1707"
- MASTER (in development)
export RELEASE=".master"
3. Then run:
sudo rm /etc/apt/sources.list.d/99fd.io.list echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | sudo tee -a /etc/apt/sources.list.d/99fd.io.list sudo apt-get update sudo apt-get install vpp vpp-lib
- Optional packages:
sudo apt-get install vpp-plugins vpp-dbg vpp-dev vpp-api-java vpp-api-python vpp-api-lua
Uninstalling VPP Packages
sudo apt-get remove --purge vpp*
Centos
Add fd.io repo
CentOS 7.3 - VPP Release RPMs (Latest)
Create a file /etc/yum.repos.d/fdio-release.repo with contents:
[fdio-release] name=fd.io release branch latest merge baseurl=https://nexus.fd.io/content/repositories/fd.io.centos7/ enabled=1 gpgcheck=0
CentOS 7.3 - VPP stable/1801 branch RPMs
Create a file /etc/yum.repos.d/fdio-stable-1801.repo with contents:
[fdio-stable-1801] name=fd.io stable/1801 branch latest merge baseurl=https://nexus.fd.io/content/repositories/fd.io.stable.1801.centos7/ enabled=1 gpgcheck=0
CentOS 7.3 - VPP stable/1710 branch RPMs
Create a file /etc/yum.repos.d/fdio-stable-1710.repo with contents:
[fdio-stable-1710] name=fd.io stable/1710 branch latest merge baseurl=https://nexus.fd.io/content/repositories/fd.io.stable.1710.centos7/ enabled=1 gpgcheck=0
CentOS 7.3 - VPP stable/1707 branch RPMs
Create a file /etc/yum.repos.d/fdio-stable-1707.repo with contents:
[fdio-stable-1707] name=fd.io stable/1707 branch latest merge baseurl=https://nexus.fd.io/content/repositories/fd.io.stable.1707.centos7/ enabled=1 gpgcheck=0
CentOS 7.3 - VPP master branch RPMs (in development)
Create a file /etc/yum.repos.d/fdio-master.repo with contents:
[fdio-master] name=fd.io master branch latest merge baseurl=https://nexus.fd.io/content/repositories/fd.io.master.centos7/ enabled=1 gpgcheck=0
Install vpp packages
sudo yum install vpp
Optional packages
sudo yum install vpp-plugins vpp-devel vpp-api-python vpp-api-lua vpp-api-java
Start VPP
sudo systemctl restart vpp
Uninstalling VPP RPMs
sudo yum autoremove vpp*
openSUSE
Blog-post: https://www.suse.com/communities/blog/vector-packet-processing-vpp-opensuse/
Install
openSUSE Tumbleweed (rolling release)
sudo zypper install vpp vpp-plugins
openSUSE Leap 42.3
sudo zypper addrepo --name network https://download.opensuse.org/repositories/network/openSUSE_Leap_42.3/network.repo sudo zypper install vpp vpp-plugins
Uninstall
openSUSE Tumbleweed (rolling release)
sudo zypper remove -u vpp vpp-plugins
openSUSE Leap 42.3
sudo zypper remove -u vpp vpp-plugins sudo zypper removerepo network
Getting jvpp jar
Directly downloading jvpp.jar
vpp provides java bindings which can be downloaded
Getting jvpp via maven
Add the following to the repositories section in your ~/.m2/settings.xml to pick up the fd.io maven repo:
<repository> <id>fd.io-release</id> <name>fd.io-release</name> <url>https://nexus.fd.io/content/repositories/fd.io.release/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository>
More information on setting up maven repositories in settings.xml.
Then you can get jvpp by putting in the dependencies section of your pom.xml file:
<dependency> <groupId>io.fd.vpp</groupId> <artifactId>jvpp-core</artifactId> <version>17.10</version> </dependency>