212 Commits

Author SHA1 Message Date
Paul Vinciguerra
2648e4474e build: add option to wipe/rebuild papi
Previously, the only option was to wipe/rebuild all the test dependencies.

Type: make

Change-Id: Ia95d6e800f67bef033dcf614dbfa249c3e43159d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-07-28 14:21:05 +00:00
Paul Vinciguerra
9529feb452 build: add targets for json api files
Type: make
Ticket: VPP-1715

Change-Id: I78497d679d9e793b47a06a0c5cb3b12d86b08489
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-07-17 13:41:02 +00:00
Dave Wallace
7b8a30d08b build: separate pkg builds from verify target
- This patch is required to eliminate the use
  of .../vpp/extras/vagrant/build.sh by other
  projects in order to build VPP packages for
  verification/integration testing.

Type: fix

Change-Id: I63e08b27b715c0d40b44e2ce7b3e9a7ebf4f514b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-07-16 11:43:19 +00:00
YohanPipereau
def35a2352 vom: build VOM package when CI builds
Commit 752f5b4302317e2ccfbd1903d31d3e857d719c4d added
vom-pkg-{rpm,deb} instructions.
This enables CI to package VOM and push it to packagecloud.

Change-Id: I647b4ac6ae19d2414529697082cf5a81e724dfe0
Type: make
Signed-off-by: YohanPipereau <ypiperea@cisco.com>
2019-07-12 12:17:20 +00:00
Aloys Augustin
28fa8cbc6c tests: pin python dependencies
This commit ensures that the tests always run with the exact same
version for all the Python dependencies. It uses pip-tools to achieve
that.

Our top-level dependencies are specified in the requirements.txt file.
From this file, pip-tools generates the requirements-{2,3}.txt file,
which pins all the versions of all the recursive dependencies, and is
used to install the packages in the test virtualenv.

To change or add a top-level dependency, update requirements.txt and run
make test as usual with python2 and python3. The requirements-{2,3}.txt
file will be updated and you can verify that nothing breaks. Then add
all requirements* files in your commit.

To refresh the python packages (i.e. get new versions of the recursive
dependencies, or of the dependencies that are not pinned in
requirements.txt), just run:
PYTHON=python2.7 make test-refresh-deps
PYTHON=python3.6 make test-refresh-deps
and this will update the requirements-{2,3}.txt files. Ideally we
should run this after each release.

Type: make
Change-Id: Ic533de3d06ec4019ff38f5231208da6f1025bfc7
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-06-27 21:22:26 +00:00
Neale Ranns
6a4c9af347 build: remove japi-install from Makefile
Type: fix

Change-Id: I63245280a0939d07f495b11005596ffdfe1d85c8
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-27 09:30:47 +00:00
Ole Troan
6a3064fdf6 tools: FEATURE.yaml meta-data infrastructure
Add tooling for feature metadata configuration files.
The main tool is in src/scripts/fts.py

make checkfeaturelist to validate against schema.
make featurelist to dump all feature lists to stdout.

Example feature definition:

name: IP in IP tunnelling
maintainer: Ole Troan <ot@cisco.com>
features:
  - IPv4/IPv6 over IPv4/IPv6 encapsulation:
    - Fragmentation and Reassembly
    - Configurable MTU
    - Inner to outer Traffic Class / TOS copy
    - Configurable Traffic Class / TOS
  - ICMPv4 / ICMPv6 proxying
  - 6RD (RFC5969):
    - Border Relay

description: "Implements IP{v4,v6} over IP{v4,v6} tunnelling as
              described in RFC2473. This module also implement the border relay of
	      6RD (RFC5969)."

state: production
properties: [API, CLI, STATS, MULTITHREAD]
missing:
  - Tunnel PMTUD
  - Tracking of FIB state for tunnel state
  - IPv6 extension headers (Tunnel encapsulation limit option)

JSON schema is embedded in fts.py

Example markdown: https://github.com/otroan/scratch/blob/master/features.md

Change-Id: I903b4ee6b316a9378c259e86dc937092e5d4b7da
Type: make
Signed-off-by: Ole Troan <ot@cisco.com>
2019-05-31 11:44:27 +00:00
Ole Troan
e4218be671 make: git commit template
Add a commit template for tagging of commits
with a type. Later tooling can then process
the commit log and generate reports of new features
etc.

Usage:

The template is automatically added to the current repository
by make install-dep.
(git config commit.template .git_commit_template.txt)

Type: make
Change-Id: I485d61f9852b7390e4f0539d737ab210f7b0723a
Signed-off-by: Ole Troan <ot@cisco.com>
2019-05-29 09:03:24 +00:00
Dave Barach
7d31ab2a5c add mactime plugin unit / code coverage tests
The unit and code coverage tests are boring. The rest of the patch
involves test and packet-generator infra cleanups.

Teach the "make test-xxx" family of targets to set the api test plugin
path correctly, to make "binary-api <api-message-name> <args>" debug
CLI commands work correctly in the "make test"
environment. Unfortunately involves both the top-level and test
Makefiles.

Add a minor pg cli feature, a CLI to manually set
s->sw_if_index[VLIB_TX].

Consider the case where one configures an interface with both a
device-input and an output feature. To test the output feature using
the pg, it's necessary to inject packets into the interface output
node with both b->sw_if_index[VLIB_TX] and b->sw_if_index[VLIB_RX] set
correctly. For example:

packet-generator new {
 name tx
 limit 15
 size 128-128
 interface local0  # rx: device input feature not configured on local0
 tx-interface loop0 # tx: output node requires b->sw_if_index[VLIB_TX]
 node loop0-output
 data {
   hex 0x01005e7ffffa000dead0000008000102030405060708090a0b0c0d0e0f0102030405
   }
}

Fix a longstanding bug in the packet generator stream setup.  Remove
kludges which set b->sw_if_index[VLIB_TX] to ~0 [in multiple places]
instead of using the stream value s->sw_if_index[VLIB_TX], and setting
THAT datum correctly.

Change-Id: I1097a18e8db73661ded6b822c1d718f7e5cf36ed
Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-09 20:08:58 +00:00
Paul Vinciguerra
1538824a30 Fix $(SUSE_NAME) in Makefile.
SUSE_NAME is now lowercase with dashes in place of spaces.

grep '^NAME=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g' | sed -e 's/ /-/' | awk '{print tolower($0)}'
opensuse-leap

Change-Id: Ie547c2e5684f955529a010d14b9317bbbde4caf6
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-08 01:37:59 +00:00
Benoît Ganne
9e6c53bbd6 build: fix fedora dependencies
Update various python dependencies package names.

Change-Id: I0f64f988f361adf4705fceaf4f2c147138024b1e
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-19 18:30:33 +00:00
Paul Vinciguerra
ccf65fbc0e Fix failing centos jobs due to yum replacing python34 with python36.
vppapigen is failing because the ply library is installed under
python34.

09:04:49 Dependencies Resolved
09:04:49
09:04:49 ================================================================================
09:04:49  Package                Arch           Version               Repository    Size
09:04:49 ================================================================================
09:04:49 Installing:
09:04:49  python36               x86_64         3.6.6-5.el7           epel          66 k
09:04:49      replacing  python34.x86_64 3.4.9-2.el7
09:04:49  python36-libs          x86_64         3.6.6-5.el7           epel         8.5 M
09:04:49      replacing  python34-libs.x86_64 3.4.9-2.el7

----
09:07:27 cd /w/workspace/vpp-verify-master-centos7/build-root/build-vpp-native/vpp/vlibmemory && mkdir -p /w/workspace/vpp-verify-master-centos7/build-root/build-vpp-native/vpp/vlibmemory && /w/workspace/vpp-verify-master-centos7/src/tools/vppapigen/vppapigen --includedir /w/workspace/vpp-verify-master-centos7/src --input /w/workspace/vpp-verify-master-centos7/src/vlibmemory/memclnt.api JSON --output /w/workspace/vpp-verify-master-centos7/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json
09:07:27 Traceback (most recent call last):
09:07:27   File "/w/workspace/vpp-verify-master-centos7/src/tools/vppapigen/vppapigen", line 4, in <module>
09:07:27     import ply.lex as lex
09:07:27 ModuleNotFoundError: No module named 'ply'

Change-Id: Ica3b408991d26262418576cffc848fb2a8cb0224
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-04-05 16:13:30 +00:00
Benoît Ganne
ec6e8d2641 Add missing OpenSUSE Leap 15.0 build deps
Fresh OpenSUSE Leap 15.0 containers are missing build dependencies.

Change-Id: I9b62f36c658862d8f32db5547d2176e6f56df4ea
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-03-26 16:33:44 +00:00
Dave Barach
b757d1a7f5 add a "make test-gcov" target
add a line to "make help"

Change-Id: I94c9e54832e959f35ee28adc1b37091c1473f687
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-22 17:29:43 +00:00
Ole Troan
e4a6d69faa PAPI: Build python3 package for vpp_papi
Change-Id: Iae53fe88a69b53b75a7439d159ae0f9d18545908
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-15 19:01:59 +00:00
jdenisco
e869269121 Fix centos build and build documentation
Change-Id: I326204d26b613254e39c6a0ffe9f9491981ba3c3
Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-02-27 21:03:06 +00:00
Steven Luong
18be9b90a1 Makefile: fix missing help instruction
make pkg-deb-debug and make vom-pkg-deb-debug were missing in the help
instruction

Change-Id: Ic49a7c29b3394ee9fc259bd40ecf0611470125c6
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-22 20:45:01 +00:00
Paul Vinciguerra
0be7451ddb docs: use python3 for make docs.
Change-Id: If62b5ef563523b400fb5160d0343210407905094
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-20 09:35:10 +00:00
Ed Kern
fd9d04d820 Makefile: correct opensuse 15.0 dep naming
This covers both naming option for opensuse leap15
dep package naming

Change-Id: I2ade004e44e75c08afde0f3af42b33cd97ce0ebc
Signed-off-by: Ed Kern <ejk@cisco.com>
2019-02-19 11:27:06 -07:00
Michal Cmarada
4e633e1043 VPP-1504: Remove JVPP
As part of JVPP migration this removes JVPP completely from VPP.

Change-Id: I6b74e7961aa474ae471e63fe43a624cd9fc3659b
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2019-02-19 15:14:02 +00:00
Klement Sekera
593635d4fa make test: make test-ext working again
Change-Id: Ib30d0c6b8794488119f258f7617fce494aa28f1f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-02-14 17:23:21 +00:00
Mohsin Kazmi
752f5b4302 deb-pkg: Add libvom package support
Change-Id: I370a5198ea5b768d8c505679662a19797bd2740d
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-02-14 17:21:59 +00:00
Yichen Wang
00cbd57ac9 Fix borken install-dep on RHEL
Change-Id: I247cca88e33f782e1acb72eb2c0e1515faf2f030
Signed-off-by: Yichen Wang <yicwang@cisco.com>
2019-02-06 04:14:59 +00:00
Paul Vinciguerra
7e0c48e3a9 Python3: Move vppapigen to python3.
Change-Id: I26846d0c12211a29ccfca7c269b9094f6fdbd95c
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-02 07:33:35 +00:00
Damjan Marion
4d2f86a1eb Rework of debian packaging
Change-Id: Ifede85d3af36f3ee6c6f8f92dcf5db0ed8f1bfeb
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
2019-01-20 16:14:24 +00:00
drenfong.wang
6dd5e340ea cmake3 exsit in epel(centos), install epel-release
Change-Id: Ide06350dfb083ec25a52f6ef79f106abd80ccdbc
Signed-off-by: drenfong.wang <drenfong.wang@intel.com>
2019-01-17 09:47:29 +00:00
Florin Coras
223548d479 install-dep: force osleap boost dep install
Change-Id: I4a053f41eef138fc0e6db7e2650860c0ac999552
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-12-27 10:15:16 -08:00
Stephen Hemminger
6fbef23228 vlib: support Hyper-v/Azure VMBus
This patch adds support for VMBus to the VPP infrastructure.
Since the only device that matters is the netvsc Poll Mode Driver
in DPDK, the infrastructure is much simpler than PCI.

Change-Id: Ie96c897ad9c426716c2398e4528688ce2217419b
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-12-19 08:34:39 +01:00
Paul Vinciguerra
05b5d1b3a6 make wipe: Clean up *.api.json files.
Change-Id: I0cb1a1b5bf9003d7b5231452e85d535c9cb2b6ec
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-12-18 12:44:26 +00:00
Thomas F Herbert
6eb61639de Build changes required for Fedora and CentOS
VPP-1511

cmake is the dep for Fedora but cmake3 is for CentOS 7.
Centos: explicitly install epel-release on Centos.
Epel requirement is now explicit for cmake3, and ninja-build.
Remove references to Fedora 25 which is EOL.

Change-Id: I1548ddf2e5421097ac0ddc2d99abce7582d0d593
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2018-12-18 12:43:33 +00:00
Klement Sekera
b8c72a4a8d make test: create virtualenv under /test/
instead of using build-root, use /test/venv directory for virtualenv
similarly, don't pollute build-root with test-built binaries

Change-Id: I1e63c04037eaee718b27b34ef16c9eb0252afa53
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-11-29 08:22:10 +00:00
Klement Sekera
e61ad8d6c4 make test: remove test-ext, fix test*-all targets
build extended binaries, vom & friends when test*-all targets are run,
remove unneeded test-ext target (which is semantically same as
test-debug-all)

Change-Id: Id710e061fdc93e286a4ed91be6a0cdcf75a2dafd
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-11-23 15:36:15 +00:00
Yichen Wang
840cd12ee4 Makefile: support both RHEL and CentOS in install-dep
Change-Id: I31fd8700bfac462944b7621947edd3710fd247b9
Signed-off-by: Yichen Wang <yicwang@cisco.com>
2018-10-31 18:16:28 +00:00
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