179 Commits

Author SHA1 Message Date
Paul Vinciguerra
8e7ba4ad12 Trivial: Fix Makefile typo
Change-Id: Ia108b0359cb2dc4ba2e773117ee7134274a98056
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-10-26 19:35:08 +00:00
Damjan Marion
2bfb9e15d8 Run 'make test' verify job on ubuntu 18.04 instead of 16.04
Change-Id: If570bb8cc19b2eab5877a20c963e27e410ee7560
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-10-25 13:35:26 +00:00
jdenisco
3138d72309 Add the sphinx docs build options
Change-Id: If7ac5b41ca4ac602a100b616b37d07f658fd6a90
Signed-off-by: jdenisco <jdenisco@cisco.com>
2018-09-24 21:37:00 +00:00
Damjan Marion
4a6cb83d33 rename vpp-dpdk-dev to vpp-ext-deps
We need to have new tenants in the development package.
This is first of series of patches which will allow us to have multiple
external libs and tools packaged for developer's convenience.

Change-Id: I884bd75fba96005bbf8cea92774682b2228e0e22
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-20 14:30:54 +02:00
Damjan Marion
855e26868f Switch to cmake
Change-Id: I982b69390c55b5ffbd744f355efc0aaf425b360c
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-02 11:24:12 +02:00
Damjan Marion
3ea2d6c130 cmake: keep 'make test-debug' on autotools for now
Change-Id: Ia073a0e13da174d434f6562efe0833ee35ea40e2
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-23 18:06:01 +00:00
Ed Kern
6604ddea99 Makefile: opensuse 15.0 reporting change
A change in /etc/os-release reporting for opensuse leap15.0
means this change is required so that builds are allowed.

Change-Id: I35fb55a4c63b5d6d9d313c7e75ff6b039280df96
Signed-off-by: Ed Kern <ejk@cisco.com>
2018-08-21 07:09:10 +00:00
Marco Varlese
23722e6bfa cmake: add packages for opensuse
Change-Id: I6fd9090c59a8b2b3bdfb0c3a217e69c513bfaeed
Signed-off-by: Marco Varlese <marco.varlese@suse.de>
2018-08-20 15:02:50 +00:00
Damjan Marion
612dd6a955 CMake as an alternative to autotools (experimental)
Change-Id: Ibc59323e849810531dd0963e85493efad3b86857
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-17 22:14:39 +00:00
Damjan Marion
cc4a5e8089 Move java api to extras/
Change-Id: Ibd5cbbdfb22a235442cddaebc9eae9a3c4e35ec9
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-01 20:28:53 +00:00
Neale Ranns
b7d41fc18e make test-ext: a new test target that builds VOM (existing one no longer do)
Change-Id: If590e90b2a1c3b884863ec15a92ea4353ac9eb7c
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-07-22 21:16:55 +00:00
Damjan Marion
005849ec34 Set default STARTUP_DIR to be toplevel dir
Change-Id: I5ccc5f1770ab1f8fb9c4824395f4ee6d48346410
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-19 15:24:56 +00:00
Marco Varlese
6922040caf openSUSE: add python2-ply dependency
Change-Id: I39ad69975e34bf11d3c009ad705157ceefa43fb9
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-07-04 17:36:48 +00:00
Marco Varlese
19be50ed9f Allow openSUSE tumbleweed
Change-Id: I2ab7f5d2a30620b12bd345d6102a3d381ee5d5ec
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-05-17 16:21:12 +00:00
Damjan Marion
164e5f8c63 Move VOM to extras/vom
Change-Id: Iea174f03dfba3bd06024db0f0cc373532300dcae
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-04-27 11:35:07 +00:00
Ed Kern
947fe5e8af Makefile: Add new opensuse-leap os id
Newer opensuse no longer reports in /etc/os-release
as opensuse.  It refers to itself as opensuse-leap.
I imagine they think that sounds cooler or something.

Change-Id: I12c721c7950101070dd8b58b627fb0e601cb8844
Signed-off-by: Ed Kern <ejk@cisco.com>
2018-04-26 17:13:17 -06:00
Ed Kern
e9be71534b Makefile: Removed clang build from verify
Removed clang build from main verify since that will be driven
in a seperate job going forward

Change-Id: I6efcad0b99fcc6babc4a7eb1475c99816f2cf175
Signed-off-by: Ed Kern <ejk@cisco.com>
2018-04-16 14:54:32 +00:00
Ed Kern
e3ae09f8a3 Makefile: Added new ifeq to cover opensuse leap15
So current makefile covers opensuse tumbleweed and
current opensuse leap 12.3.  Neither of these cover
new leap 15 package naming.  Cannot only use Name
or ID do to release differences.

Change-Id: I7ffcabb3a5af5b0789ba827209355050f6dc5204
Signed-off-by: Ed Kern <ejk@cisco.com>
2018-04-10 11:04:10 +00:00
Damjan Marion
72d2c4f371 plugins: unload plugin if early init fails
Change-Id: I32f68e2ee8f5d32962acdefb0193583f71d342b3
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-04-09 16:06:20 +00:00
Damjan Marion
67d4c24b0a Autodetect plugin path
dpdk plugin self-disables if there are no hugepages available

Change-Id: Ib286e1a370deeb21248e6e961573ef9c68759b4c
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
2018-04-09 13:33:06 +00:00
Thomas F Herbert
6673178d48 Remove subunit from Centos requirements.
JIRA: VPP-1229

Subunit and Subunit-devel in Fedora and Epel but not Centos.
This patch moves the Fedora from the Centos specific requirements.

Change-Id: I093a4571cddf14af5ee2827ba8ee00c7bcbe6fc0
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2018-04-08 13:34:07 +00:00
Thomas F Herbert
5f56c091ce Remove mbedtls from build requirement for Centos
Although mbedtls is in Fedora and Epel, it is not
in Centos yet. It is not strictly necessary for TLS
which also can use openssl.

Change-Id: Id62d52000f9ecda2fc10d1938f02be1142fa5bdb
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2018-04-06 02:56:03 +00:00
Ed Kern
56ccc23fbc Makefile: Alter VPP_PYTHON_PREFIX for preloading deps
Allow setting of VPP_PYTHON_PREFIX to alternate location
so the python prereqs can be installed into base image
Also added test-dep trigger to isolate dependency install
from actual test run

Change-Id: Ia80f5dbf71bc24eb46cd6586bcadd474ef822704
Signed-off-by: Ed Kern <ejk@cisco.com>
2018-04-03 19:58:00 +00:00
Damjan Marion
23d4e8a6b5 Build libmemif as part of verify job
Change-Id: I7e808b5bcbb74343a4ed6782f115ed07e9bfe3a6
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-03-28 13:41:15 +00:00
Damjan Marion
55f99675e5 remove bootstrap from top-level Makefile
Change-Id: I9f2a1ba9153ff57958b230a1ba2afeb9df50fd45
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-15 22:14:55 +01:00
Damjan Marion
92b44ea50a use system provided ccache links
Change-Id: I0860bbd0cf368fc3638b861504ebf642ee9d3807
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-15 02:09:05 +01:00
Damjan Marion
9d7a7ba366 fix 'make build'
Change-Id: I4ec24ffd39f83d9c2d4115e7a06a5eb84a08aae8
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-14 20:58:39 +01:00
Dave Barach
5a72e425f9 Clean up vpp build bootstrap step
Net of rewriting vppapigen in python-ply, there's no need to compile
vppinfra.

Install a copy of vppapigen in .../build-root/tools/bin, so
the sample plugin build will work. Rationalize suffix-rules.mk.

Add clang, clang++ links to .../build-root/ccache-bin.

Change-Id: Ib4017848b7767b6054238ea544ee5319667c3659
Signed-off-by: Dave Barach <dave@barachs.net>
2018-03-14 19:06:16 +00:00
Florin Coras
371ca50a74 session: first approximation implementation of tls
It consists of two main parts. First, add an application transport type
whereby applications can offer transport to other applications. For
instance, a tls app can offer transport services to other applications.
And second, a tls transport app that leverages the mbedtls library for
tls protocol implementation.

Change-Id: I616996c6e6539a9e2368fab8a1ac874d7c5d9838
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-03-02 12:54:31 +00:00
Billy McFall
28cf3b7da2 VPP-899: Run VPP under SELinux
Add an SELinux profile such that VPP can run under SELinux on RPM based
platforms. The SELinux Policy is currently only implemented for RPM
packages, specifically, Fedora, CentOS and RHEL. Doxygen User
Documentation has been included (selinux_doc.md). Once some discussion
on file locations has completed (see vpp-devlist), updates to the Debug
CLI documentation will also need to be updated.

Additional changes:
Patch Set 2:
- Rework selinux_doc.md such that each line is only 80 characters
  instead of each sentence on a line. Made additonal minor chnages
  to the text.
- Update vHost Debug CLI documentation to reflex new socket location.
  Cleaned up some text from when I originally wrote it, to better
  reflex proper use.
- Update exec Debug CLI documentation to be more inline with suggested
  helptext, added text regarding recommended script file location.
- For Debian builds, create the /var/log/vpp/ directory. I don't use
  Debian very much, so please pay extra attention to
  build-data/platforms.mk and build-root/deb/debian/.gitignore.
- Per discussion on VPP call, changed the default log location to
  /var/log/vpp/vpp.log.
- Changed the socket location for vHost in AutoConfig to
  /var/run/vpp/.
Patch Set 3:
- Update selinux_doc.md based on comments.

Change-Id: I400520dc33f1ca51012d09ef8fe5a7b7b96c631e
Signed-off-by: Billy McFall <bmcfall@redhat.com>
2018-01-30 13:26:20 +00:00
Gabriel Ganne
b295782c02 fixup python ply package name for fedora >= 25
package name is:
 * python-ply for centos7/rhel7
 * python2-ply / python3-ply for fedora >= 25

Change-Id: Id021802a46a0cc29e9db57e18841a76575437002
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
2018-01-25 10:05:18 +01:00
Jon Loeliger
28227ad316 Makefile: Add python-ply to RPM_DEPENDS list.
Change-Id: I1bbb29ec2303f87c0053691fc157a747bff1626d
Signed-off-by: Jon Loeliger <jdl@netgate.com>
2018-01-24 13:47:46 -06:00
Ole Troan
9d42087149 VPPAPIGEN: vppapigen replacement in Python PLY.
This is a version of the VPP API generator in Python PLY. It supports
the existing language, and has a plugin architecture for generators.
Currently C and JSON are supported.

Changes:
 - vl_api_version to option version = "major.minor.patch"
 - enum support
 - Added error checking and reporting
 - import support (removed the C pre-processor)
 - services (tying request/reply together)

Version:
 option version = "1.0.0";

Enum:
 enum colours {
   RED,
   BLUE = 50,
 };
 define foo {
  vl_api_colours_t colours;
 };

Services:
 service {
  rpc foo returns foo_reply;
  rpc foo_dump returns stream foo_details;
  rpc want_stats returns want_stats_reply
      events ip4_counters, ip6_counters;
 };

Future planned features:
 - unions
 - bool, text
 - array support (including length)
 - proto3 output plugin
 - Refactor C/C++ generator as a plugin
 - Refactor Java generator as a plugin

Change-Id: Ifa289966c790e1b1a8e2938a91e69331e3a58bdf
Signed-off-by: Ole Troan <ot@cisco.com>
2018-01-23 13:03:53 +00:00
Marco Varlese
fedc455b6c Simplify packages dependency
Change-Id: I3d93f74419269448731e66708443625f43925baf
Signed-off-by: Marco Varlese <marco.varlese@suse.de>
2017-12-12 16:39:26 +00:00
Marco Varlese
b328f36d08 Tests clean-up when cleaning VPP code.
Tests are not cleaned when running "make wipe". However, it makes sense
to clean tests too since the "tested code" has been wiped and - likely -
will be rebuilt with new/extra features/requirements.

Change-Id: I34cc188e78f51d327f78f3d43cea5a82fdc6fb25
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-11-23 13:24:18 +00:00
Gabriel Ganne
b8bbd6521f subunit is required on centos as well as fedora
Remove fedora dependency restriction on subunit and subunit-devel packages.
libsunit is only called in test/ext/Makefile on all platforms safe opensuse.

Change-Id: I483f42f20f6ba8bd112c18a9c51753a5d816d1c1
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
Signed-off-by: Romain Ly <romain.ly@enea.com>
2017-11-17 08:39:06 +00:00
Gabriel Ganne
eb9e6b6f07 add libffi-dev to DEB_DEPENDS
Package is already in the RPM_DEPENDS list, and is required for test-* targets

Change-Id: I3846e68855402b50a51adf3daf218e0244562cd6
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
2017-11-15 14:50:27 +00:00
Klement Sekera
a3d933c87f make test: add CACHE_OUTPUT option
This option allows one to toggle whether captured VPP stdout/stderr
output is printed inline (each line logged immediately after being
collected). Default setting is 0/no (behaviour same as before).

This allows one to see the output in case of vpp crashing during test
run even if test framework gets stuck waiting for shared memory mutex
(which crashed vpp can no longer unlock).

Complete stdout/stderr output is always printed as a block to the
logger after test finishes.

Change-Id: If3645a9b85562dba26ed9c87daa27ea5ef34f2e5
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-11-06 19:32:07 +00:00
Sergio Gonzalez Monroy
6184db357d dpdk: build nasm from source
As not all distros have the minimum required nasm version (2.12.01)
available, build nasm from sources when building Intel IPsec MB library.

Change-Id: Iaa9da87f612c0f84da5704162c3bf430b3351076
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-11-05 11:35:12 +00:00
Neale Ranns
812ed39f9d VPP Object Model (VOM)
The VOM is a C++ library for use by clients/agents of VPP for programming
state. It uses the binary APIs to do so. Various other common client side
functions are also provided. Please see om.hpp for a more detailed description.

Change-Id: Ib756bfe99817093815a9e26ccf464aa5583fc523
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Co-authored-by: Mohsin Kazmi <sykazmi@cisco.com>
2017-11-01 09:28:06 +00:00
Marco Varlese
db41776a92 opensuse support: reworked SUSE DEPS variables
Change-Id: I782541719db59daf02f0a7bd2842384dfe42c32a
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-10-25 23:43:41 +00:00
Thomas F Herbert
e41289115f Deps added to Makefile must also be in spec file.
Deps are required for Fedora too.

This patch is merged in version stable/17.10.
It should also be merged in master because it
fixes breaking rpm builds in some circumstances.

JIRA: VPP-1015

Cherry-picked from stable/1710

Change-Id: I10807069742cdd6b09a0f34d9d05e9cae4146ec3
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2017-10-14 09:12:12 +00:00
Brian Brooks
40b655c370 Use AESNI=y only on x86_64 machines
This fixes the native build on arm64 machines.

Change-Id: I89bff01beedb4c8e26ac55fab2dd1ed39754bf26
Signed-off-by: Brian Brooks <brian.brooks@arm.com>
Reviewed-by: Ola Liljedahl <ola.liljedahl@arm.com>
2017-10-14 09:09:57 +00:00
Marco Varlese
5f1231c5c2 Remove libsubunit 'dependency' for openSUSE and fix NASM
This patch addresses the unrequired dependency on libsubunit for
opensuse; it also adds the required new dependency on check (add
check-devel to the top-level Makefile).
It adds some extra logic to install the correct NASM version to support
AESNI.

Change-Id: Ie368dd8f8485a67ab125e735fd12cbe25b9b588f
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-10-12 15:08:04 +00:00
Damjan Marion
a472f868d6 test: retry 3 times if test fails during verify
Change-Id: Ib1cb7f09c444f3667904eade935eb220f327b6fe
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-10-11 20:05:34 +00:00
Marco Varlese
50ec721119 openSUSE packages fix.
Adding the capability for CLANG for various opensuse distros.
Added rpm-build package to build RPMs.
Tiny edit for correct error message.

Change-Id: I96a1e009d1daa44cbf8d0df60fc24091a50688d7
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-10-10 13:28:13 +00:00
Marco Varlese
9bce0f6d7c Packages dependencies: added clang3_8 and indent packages
Change-Id: I4ed2d5f7e743369e2a41cfcb93b016d928cfed95
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-10-04 15:03:12 +00:00
Klement Sekera
6b6bd9d0b2 checkstyle: add clang-format dependency, fix bug
Change-Id: I608d3b73700d57652b015a9fc09300e99386a37f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-10-04 15:02:29 +00:00
Klement Sekera
d3e671e0db make test: fix/disable VAPI tests on centos
Workaround old `check' library on centos.
Disable building/running of C++ VAPI test as centos's gcc can't compile
our C++ code (vapi.hpp) due to bug.

Change-Id: If9da9c7f1bc076f7cdfb9bd3016dfe60a08afa36
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-09-29 12:59:19 +02:00
Klement Sekera
958b750cea drop python3 dependency
Change-Id: I99c2c1d0d5b96f33efdb58dd3a2897a752e65349
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-09-28 06:31:53 +02:00