302 Commits

Author SHA1 Message Date
Andrew Yourtchenko
a47203128b build: Make the build work on Debian 11
Debian 11 has some packages that have changed, and need adjustment.
Also - its default compiler is gcc 10, which, contrary to either gcc 8
or gcc 11 prints a bunch of warnings, which fails compilation.
And there is no gcc 11 package.

Therefore, use clang for this build.

Additionally, python 3.9 has exposed this issue:
https://bugs.python.org/issue42580

Therefore, make a local patch to scapy to tackle it.

Type: feature
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: I7b9c0f852ab97fe3c1feca3f22020ac0970ba3e2
2022-02-07 18:40:51 +00:00
Dave Wallace
fa5aabbf0b tests: Update python packages
- pip == 22.0.3
- pip-tools == 6.5.0
- setuptools == 60.7.1 (now pinned in test/Makefile)
- upgrade packages in requirements-3.txt
- install iperf3 for 'make test TEST=vcl'

Type: test

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I1bd85f10fb4f6ba87b9bc1267905e5f1b8eb16de
2022-02-07 16:39:35 +00:00
Klement Sekera
ea2721f766 tests: remove constant argument
Reduce number of arguments by removing an argument which is only ever
used with same constant value.

Type: refactor
Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I061635b28031d75eb1f853b570e85f6e5a9094df
2022-02-05 20:11:44 +00:00
Klement Sekera
3a1a86f87f tests: make VPP_BUILD_DIR to point to correct dir
Make VPP_BUILD_DIR hold the correct value and adjust paths where
necessary.

Type: refactor
Change-Id: I5bc60666c04919956bf26badaf1ee1f1b188ef65
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2022-01-31 14:58:19 +00:00
Florin Coras
1f2070a0fe misc: remove mbedtls from dependencies
Type: make

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I461d1f6289a4bb97c77952b87a35c90f37ec9d26
2022-01-29 04:26:25 +00:00
Neale Ranns
616447c392 linux-cp: Linux Control Plane Netlink Listener
Type: feature

please see FEATURE.yaml for details.

Signed-off-by: Neale Ranns <nranns@cisco.com>
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Signed-off-by: Pim van Pelt <pim@ipng.nl>
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I6255fd9953d0b03e6b4fe75b67a6845a7c206f74
Signed-off-by: Pim van Pelt <pim@ipng.nl>
2022-01-28 10:46:31 +00:00
Dave Wallace
bfcd239682 build rpm-packaging: Remove boost dependencies from VOM
- VOM was deprecated in VPP 21.06, but the boost library
  dependencies did not get cleaned up.

Type: make

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I0fb860a7a37676c1a1a0981c91f383882d9a820a
2021-11-30 19:59:02 +00:00
Laszlo Kiraly
e56008519b build: (opensuse) Revert build remove opensuse build infra
Added missing deps
Removed Thumbleweed support
Changed python2 to python3
Added Dockerfile for suse-leap build

Type: make
Change-Id: Ie73d2382a73ebc9d4475ace1a8f818fe38cf40c0
Signed-off-by: Laszlo Kiraly <laszlo.kiraly@est.tech>
2021-11-19 15:06:08 +00:00
Dave Wallace
719d560208 build: upgrade to enchant-2
- Remove enchant from RPM builds since docs are
  generated on ubuntu-20.04 in CI jobs.
- Clean up DEB_DEPENDS copy-pasta
- Add clang-11 for newest Ubuntu/Debian OS
  variants

Type: docs

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I802f0b356bd412dbc23ee98d209f7cc3ab24ba4c
2021-11-16 18:16:12 +00:00
Dave Wallace
fc283bc040 build: Remove ubuntu-18.04 install dependencies
- Per agreement at VPP community meeting, end support for
  ubuntu-18.04

Type: make

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I20ae1531e571ba0aad233d47c2e5b73ee3f964b6
2021-11-16 15:50:09 +00:00
Dave Wallace
fb1135da99 build: install clang-format-11
- Don't make it the default yet

Type: make

Change-Id: I3aabfd32f7ffd99e10db372747a0ba65fdc76db2
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-11-09 23:29:58 +00:00
Damjan Marion
0f814f5bd5 build: missing clang in deps for ubuntu 20.04
Type: make
Change-Id: Ica706f0284873f6bd8b8d868c965812a139748cf
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-11-09 16:17:23 +01:00
Dave Wallace
51a037daf2 tests docs: fix jsonschema dependency
- docs requires jsonschema which is only supported
  on python 3.7 or newer.  This causes 'make test'
  to fail on Ubuntu 18.04

Type: fix
Fixes: 9ad39c026

Change-Id: I0935c569ac102ea1dba6112f458e6ee10330e474
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-11-06 17:33:14 +00:00
Dave Wallace
78b4f4e19b tests: update python packages
- Also fix docs requirements and venv cleanup
  required for docker executor building

Type: test

Change-Id: I839423224d95c45af42f459217887f4201cbb11a
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-11-02 22:32:18 +00:00
Nathan Skrzypczak
9ad39c026c docs: better docs, mv doxygen to sphinx
This patch refactors the VPP sphinx docs
in order to make it easier to consume
for external readers as well as VPP developers.

It also makes sphinx the single source
of documentation, which simplifies maintenance
and operation.

Most important updates are:

- reformat the existing documentation as rst
- split RELEASE.md and move it into separate rst files
- remove section 'events'
- remove section 'archive'
- remove section 'related projects'
- remove section 'feature by release'
- remove section 'Various links'
- make (Configuration reference, CLI docs,
  developer docs) top level items in the list
- move 'Use Cases' as part of 'About VPP'
- move 'Troubleshooting' as part of 'Getting Started'
- move test framework docs into 'Developer Documentation'
- add a 'Contributing' section for gerrit,
  docs and other contributer related infos
- deprecate doxygen and test-docs targets
- redirect the "make doxygen" target to "make docs"

Type: refactor

Change-Id: I552a5645d5b7964d547f99b1336e2ac24e7c209f
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-10-13 23:22:32 +00:00
Damjan Marion
5546e43f79 build: don't hardcode triplet, allow specifying custom lib dir
Type: fix
Change-Id: I33f364fda88914f88f9b976cb83e6d3ff466f0bb
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
2021-10-05 16:44:32 +00:00
Nick Brown
b8e7a45d56 build: consistent debhelper 10 support
Type: fix

debian/compat contents were set to 10, but debhelper build dependency,
which is the same thing, was set to only 9. Both are not needed,
debian/compat being deprecated, so use only the latter.
At compat level 10, dh-systemd is integrated directly into debhelper, so
build dependency not needed (And in Debian Bullseye dh-systemd
transitional package is completely removed).
See: https://manpages.debian.org/testing/debhelper/debhelper.7.en.html#COMPATIBILITY_LEVELS

Signed-off-by: Nick Brown <nickbroon@gmail.com>
Change-Id: I5809b739334076d7fa8389b076a97f1648726e6e
2021-08-12 12:24:40 +00:00
Dave Wallace
e20d3c8c00 build: fix centos-8 cmake missing package dependency
Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I199fea4607cf38a127ed31b2ddf1dd993a2462ba
2021-06-05 15:46:15 +00:00
Tianyu Li
0b65213475 build: fix build error after make wipe
ninja: error: '/home/vpp/src/vpp-api/vapi/fake.api.json',
needed by 'CMakeFiles/vpp-api/vapi/fake.api.vapi.h',
missing and no known rule to make it

Recent fake.api.json has been moved from test/ to src/,
update make wipe to reflect the movement.

Type: fix

Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: I1e8ef414a3f8a2fce11767e0778fe21e14d54e6f
2021-06-04 18:06:43 +08:00
Dave Wallace
18c17cb8af build: fix install-deps on centos-8
- Required to fix CI jobs failing due to errant
  upgrade of glibc-devel which cannot be found.

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Iea5ae51de25b7ade1f75e3ce34d8383ed97f12ef
2021-06-03 17:37:27 -04:00
Arthur de Kerhor
9cfbd3b786 misc: bug fixes and improvements for stats Fuse fs
Added syslogs
Added support for symlinks
Relocated make commands in a local Makefile
Dumping stats on index instead of paths
Updated README
Added go.mod and go.sum with relevant dependencies for the module

Type: fix
Change-Id: I2c91317939b2f4d765771ab7038372ae27d3109d
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
2021-06-03 07:25:04 +00:00
Andrew Yourtchenko
bfcd4b9868 build: fix the "show version" output in the centos release builds
A couple of releases ago I made a change that slightly changes
the naming of artifacts, in order to make the version sorting better.
However, that change broke the "show version" output of the VPP
in the RPM - that build copies the entire source tree into
a new location and builds there, supplying the version
information in .version file rather than using git describe.

Updating only the version script and not the .version file content
resulted in the VPP release builds within the RPM installs have
the "count of commits since tagging" being zero and the commit ID,
rather than having XX.YY-release format.

A couple of releases - 20.09 and 21.01, saw a more haphazard solution,
but it is proper to fix the content of the .version file so it
is all consistent.

This commit fixes the contents of this file made for the RPM build, so that
the versioning script does not see unexpected input, thus addressing
the issue of "show version" in the release build.

Change-Id: I0af68e69b1e40fc49ade759bb2f0ed9f47614217
Type: fix
Fixes: 1060332e62d1216bf33c697d0a54ba35d4903eb3
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-05-17 17:37:57 +00:00
Damjan Marion
88b2e3682b misc: experimental configure script
Type: make
Change-Id: Iaeb9d22eec9a7a763b63899814a44e78c8050f1f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-30 17:02:32 +00:00
Damjan Marion
ac8f936fdc build: Makefile cleanup
Type: make
Change-Id: I751b0a25161c6eb8614ca19f7c77a4de82401f3d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-27 23:42:02 +00:00
Vladimir Lavor
3ff1598846 misc: auto-generate go bindings
Type: feature

Added target 'make go-api-files' creating compatible go bindings
using JSON API definition and GoVPP binary API generator.

Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
Change-Id: I5bae113b85eaf5ebda8e292d34c9826075ef19b5
2021-04-27 09:24:48 +00:00
Klement Sekera
e263685ac8 tests: support attaching to existing vpp
Introduce a new option DEBUG=attach to run a test against existing
already running vpp. A new target 'make test-start-gdb' will spawn VPP
in gdb for this purpose. Customization options explained in test-help.

Type: improvement
Change-Id: Ia160a85b33da3b2df292d44bb95729af9dd9da96
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-04-12 10:11:36 +00:00
Klement Sekera
e0b63b2978 tests: introduce test-checkstyle-diff
Make test-checkstyle-diff is a new target which checks PEP8 compliance
only for changed files. This makes it faster to execute and also more
readable as most of the time, only changed files will fail.

Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I71baca76ab3a21a7a3790617cbfb0d48aacbd9ec
2021-03-25 09:22:52 +00:00
Arthur de Kerhor
1f13f8fd8a misc: fuse fs for the stats segment
This extra allows to mount a FUSE filesystem reflecting
the state of the stats segment.

Type: feature

Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Change-Id: I692f9ca5a65c1123b3cf28c761455eec36049791
2021-03-24 12:16:43 +00:00
Ray Kinsella
718359881d misc: fix checkstyle on fedora
The fedora clang-format command helpfully does not include the version
suffix, and places clang-format-diff in /usr/share/clang.

Have summited #1939018 in Fedora, to fix upstream.
https://bugzilla.redhat.com/show_bug.cgi?id=1939018

Until then ...

Type: fix

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: Ibceae0fc15e7461c24288ee04f4d28943f889c36
2021-03-16 21:36:28 +00:00
Ole Troan
ab9f57355f api: crchcecker ignore version < 1.0.0 and outside of src directory
- For check patchset ignore files outside of src directory
- For check patchset ignore files that have version < 1.0.0
- fix Pylint warnings
- Modify vppapigen_crc to include version in JSON output

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I171cf6397e129e2438b2a494c5656236a7810f7b
2021-03-05 10:52:51 +00:00
Andrew Yourtchenko
f457a3886a build: add libmemif as part of build-coverity target
Change-Id: I81a3b5d0845724da40b483832a8eaed081e6e4ed
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-03-04 10:49:18 +00:00
Andrew Yourtchenko
b789f9992b build: add missing virtualenv dependencies for debian-10
Type: make
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: I57a1f90d7fe9e1262f210d0c091bafda5d496c69
2021-02-12 11:06:53 +00:00
Neale Ranns
c68ca7b6e1 misc: Now that VOM is deprecated remove the build dependency on boost
Type: make

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Icbbae3ab222e7d97e6c496c13ec9229e94cf5ede
2021-02-09 16:53:37 +00:00
Neale Ranns
44db1caefb linux-cp: Linux Interface Mirroring for Control Plane Integration
Type: feature

please see FEATURE.yaml for details.

Signed-off-by: Neale Ranns <nranns@cisco.com>
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Signed-off-by: Pim van Pelt <pim@ipng.nl>
Change-Id: I04a45c15c0838906aa787e06660fa29f39f755fa
2021-02-04 14:16:34 +00:00
Dave Wallace
cfa8a89338 build: deprecate debian-9 support
Type: make

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Ib14ce5561446aefb03c3989cf82ac7c6eb1471bb
2021-01-21 13:16:09 +00:00
Jerome Tollet
4f411d1191 build: add python files to ctags
Type: improvement

Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Change-Id: Ifb97b3a52d8bf4ecc09dc1e8ff94992fef309a65
2021-01-20 18:38:56 +00:00
Dave Wallace
35ef865678 build: add missing openssl-devel package for centos-8 vpp-ext-deps
- In a new centos-8 installation, vpp-ext-deps fails on missing
  ssl.h header file after 'make install-deps'.

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I521d817dd1f1e21aff427d98b9832ea7c7b89339
2021-01-15 17:31:47 +00:00
Pim van Pelt
b6f367e3a1 build: Add deps for ubuntu 20.10
Type: make

Ubuntu Groovy Gorilla (20.10) has bumped its FFI library.
Move from v6 to v8.

Signed-off-by: Pim van Pelt <pim@ipng.nl>
Change-Id: I32bc2905ad9ed6918446020accee2a4c2ca9d4b5
2021-01-11 20:42:13 +00:00
Damjan Marion
942542f7c1 misc: migrate from GNU indent to clang-format
Type: make
Change-Id: I085dcd6fe826da14d456f84a23355310bdc5d1e9
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-18 11:06:33 +01:00
Dave Wallace
da33ec5143 build: remove centos-7 directive from Makefile
- CentOS-7 support has been deprecated.

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: If7f1988487d0b63a596dfee9dd03af89fb159573
2020-12-16 09:41:38 +00:00
Ole Tr�an
58a6e77252 api: crchcecker ignore version < 1.0.0 and outside of src directory
This reverts commit 510aaa8911843206f7b9ff48b41e3c7b8c4a99fe.

Reason for revert: failed in case of no api file in changeset.

Change-Id: I2c6f01b25a35128df870418eef0008766bb590df
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
2020-12-15 16:04:03 +00:00
Ole Troan
510aaa8911 api: crchcecker ignore version < 1.0.0 and outside of src directory
- For check patchset ignore files outside of src directory
- For check patchset ignore files that have version < 1.0.0
- fix Pylint warnings
- Modify vppapigen_crc to include version in JSON output

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I93f7bebeeaeedc19b2b1e5e135ea1035517d7f76
Signed-off-by: Ole Troan <ot@cisco.com>
2020-12-15 14:03:44 +00:00
Jerome Tollet
df5fbf6b90 build: update ctags --tag-relative option used in make ctags
Type: fix

Exhuberant ctags --tag-relative expects =[yes|no]

Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Change-Id: Ic60b7014508d5c8c286f85f26e9eb0bdc0e90aa5
2020-12-14 15:57:27 +00:00
Dave Wallace
1affb31ef5 build: fix centos-8 'make install-deps' enable PowerTools repo
- The name of the powertools repo was changed [0]
  in centos-8 from 'PowerTools' to 'powertools'.
  Retrieve the correct name from 'dnf repolist all'
  instead of hard coding it.

[0] b759b17557

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Ic1402e671eb1d70dec429bab82ad18d8251f4eef
2020-12-08 20:39:07 +00:00
Damjan Marion
f4ca4843dd build: add compile_commands.json cleanup script
Type: make
Change-Id: I8d6a5018bddf029e106df3cb8b8eded4fa28067d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-24 09:14:11 +00:00
Damjan Marion
8950c27255 build: add -E to sudo invocation in top-level Makefile
Type: make
Change-Id: I447c6082bfe4aa549e6a7ebc156b657419fc608c
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-22 10:33:03 +00:00
Damjan Marion
8c1afb56b6 misc: deprecate VOM
Type: make
Change-Id: Ifb3e52af93d24fcc2f2e6a0c408e16902a2fe553
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-16 15:33:18 +02:00
Dave Wallace
858856df16 build: add missing dnf-plugins-core package on centos-8
Type: fix

Change-Id: I1a4d9a7a8089cbf488dcd6f09eec6b4e0d0d72fe
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2020-10-14 13:30:58 +00:00
Chuan Han
f30e07e3b5 build: fix build for debian testing
1. add libelf-dev to default deb deps
2. Also use libffi7 instead of libffi6 for debian-testing

Type: fix

Signed-off-by: Chuan Han <chuan.han.comm@gmail.com>
Change-Id: I9f13955812877422ecb8aac3dd34c5828b9c4607
2020-10-02 06:59:36 +00:00
Dave Wallace
1e26143d0e build: remove OS distros which are EOL
Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: If80ff6bfbd42779a663af1e7dcfff80d75f47f1e
2020-09-26 11:19:02 +00:00