VPP/Alternative builds

From fd.io
Jump to: navigation, search

vpp-lite

export PLATFORM=vpp_lite
make build
make run


arm aarch32

  • make install-dep fails as the OS is not recognized, so install dependencies manually:
apt-get install curl build-essential autoconf automake bison libssl-dev ccache \
debhelper dkms openjdk-8-jdk git libtool libganglia1-dev libapr1-dev dh-systemd \
libconfuse-dev git-review exuberant-ctags cscope
  • Build:
export PLATFORM=arm32
make build
  • raspbian default kernel does not enable userspace application access to the performance counters (this access is required by vpp to read the cycle counter)
    • Download kernel module from github
    • This requires kernel headers: if you updated your kernel with rpi-update, you may have to download the whole kernel sources to retrieve kernel headers (see rpi-source)
    • build and test kmod (see included README)
  • raspbian kernel does not have hugepage support: modify the startup.conf file to specify the amount of RAM to allocate
cpu {
  main-core 1
}
heapsize 64M
  • Tegra - Jetson TK1

On Tegra, we may use DPDK, but we have to rebuild our own kernel (tested with 4.5.3) to enable hugepages. Also, we must disable cpu idle.

#!/bin/sh
for cpu in 0 1 2 3 ; do
for state in 0 1 ; do
echo 1 > /sys/devices/system/cpu/cpu$cpu/cpuidle/state$state/disable
done
done

  • Finally, run as usual:
make run