Difference between revisions of "VPP/Alternative builds"
From fd.io
< VPP
(→vpp-lite) |
Dwallacelf (Talk | contribs) |
||
(11 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | '''NOTE: This page is deprecated as none of the build options is supported any more.''' | ||
+ | |||
+ | __NOTOC__ | ||
+ | |||
== vpp-lite == | == vpp-lite == | ||
* A build without DPDK suitable for container deployment | * A build without DPDK suitable for container deployment | ||
− | * [https://lists.fd.io/ | + | * [https://lists.fd.io/g/vpp-dev/topic/10640429 vpp-dev email thread] |
<nowiki>export PLATFORM=vpp_lite | <nowiki>export PLATFORM=vpp_lite | ||
make build | make build | ||
make run</nowiki> | make run</nowiki> | ||
+ | |||
+ | |||
+ | == arm aarch32 == | ||
+ | === Raspberry Pi === | ||
+ | * [https://lists.fd.io/pipermail/vpp-dev/2016-April/000593.html vpp-dev email thread] | ||
+ | |||
+ | * make install-dep fails as the OS is not recognized, so install dependencies manually: | ||
+ | <nowiki>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</nowiki> | ||
+ | |||
+ | * Build: | ||
+ | <nowiki>export PLATFORM=arm32 | ||
+ | make build</nowiki> | ||
+ | |||
+ | * 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 [https://github.com/christophefontaine/arm_rdtsc 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 [https://github.com/notro/rpi-source/wiki rpi-source]) | ||
+ | ** build and test kmod (see included README) | ||
+ | |||
+ | * raspbian kernel does not have hugepage support: modify the VPP startup.conf file to specify the amount of RAM to allocate | ||
+ | <nowiki> | ||
+ | cpu { | ||
+ | main-core 1 | ||
+ | } | ||
+ | heapsize 64M</nowiki> | ||
+ | |||
+ | === 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. | ||
+ | In addition of the [https://github.com/christophefontaine/arm_rdtsc kmod], we must disable "cpuidle". | ||
+ | <nowiki> | ||
+ | #!/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 | ||
+ | </nowiki> |
Latest revision as of 00:19, 15 February 2023
NOTE: This page is deprecated as none of the build options is supported any more.
vpp-lite
- A build without DPDK suitable for container deployment
- vpp-dev email thread
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 VPP 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. In addition of the kmod, we must disable "cpuidle".
#!/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