27 Commits

Author SHA1 Message Date
Damjan Marion
374e2c5fc3 Retire vpp_lite
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-03-10 19:35:49 +00:00
Damjan Marion
78edb8e722 Multiple platofrm support for dpdk/Makefile, fix optimizations
Using -march=native was causing SIGILLs on Atoms.

Change-Id: I98c7fdaa139e3db70c972950dc9c167bf5803656
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-02-07 20:24:49 +00:00
Dave Barach
3ad7704fbb Prep work for Coverity upload processing via Jenkins
Change-Id: I2575d780d19e12ddf8a77e5596e5d7cc3dbf4233
Signed-off-by: Dave Barach <dave@barachs.net>
2017-01-31 20:40:11 +00:00
Sergio Gonzalez Monroy
d04b60bfa9 dpdk: rework cryptodev ipsec build and setup
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-27 20:52:17 +00:00
Marco
6ebca6c0fa Added a sub-case to take into Thunderx platform
Change-Id: Ib440414693af6fe29ffaf78fc3b2992911afbcc6
Signed-off-by: Marco <marco.varlese@suse.com>
2017-01-10 15:53:50 +00:00
Damjan Marion
cb034b9b37 Move java,lua api and remaining plugins to src/
Change-Id: I1c3b87e886603678368428ae56a6bd3327cbc90d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-01-01 18:11:43 +01:00
Damjan Marion
7cd468a3d7 Reorganize source tree to use single autotools instance
Change-Id: I7b51f88292e057c6443b12224486f2d0c9f8ae23
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-28 12:25:14 +01:00
Damjan Marion
696f1adec0 dpdk: Add support for Mellanox ConnectX-4 devices
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-26 14:53:35 +00:00
Sergio Gonzalez Monroy
a10f62b11e dpdk: add ipsec cryptodev support
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-28 11:29:50 +00:00
Damjan Marion
e30872e660 Add clang to 'make verify'
Change-Id: I9ba84632da93ffb7713064db51f2888fc212713a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-12 18:55:49 +00:00
Damjan Marion
ad476c7861 Add plugins debian packaging
New debian package "vpp-plugins" is created with enabled plugins.

Change-Id: I8920178e8874f12e075858001ec44257dfaf497d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-13 13:42:39 +02:00
Damjan Marion
905a7f5520 Multiple changes in the plugin build infra
- 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-08 10:43:38 +00:00
Dave Barach
20c02cb133 Simple ip4 NAT plugin
Change-Id: Iffe77bf2a05ced41474540ff54a842101aad7c41
Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-01 18:20:13 +00:00
Damjan Marion
154d445f7f Fix native build on non x86_64 systems
Change-Id: Iab9f6793112f19a5b54a555623d84099aa8bb03e
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-28 19:10:41 +02:00
Damjan Marion
1c80e831b7 Add support for multiple microarchitectures in single binary
* 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-19 18:14:38 +02:00
Ole Troan
6855f6cdfe Python-API: Inital commit of Python bindings for the VPP API.
See: https://wiki.fd.io/view/VPP/Python_API

Change-Id: If135fc32208c7031787e1935b399d930e0e1ea1f
Signed-off-by: Ole Troan <ot@cisco.com>
2016-04-20 16:50:29 +00:00
Dave Barach
ec177abc1a Add TAG=vpp_gcov which compiles vpp to produce .gcda files
Change-Id: Ib6a0940e08f9e0983f3ec70f9e8488c2185ca4da
Signed-off-by: Dave Barach <dave@barachs.net>
2016-04-20 03:13:54 +00:00
Damjan Marion
c47e979674 Add configure option to enable building unit tests
Same template should be used for other libs...

Change-Id: Icc771cb6b243d215f30fb51c0dbc028e497a74c6
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-11 13:03:30 +00:00
Damjan Marion
28e3db9dd6 Add options to link with external DPDK tree
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-04-01 15:22:15 +00:00
Damjan Marion
1901020228 Use rte_mempool private data for storing vlib_buffer_t
Change-Id: If3fc88a35bc0b736376113a39667caea42802ea1
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-25 20:55:15 +00:00
Damjan Marion
e936bbe594 Add support for native vpp_lite (non-dpdk) platform
Change-Id: Icaa71957f67b923bc9795baa78c7495055615672
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-26 13:17:30 +01:00
Dave Barach
20abdd9b02 Compile with -Werror, so Jenkins will catch warnings
Change-Id: I9255c75b6c6cbc638cdcc411632a924cb06f28c0
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-10 09:14:36 -05:00
Dave Barach
b10277dedc Enable ganglia module integration build
Change-Id: Ia49e9f246e8318ba74195c3397472fb0c102389b
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-02 21:36:00 +00:00
Damjan Marion
f750ac2b79 Move vppctl to vpp-api-test
Change-Id: I4af0eb9c09d14a1a9803cf1b25bc3d7b814c82cc
Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-16 20:53:30 +01:00
Ed Warnicke
c72cbf80d0 Add vppctl as a simple cli interface to vpp
This patch provides a pretty simple hack on top
of vpe_api_test to give users a cli interface
to vpp.

Example:

sudo vppctl show api client
sudo vppctl show int

It has the advantage that users can use bash shell scripting
and history with it.

Change-Id: I621dd8e29269e14a83b4887f20adcfbe5f946b99
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2015-12-16 05:50:11 -07:00
Damjan Marion
29b6af9f97 Remove vppversion subtree, move elftool to vppinfra
Change-Id: I26b29a0f53f81a28cbf264f5299f9a3978735574
Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-15 10:07:31 +01:00
Ed Warnicke
cb9cadad57 Initial commit of vpp code.
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2015-12-08 15:47:27 -07:00