Difference between revisions of "VPP/Alternative builds"

From fd.io
< VPP
Jump to: navigation, search
m
Line 9: Line 9:
  
 
== arm aarch32 ==
 
== arm aarch32 ==
* build configuration inherited from vpp-lite
+
'''* Raspberry Pi'''
 
* [https://lists.fd.io/pipermail/vpp-dev/2016-April/000593.html vpp-dev email thread]
 
* [https://lists.fd.io/pipermail/vpp-dev/2016-April/000593.html vpp-dev email thread]
  
Line 33: Line 33:
 
heapsize 64M</nowiki>
 
heapsize 64M</nowiki>
  
* Tegra - Jetson TK1
+
'''* Tegra - Jetson TK1'''
 +
As Linux 4 Tegra is recognized as Ubuntu, we can just build as usual.
 
On Tegra, we may use DPDK, but we have to rebuild our own kernel (tested with 4.5.3) to enable hugepages.
 
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.
 
Also, we must disable cpu idle.
Line 44: Line 45:
 
done
 
done
 
</nowiki>
 
</nowiki>
 
* Finally, run as usual:
 
<nowiki>make run</nowiki>
 

Revision as of 07:40, 3 June 2016

vpp-lite

export PLATFORM=vpp_lite
make build
make run


arm aarch32

* Raspberry Pi

  • 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 As Linux 4 Tegra is recognized as Ubuntu, we can just build as usual. 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