aboutsummaryrefslogtreecommitdiffstats
path: root/build-data/platforms
AgeCommit message (Collapse)AuthorFilesLines
2018-08-17CMake as an alternative to autotools (experimental)Damjan Marion1-0/+3
Change-Id: Ibc59323e849810531dd0963e85493efad3b86857 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-01Move java api to extras/Damjan Marion1-1/+1
Change-Id: Ibd5cbbdfb22a235442cddaebc9eae9a3c4e35ec9 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-18Add config option to use dlmalloc instead of mheapDave Barach1-1/+3
Configure w/ --enable-dlmalloc, see .../build-data/platforms/vpp.mk src/vppinfra/dlmalloc.[ch] are slightly modified versions of the well-known Doug Lea malloc. Main advantage: dlmalloc mspaces have no inherent size limit. Change-Id: I19b3f43f3c65bcfb82c1a265a97922d01912446e Signed-off-by: Dave Barach <dave@barachs.net>
2018-06-04Enable Position Independent Executable for production VPPNeale Ranns1-1/+1
Change-Id: I0f81423b854be1dc456df696416e5f3747393208 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-05-28VPP-1284: Fix for TLS corruption on ARM platformsSachin Saxena1-2/+2
- The issue is appearing on ARM platofrms where DPDK drivers are also using __thread TLS vairables. - The issue was only appearing with dpdk as plgin to VPP and not if used as statically link with VPP. - Using traditional TLS scheme resolved the issue. Change-Id: Ifb4c667fdd217c2b1d79be8a541a2c983222d95a Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
2018-05-16Fix broken compilation for non-numa aware platformsSachin Saxena2-1/+2
- The dpdk plugin always looks for libnuma library during compilation. For non-numa aware platforms compilation breaks, if third party libnuma lib is not available. - Issue is more severe with Cross Compilation scenario where one has to download and cross compile libnuma-dev package even when target platofrom is NUMA disabled. Like when cross compiling for ARM platforms, Linaro tool-chain doesn't have libnuma by default. Change-Id: Ib85b3188b787c23ba33b47e3f6123c74fd37190e Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
2018-05-12dpdk: Add build related keywords for failsafe PMDRui Cai1-0/+1
Added build related keywords for TAP, FAILSAFE PMD and also added some missing keywords for mlx4 PMD This is part of initial effort to enable vpp running over dpdk on failsafe PMD in Microsoft Azure (1/4). Change-Id: I2aebf209fbc6db030185f41971b51a593a003a3a Signed-off-by: Rui Cai <rucai@microsoft.com>
2018-05-04build-data: Common makefile for NXP DPAA1/DPAA2 platformsSachin Saxena2-66/+87
- Same makefile will be used to support DPAA1 and DPAA2 platforms. - Support added to have both on Host compilation as well as Cross compilation. - If Cross compiling, by default NXP cutomized toolchain "aarch64-fsl-linux" will be used. To use Linaro toolchains, please set env variable CROSS_PREFIX. Like: export CROSS_PREFIX=aarch64-linux-gnu - Added CPU_MTUNE to modify xxx_mtune , if CPU is not A72 which is default. - You may set DPDK_PATH to dpdk installation folder, if wish to use locally compiled DPDK. - In case of Cross compilation, OPENSSL_PATH will be required to include OPENSSL libs. Change-Id: I9057dfc57522b60e306810f684b3085bfccf85e9 Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
2018-04-27Move VOM to extras/vomDamjan Marion1-5/+1
Change-Id: Iea174f03dfba3bd06024db0f0cc373532300dcae Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-12License text cleanupDave Barach1-0/+13
Change-Id: I105375c653b1a1dce8f0f71005b281ff137c6f42 Signed-off-by: Dave Barach <dave@barachs.net>
2018-01-10makefile set CXXFLAGS so they are propageted to sub-buildsNeale Ranns1-0/+3
Change-Id: I55d9953851062f7106c66701d46bcd9073cf1ee4 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2017-11-11Handle CPU flags from autotools projectDamjan Marion1-31/+13
Change-Id: Id085c1e3cbc7bf03df02755f9e35896cdb57e9e3 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-11-06Add --disable-vom config optionDave Barach1-1/+7
The vpp object model consumes more than half of the entire [initial] build time, so it's worth adding a config option. Change-Id: I86ad41f78160d93835804235b8b4a3fc7988f2f7 Signed-off-by: Dave Barach <dave@barachs.net>
2017-08-14dpdk: cleanup unused build option *_uses_dpdk_cryptodev_swSergio Gonzalez Monroy1-1/+0
Change-Id: I62939592bd3cb151e02c55a3f1ee6e7d1ce469cb Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-07-17Fix unlinking of /dev/shm files.Dave Wallace1-1/+1
- api-segment prefix not used when unlinking shm files - unlink root region on exit if no clients referenced - stale reference to freed segment name - don't add fake client to /db unless CLIB_DEBUG > 2 - turn off the gmond plugin - clean up unused vars in vpp/api Change-Id: I66451fcfd6ee64a12466c2d6c209050e3cdb74b7 Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Signed-off-by: Dave Barach <dave@barachs.net>
2017-05-09Fix remaining 32-bit compile issuesDamjan Marion1-0/+5
Change-Id: I9664214652229b663c3e3ba7406b4ede96bfb123 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-25Add support for 32-bit x86 compilation in MakefilesDamjan Marion1-2/+5
Change-Id: Ida73678b47b685abef4e81b5cad9fc13eb330850 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-10Retire vpp_liteDamjan Marion2-55/+0
vpp_lite platform is not needed anymore as same efect can be achieved with following startup.conf config: plugins { plugin dpdk_plugin.so { disable } } Change-Id: I690ea8ceb1c6e1fe32e01e7da54e9958019a93bf Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-02-07Multiple platofrm support for dpdk/Makefile, fix optimizationsDamjan Marion2-39/+0
Using -march=native was causing SIGILLs on Atoms. Change-Id: I98c7fdaa139e3db70c972950dc9c167bf5803656 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-01-31Prep work for Coverity upload processing via JenkinsDave Barach1-0/+6
Change-Id: I2575d780d19e12ddf8a77e5596e5d7cc3dbf4233 Signed-off-by: Dave Barach <dave@barachs.net>
2017-01-27dpdk: rework cryptodev ipsec build and setupSergio Gonzalez Monroy1-1/+1
Build Cryptodev IPsec support by default when DPDK is enabled but only build hardware Cryptodev PMDs. To enable Cryptodev support, a new startup.conf option for dpdk has been introduced 'enable-cryptodev'. During VPP init, if Cryptodev support is not enabled or not enough cryptodev resources are available then default to OpenSSL ipsec implementation. Change-Id: I5aa7e0d5c2676bdb41d775ef40364536a081956d Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-01-16Add --without-libssl configure parameterDamjan Marion4-10/+10
This replaces --without-ipsec and --without-ipv6sr and allows other parts of the code to be disabled if libssl is not available. Change-Id: Id97ff3685a7924d7f86622952e0405d94ceb5957 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-01-10Added a sub-case to take into Thunderx platformMarco1-0/+7
Change-Id: Ib440414693af6fe29ffaf78fc3b2992911afbcc6 Signed-off-by: Marco <marco.varlese@suse.com>
2017-01-01Move java,lua api and remaining plugins to src/Damjan Marion2-4/+2
Change-Id: I1c3b87e886603678368428ae56a6bd3327cbc90d Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-28Reorganize source tree to use single autotools instanceDamjan Marion2-5/+2
Change-Id: I7b51f88292e057c6443b12224486f2d0c9f8ae23 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-26dpdk: Add support for Mellanox ConnectX-4 devicesDamjan Marion1-0/+1
Due to external library dependency support for Mellanox devices is disabled. To enable it uncoment following line: vpp_uses_dpdk_mlx5_pmd = yes in build-data/platforms/vpp.mk and install OFED libraries. Change-Id: I131d52b5d449a958349f31f9cc04311948f78b71 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-09Add make test code coverage reporting using gcovJuraj Sloboda1-0/+5
Change-Id: Ia8247841fdbe76e1d888aab49ae213b4216af273 Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-11-28dpdk: add ipsec cryptodev supportSergio Gonzalez Monroy1-0/+1
DPDK Cryptodev support and related IPsec ESP nodes using DPDK Cryptodev APIs. When DPDK Cryptodev support is enabled, the node graph is modified by adding and replacing some of the nodes. The following nodes are replaced: * esp-encrypt -> dpdk-esp-encrypt * esp-decrypt -> dpdk-esp-decrypt The following nodes are added: * dpdk-crypto-input : polling input node * dpdk-esp-encrypt-post : internal node * dpdk-esp-decrypt-post : internal node Change-Id: I6dca9a890abaf4fb2a4fffce3fd08ac013e4d701 Signed-off-by: Zhang, Roy Fan <roy.fan.zhang@intel.com> Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2016-11-12Add clang to 'make verify'Damjan Marion1-0/+5
Change-Id: I9ba84632da93ffb7713064db51f2888fc212713a Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-08-29VPP-310 Mapping algorithm compute wrong ea-bitsOle Troan1-0/+3
Mapping of IPv4 prefixes ended up writing past IPv6 prefix + EA bits length. (Added some unit testing code). Change-Id: I59893b44eea5cebf00a23afc405832741f84cf4f Signed-off-by: Ole Troan <ot@cisco.com>
2016-08-12VPP: NXP dpaa2 platform porting to dpdk-16.07Sachin1-7/+7
This patch will temporary add the "dpaa2" driver support in VPP in-built DPDK v16.07 Change-Id: Ieb7005c73bdb72e5eac88e17c21474479ad087f0 Signed-off-by: Sachin <sachin.saxena@nxp.com>
2016-07-21VPP-123: remove japi (the old Java API)Marek Gradzki1-1/+1
MANUAL_JAVA flag (used only by the japi) was also removed. Change-Id: Ied21521b2410af1c357afb04cbf9e849632ddc5f Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-07-13Add plugins debian packagingDamjan Marion1-1/+1
New debian package "vpp-plugins" is created with enabled plugins. Change-Id: I8920178e8874f12e075858001ec44257dfaf497d Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-08Multiple changes in the plugin build infraDamjan Marion1-3/+1
- configure.ac - some plugins are enabled by default - Plugin .so files are placed into corresponding subdirs - WITH_PLUGIN_TOOLKIT macro is retired - not needed anymore - plugins/build-data is removed - plugin makefiles are not building static libs anymore - plugin makefiles are not installing header files to /usr/include anymore Change-Id: I55681bd9ce34811f7eb1b2b24d9f0ca42df1cf04 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-06Retire PLATFORM=virlDamjan Marion1-42/+0
Change-Id: Iaf9735258f456574534c1a581b983326badea171 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-01Simple ip4 NAT pluginDave Barach1-0/+4
Change-Id: Iffe77bf2a05ced41474540ff54a842101aad7c41 Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-28Fix native build on non x86_64 systemsDamjan Marion2-0/+11
Change-Id: Iab9f6793112f19a5b54a555623d84099aa8bb03e Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-27Plugins: Clean up the plugin directory so that each plugin has its ownOle Troan5-10/+10
directory and GNU autotools setup. Change-Id: I6c59d1297389c9413db0c0b9bdf3b759080bf1b8 Signed-off-by: Ole Troan <ot@cisco.com>
2016-06-19Improving cross_ldflags arguments for dpaa2 platformSachin1-1/+2
- This helps in avoiding manual export of LD_LIBRARY_PATH for /usr/lib64/ Change-Id: I15fc9c9f961848411b093c891ca9517ef4e074a0 Signed-off-by: Sachin <sachin.saxena@nxp.com>
2016-06-17NXP DPAA2 Poll Mode Driver Support in DPDKSachin1-4/+6
Upstreaming of DPAA2 driver changes is in progress.This patch will temporary add the support in VPP in built DPDK. Two types of changes: 1. Driver specfic independent files. No impact on any other functionality. 2. Changes in common EAL framework. These changes are done in compile time DPAA2 specific flag, so no impact is expected on other existing features if not compiling for DPAA2. Change-Id: I02abe7189313835b51ff654b4d7e566bc0fb8327 Signed-off-by: Sachin <sachin.saxena@nxp.com>
2016-06-10NXP dpaa2 platform initial supportSachin Saxena1-0/+63
- On ARMv8 aarch64 CPU - TARGET is aarch64-linux-gnu - Cross compilation enabled with "gcc-linaro-4.9" toolchain make PLATFORM=dpaa2 TAG=dpaa2 ... Change-Id: I8faf5c8b0d3c81d33a2834c6429a05c8379309c1 Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
2016-05-19Add support for multiple microarchitectures in single binaryDamjan Marion2-4/+9
* compiler -march= parameter is changed from native to corei7 so code is always genereted with instructions which are available on the Nehalem microarchitecture (up to SSE4.2) * compiler -mtune= parameter is added so code is optimized for corei7-avx which equals to Sandy Bridge microarchitecture * set of macros is added which allows run-time detection of available cpu instructions (e.g. clib_cpu_supports_avx()) * set of macros is added which allows us to clone graph node funcitons where cloned function is optmized for different microarchitecture Those macros are using following attributes: __attribute__((flatten)) __attribute__((target("arch=core-avx2))) I.e. If applied to foo_node_fn() macro will generate cloned functions foo_node_fn_avx2() and foo_node_fn_avx512() (future) It will also generate function void * foo_node_fn_multiarch_select() which detects available instruction set and returns pointer to the best matching function clone. Change-Id: I2dce0ac92a5ede95fcb56f47f3d1f3c4c040bac0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-17dpdk/Makefile - Allow dpdk target to be set according to the platformChristophe Fontaine1-3/+11
Allows DPDK parameters to be overriden from the platform definition. $(PLATFORM)_dpdk_arch = "armv7a" $(PLATFORM)_dpdk_target = "arm-armv7a-linuxapp-gcc" $(PLATFORM)_dpdk_make_extra_args = "CONFIG_RTE_EAL_IGB_UIO=y" Change-Id: I8c0f233942744cb82ca3ed2d65e33acee845cb4e Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-04-20Python-API: Inital commit of Python bindings for the VPP API.Ole Troan3-3/+3
See: https://wiki.fd.io/view/VPP/Python_API Change-Id: If135fc32208c7031787e1935b399d930e0e1ea1f Signed-off-by: Ole Troan <ot@cisco.com>
2016-04-20Add TAG=vpp_gcov which compiles vpp to produce .gcda filesDave Barach1-0/+5
Change-Id: Ib6a0940e08f9e0983f3ec70f9e8488c2185ca4da Signed-off-by: Dave Barach <dave@barachs.net>
2016-04-18Add support for AArch32Christophe Fontaine1-0/+37
gcc version 4.9.2 (Raspbian 4.9.2-10) Tested on Linux raspberrypi 4.4.6-v7+ #875 SMP Tue Apr 12 16:33:02 BST 2016 armv7l GNU/Linux CPUs may be little or big endian, detect with gcc flags, not the processor architecture Add a new flag $(PLATFORM)_uses_openssl which allows to disable the link with openssl lib. vlib/vlib/threads.c: startup.conf must: - specify the heapsize as we don't have hugepages on raspbian cpu { main-core 3 } heapsize 64M Corrects in various files the assumption uword == u64 and replaces 'u64' cast with 'pointer_to_uword' and 'uword_to_pointer' where appropriate. 256 CPUs may create an OOM when testing with small memory footprint ( heapsize 64M ), allows the number of VLIB_MAX_CPUS to be set in platforms/*.mk vppinfra/vppinfra/longjmp.S: ARM - copy r1 (1st parameter of the setjmp call) to r0 (return value) vppinfra/vppinfra/time.h: On ARMv7 in AArch32 mode, we can access to a 64bit register to retreive the cycles count. gcc on rpi only declare ARM_ARCH 6. Override this info, and check if it is possible to use 'mrrc'. /!\ the time function will NOT work without allowing the user mode access to the PMU. You may download the source of the kmod here: https://github.com/christophefontaine/arm_rdtsc Change-Id: I8142606436d9671a184133b935398427f08a8bd2 Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-04-11Add configure option to enable building unit testsDamjan Marion1-0/+3
Same template should be used for other libs... Change-Id: Icc771cb6b243d215f30fb51c0dbc028e497a74c6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-01Add options to link with external DPDK treeDamjan Marion1-1/+6
By uncommenting following lines in the build-data/platforms/vpp.mk VPP links nicely with packaged DPDK 2.2 distributed with Ubuntu 16.04 LTS. vpp_uses_external_dpdk = yes vpp_dpdk_inc_dir = /usr/include/dpdk vpp_dpdk_lib_dir = /usr/lib vpp_dpdk_shared_lib = yes Change-Id: Id5b7d95bac6aa60341933b92e86d949a9abf1a5d Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-25Use rte_mempool private data for storing vlib_buffer_tDamjan Marion2-4/+0
Change-Id: If3fc88a35bc0b736376113a39667caea42802ea1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-26Update PowerPC (qppc) platform to build with Ubuntu cross-toolsDamjan Marion1-11/+22
Standard Ubuntu PowerPC toolchain can be installed with: apt-get install crossbuild-essential-powerpc And code can be built with: make PLATFORM=qppc TAG=qppc ... Change-Id: I247355fc89fd61aedb8693156e84c454ca86eb75 Signed-off-by: Damjan Marion <damarion@cisco.com>