Difference between revisions of "VPP/Alternative builds"
From fd.io
								< VPP
												
				| m | |||
| Line 8: | Line 8: | ||
| − | ==  | + | == arm aarch32 == | 
| * build configuration inherited from vpp-lite | * build configuration inherited from vpp-lite | ||
| * [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 29: | Line 29: | ||
|   <nowiki> |   <nowiki> | ||
| cpu { | cpu { | ||
| − |    main-core  | + |    main-core 1 | 
| } | } | ||
| heapsize 64M</nowiki> | heapsize 64M</nowiki> | ||
| + | |||
| + | * 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. | ||
| + |  <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> | ||
| * Finally, run as usual: | * Finally, run as usual: | ||
|   <nowiki>make run</nowiki> |   <nowiki>make run</nowiki> | ||
Revision as of 07:32, 3 June 2016
vpp-lite
- A build without DPDK suitable for container deployment
- vpp-dev email thread
export PLATFORM=vpp_lite make build make run
arm aarch32
- build configuration inherited from vpp-lite
- vpp-dev email thread
- 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
