239 Commits

Author SHA1 Message Date
Damjan Marion
162330f25a build: rework x86 CPU variants
Type: improvement
Change-Id: Ief243f88e654e578ef9b8060fcf535b364aececb
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-04-30 13:25:29 +02:00
Damjan Marion
4ba16a44b1 misc: switch to clang-9
Type: improvement
Change-Id: Iebf77a63c0c19b130a3fbd26b5293304a9fed4c1
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-04-29 17:20:47 +00:00
Paul Vinciguerra
1f16205e51 build tests: fix 'test-wipe-papi' target
Fix transposed terms.

Type: fix

Change-Id: Ibc3f5d5d9dbd81c9edf09ae5024c3ac4b1939d03
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-03-27 16:10:43 +00:00
Damjan Marion
33c9931cb4 build: use gcc-8 as default on ubuntu 18.04
Type: improvement
Change-Id: I34c9e95ad9160436cb62dec7a1a2d0ce94602ab7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-03-26 13:29:47 +00:00
Dave Barach
6e6968f064 vppinfra: fix typo in dlmalloc.c
Fix libffi package name for Ubuntu 20.04

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Idc567717494b4c40c307f20a40d5e10cd26b0a46
2020-03-22 10:05:43 -04:00
Dave Barach
6d97e62c00 build: add snap packaging (experimental)
Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I5a5efde5378f63d89d82d71ae009c7595aaa800c
2020-03-18 16:14:52 +00:00
Jieqiang Wang
7aef80b210 build: add libssl-dev for ubuntu 16.04 and 18.04
The recent changes to Makefile lead to the lack of libssl-dev
dependency for ubuntu 16.04 and 18.04. Add libssl-dev to DEB_DEPENDS
variable for corresponding ubuntu version.

Type: fix

Change-Id: I42e0e4761d5ec377de71b11cccf747c7f55ca337
Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com>
2020-03-10 15:40:43 +00:00
Ed Kern
c03bb3b431 build: Makefile dep change for ubuntu
Alter dep name and location for ubuntu-20 package naming

Dropping 14.04 support while keeping 16.04 and 18.04
Dropping python2-dev for ubuntu-20

Type: make

Change-Id: I324aa646cdb6e13d39b7a99722857e59906b0843
Signed-off-by: Ed Kern <ejk@cisco.com>
2020-02-07 19:13:54 +00:00
Ed Kern
86e8bce44f build: Makefile dep change
Alter dep name and location for centos-8 package naming

Change-Id: I50eb702d0541b658ea98fd3f190ba0de60c3fc49
Type: make
Signed-off-by: Ed Kern <ejk@cisco.com>
2020-02-05 18:11:32 +00:00
Ole Troan
f3aebda7ea misc: fix feature.yaml
Add checkfeaturelist validation to checkstyle.
Fix two files with errors.

Type: docs
Change-Id: I81eda0e25b271f2006b4da22efdf7218d52a67d3
Signed-off-by: Ole Troan <ot@cisco.com>
2020-01-04 16:14:04 +00:00
Paul Vinciguerra
c701e57182 tests: don't prompt to launch gdb for sanity test case
Type: test

Change-Id: I4c54121b76b341381a819cee928c3c2455a83503
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-12-20 04:09:09 +00:00
Paul Vinciguerra
9d0ca07f1e build: Add missing package to Makefile
- add dependency for pip install psutil.
See: https://github.com/giampaolo/psutil/blob/master/INSTALL.rst#linux

Type: fix

Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Change-Id: I3a24a9dbfc5093c02e2aedf08ac64f10821693f8
2019-12-17 18:25:00 +00:00
Renato Botelho do Couto
c025329bb2 misc: Add CentOS 8 package support
Type: feature

Added missing dependencies on RPM spec file and install-dep

Ticket: VPP-1800

Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
Change-Id: I91d39c94b3f03c213249dff42b264718ef772bdb
2019-12-17 18:23:43 +00:00
John DeNisco
4f85968a43 docs: Rework the startup configuration section
Type: docs

Signed-off-by: John DeNisco <jdenisco@cisco.com>
Change-Id: Ic60aac96a4aeb5532f98dfb85c776bf549c0d660
Signed-off-by: Dave Barach <dave@barachs.net>
2019-12-11 20:41:24 +00:00
Dave Wallace
f0797d130f build: fix make test with distributed src
This patch addresses the functionality that is
missing for distributed make test source files.
In addition it extends the concept of colocating
test source code with functional source code
(eg. src/vcl/test). It also cleans up deficiencies
in the make test makefiles.

NOTE: Due to the way sphinx document tools work,
all test, all of the make test python code is
gathered using soft links into the directory:
.../build-root/build-test/src

Change summary:
- Remove 'make test' help details from
  main makefile help output to reduce clutter
  and redundant help output
- Move all generated build output to
  .../build-root/build-test
- Move test_vcl.py as first usecase for
  distributed core feature make test code
- Add test-wipe-all target and fix wipe targets
  to remove all generated files
- Fix 'make test-doc' to generate module
  documentation for all source files
- Remove unused targets in test/doc/Makefile
- Fix 'make test-shell'
- Fix test/ext Makefile to not generate
  bogus output

Type: fix
Fixes: a43c93f8554ad7418e31be3791b3fb71232f60ac

Change-Id: Icc2ddb81d474081c3ede4548ecd7a0624651f62d
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-12-04 20:20:13 +00:00
Paul Vinciguerra
2c6efec589 build: Update missing package
CI jobs are being marked as unstable.

18:02:47 ---> python-tools-install.sh
18:02:47 Listing pip packages
18:02:48 DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
18:02:48 Generating Requirements File
18:02:48 The virtual environment was not created successfully because ensurepip is not
18:02:48 available.  On Debian/Ubuntu systems, you need to install the python3-venv
18:02:48 package using the following command.
18:02:48
18:02:48     apt-get install python3-venv
18:02:48
18:02:48 You may need to use sudo with that command.  After installing the python3-venv
18:02:48 package, recreate your virtual environment.

Type: fix

Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Change-Id: Ifb9e8547bce2310f1ce6d9b70f11ceef6f0a8576
2019-11-21 12:47:46 +00:00
Dave Wallace
47e092733c build: fix docs/doxygen targets
- Add missing dependencies
- Fix clean/wipe to remove generated files
- Fix doxygen src variable

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: If6b2797e8af3f2e735759fab5841a0b4576ed7cc
2019-11-15 16:58:48 -05:00
Dave Wallace
e790690607 build: make checkstyle-* targets and cleanup
- Add new make targets:
	checkstyle-commit
	checkstyle-test (alias test-checkstyle)
	checkstyle-all
	test-wipe-papi (papi-wipe deprecated)
	retest-all
	retest-all-debug
	install-deps (alias install-dep)
	install-ext-dep (alias install-ext-deps)
- Fix .PHONY dependencies
- Cleanup redundant target commands

Type: refactor

Change-Id: I08b0ef459d421a09fb929aee5cd6baec329931b7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-11-15 16:39:35 +00:00
Dave Wallace
ed32c6391f build: Revert "build: fix make checkstyle"
This reverts commit 069e2a734cf75f4d151efe49d1efc51bc82cedb2.

Reason for revert: The vpp-verify-checkstyle-master build executor now
runs 'make install-dep'

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I2ab6bee642b7ed631d2aa06203c76c3d0ca01c9e
2019-11-13 17:45:24 +00:00
Florin Coras
069e2a734c build: fix make checkstyle
Type: fix

Comment out yamllint for now.

Change-Id: Id40a5aef3fa15b2c6e9d7fe6fd6201923593b4cd
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-11-13 12:51:07 +00:00
Paul Vinciguerra
86a9441c2c build: Fix 3rd party CI systems.
Commit https://gerrit.fd.io/r/#/c/15525/ breaks 3rd party CI jobs.

This suggests an alternative solution that supports both use cases.

Type: feature
Change-Id: I966210cf4594651735e6a8bffa32dd52b4539a13
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-11-07 21:40:47 +00:00
Paul Vinciguerra
6b0dd55024 build: add yaml file linting to make checkstyle
Type: feature

fts and trex rely on yaml config files.  Verify
that they are valid, so comitters can catch
errors early.

Change-Id: Ide0bb276659119c59bdbbc8b8155e37562a648b8
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-11-06 16:40:11 +00:00
Paul Vinciguerra
ea1a65135e docs: fix issues with src/scripts/fts.py
- packaging issue
  - yaml deprecation
  - yaml formatting

Type: fix

Change-Id: Ia8808cbc83271a3067164f2db2418f071b35607a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-11-05 20:47:18 +00:00
Dave Wallace
2777ec7615 build: clean up make help output
This change is designed to help the uninformed find the right way
to run extended tests by using the test-all[-debug] targets.
'make test EXTENDED_TESTS=y' fails to build as it has a dependency
on 'vom-install' which is conveniently included in test-all[-debug].

- clarify test-all[-debug] description and
  make test-help description
- Also align indentation of make help output

Type: style

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Ief54cc8a5af68c052aacb0d660237c5eb63451b5
2019-10-09 10:30:49 +00:00
Damjan Marion
be7ef3b5c2 build: pass 'no-pci' to autgenerated config
Avoid aggresive hiijack of pci interfaces when 'make run' and
'make run-release' are used and there is no startup.conf present.

Type: feature

Change-Id: Id653b5f9ac3d2935a40299885e616960e75d4a95
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-09-24 18:02:14 +00:00
Paul Vinciguerra
4bf849043d vppapigen: fix tests and run on verify
- changes vppapigen to only process an import once.

Type: fix

Change-Id: Ifcbcfcc69fdfb80d63195a17701762d0c239d7b4
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Signed-off-by: Ole Troan <ot@cisco.com>
2019-09-18 11:40:17 +02:00
Ed Kern
c63c0166ee build: fix rpm python 3 depends
Type: fix

Change-Id: Ie6eaccb27779bb14c0a23764a16cd22f0a72e379
Signed-off-by: Ed Kern <ejk@cisco.com>
2019-09-17 13:27:17 -06:00
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