Otherwise, gcov data vanishes without a trace.
Add a __gcov_flush() call to the unix signal handler, under #ifdef
CLIB_GCOV. Add -DCLIB_GCOV to vpp_gcov_TAG_CFLAGS.
Change-Id: I2726e671b26dfbe7fae88f46a8207bb2b5106884
Signed-off-by: Dave Barach <dave@barachs.net>
As part of JVPP migration this removes JVPP completely from VPP.
Change-Id: I6b74e7961aa474ae471e63fe43a624cd9fc3659b
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
It significantly increases link time, and slows down VPP startup.
Change-Id: I200448212a3254b1292d4e52d2751214240e2bc4
Signed-off-by: Damjan Marion <damarion@cisco.com>
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>
- 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>
- 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>
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>
- 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>
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>
- 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>
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>
Using -march=native was causing SIGILLs on Atoms.
Change-Id: I98c7fdaa139e3db70c972950dc9c167bf5803656
Signed-off-by: Damjan Marion <damarion@cisco.com>
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>
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>
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>
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>
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>
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>
MANUAL_JAVA flag (used only by the japi)
was also removed.
Change-Id: Ied21521b2410af1c357afb04cbf9e849632ddc5f
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
New debian package "vpp-plugins" is created with enabled plugins.
Change-Id: I8920178e8874f12e075858001ec44257dfaf497d
Signed-off-by: Damjan Marion <damarion@cisco.com>
- 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>
- This helps in avoiding manual export of
LD_LIBRARY_PATH for /usr/lib64/
Change-Id: I15fc9c9f961848411b093c891ca9517ef4e074a0
Signed-off-by: Sachin <sachin.saxena@nxp.com>
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>
* 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>