353 Commits

Author SHA1 Message Date
Paul Vinciguerra
582eac5c30 misc: fix python sonarcloud BLOCKER level issues
Fix of the top 11 python issues flagged as BLOCKER.

Ticket: VPP-1856
Type: fix

Change-Id: Icf4691e62f4a69d6ee196b6d6e2ab52d961b5c76
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-04-06 11:30:05 +00:00
Dave Wallace
39aa7a5202 misc: fix sonarcloud html issue
Type: fix

Change-Id: I3691c310fa6336bf2c103c42bccd94c27aab4878
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2020-04-03 19:52:31 +00:00
Jakub Grajciar
2f8cd91451 acl: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I09fa6c1b6917936351bd376b56c414ce24488095
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-27 12:46:42 +00:00
Ole Trøan
492a5d0bd7 acl: revert acl: api cleanup
This reverts commit aad1ee149403994194cf37cef4530b042ba7df3a.

Reason for revert: Verify failure. Doesn't build.

Type: fix
Change-Id: I91b1b26ac43edde4853e4561a0083d0b3a06efee
Signed-off-by: Ole Troan <ot@cisco.com>
2020-03-26 19:36:31 +01:00
Jakub Grajciar
aad1ee1494 acl: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: If90d753f129312400c4c3669bb86289d0c3e0d99
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-26 17:45:58 +00:00
Jan Cavojsky
77a95cdce2 libmemif: don't consume rx queue interrupt, if memif_rx_burst fails
Type: fix

Signed-off-by: Jan Cavojsky <jan.cavojsky@pantheon.tech>
Change-Id: Ic6c15c88c80c4045c290cd78533be6f070c7470a
2020-03-21 12:12:13 +00: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
Jakub Grajciar
7c0eb56f40 vxlan: vxlan/vxlan.api API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I7f6f37ec6eed780322e2488d6eb0f5681945ba09
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-03-16 09:18:46 +00:00
Renato Botelho do Couto
1d94ab5f1b misc: Fix vpp-selinux-policy dependency on CentOS 8
policycoreutils-python is now called python3-policycoreutils on
CentOS 8.

Type: fix

Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
Change-Id: I46264c66a2a719d546e0926f3bd716e986461963
2020-03-06 14:15:18 -06:00
Jakub Grajciar
1c684f9af2 lldp: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I2fe6b56dc0f224f438ed5f14c0f276d94afbaea8
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-02-26 11:48:35 +00:00
Jakub Grajciar
908965db7e span: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ifddac07b15b116574de3a97f7c80d7bf6a3171f7
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2020-02-26 10:40:58 +01:00
Vladimir Isaev
72e31bc2d9 stats: fix state counter removal
Avoid using vec_del1() for directory vector to keep indexes valid all
the time.

There are state counters for each slave in LACP bond mode which can be
dynamically created and removed. Vector index is used to access these
counters. But also vec_del1() is used to remove counter from vector.
This function changes the index of the last element, so after this we
are unable to access ex-last element using old index.

As a result it is not possible to add-del-add two interfaces to the LACP
bond:

DBGvpp# create bond mode lacp
BondEthernet0
DBGvpp# create packet-generator interface pg1
DBGvpp# create packet-generator interface pg2
DBGvpp# bond add BondEthernet0 pg1
DBGvpp# bond add BondEthernet0 pg2
DBGvpp# bond del pg1
DBGvpp# bond del pg2
DBGvpp# bond add BondEthernet0 pg1
DBGvpp# bond add BondEthernet0 pg2
bond add: /if/lacp/1/3/partner-state is already register

Type: fix

Signed-off-by: Vladimir Isaev <visaev@netgate.com>
Change-Id: I2c86e13905eefdef6233369cd4ab5c1b53d123bd
2020-02-05 15:34:49 +00:00
Mohsin Kazmi
574be8fe22 misc: add new type for commit message
Type: style

Change-Id: Ibfa8bd1c0987fd2a5050be6c454f665666eb0210
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-02-05 09:12:12 +00:00
Damjan Marion
548d70de68 misc: deprecate dpdk hqos
Not in functional state for a long time ...

Type: refactor

Change-Id: I2cc1525a6d49518cbc94faf6afbf0d2d0d515f56
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-01-30 21:38:14 +00:00
Damjan Marion
7db6ab03db misc: deprecate netmap and ixge drivers
Both are out of sync for long time...

Type: refactor

Change-Id: I7de3170d35330fc172501d87655dfef91998b8fe
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-01-30 21:05:09 +00:00
Damjan Marion
ffad890961 misc: move configs to extras/configs
Type: refactor

Change-Id: I64665b290e2c42bbd9b0e877e9e4b028090b0ede
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-01-30 20:24:51 +00:00
Dave Barach
196fce2b62 classify: pcap / packet trace debug CLI bugs
"classify filter trace ... " and "classify filter pcap ..." are
mutually exclusive.

vnet_pcap_dispatch_trace_configure needs to check for
set->table_indices == NULL.

Type: fix
Ticket: VPP-1827

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I43733364087ffb0a43de92e450955033431d559d
2020-01-27 20:43:29 +00:00
Jakub Grajciar
6f090fa1fa libmemif: memif_control_fd_update always pass context from libmemif_main
Event polling instance is always identified by libmemif main private context.
Fixes event polling handled by libmemif.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I51dcdb279b18f8ce97bad3b2695848e0b25a232d
2020-01-27 19:21:33 +00:00
Jon Loeliger
171577e129 build: Fix Subject-line feature list extraction
Bang on sed until a better incantation appears.

Change-Id: Ib8ad0996b6325db0fe983c86dd7dc553c9d388c4
Type: fix
Fixes: 26ce6ca1fe6f524a9049444fe8d55042fd7530a6
Signed-off-by: Jon Loeliger <jdl@netgate.com>
2020-01-03 10:11:41 +00:00
Dave Wallace
b4f073cd44 bash: add -j <jobs> option to vpp-make-test
- Also cleanup local var declarations
- remove extraneous export statement

Type: test

Change-Id: I22198a65d1785ba53d1de22b2aa498cab910701b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-12-19 19:17:32 +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
Oliver Giles
dc20371f83 build: export vapi generation in vpp-dev
Adds the higher-level vapi generation to cmake/api.cmake and exposes
the necessary python scripts in vpp-dev, so that out-of-tree/downstream
plugins can also leverage the more convenient API.

Type: feature

Signed-off-by: Oliver Giles <oliver_g@radwin.com>
Change-Id: I8c40a14d27ba3cb972c6907632e03c0e7b0ce982
2019-12-17 18:05:15 +00:00
Neale Ranns
cbe25aab3b ip: Protocol Independent IP Neighbors
Type: feature

 - ip-neighbour: generic neighbour handling; APIs, DBs, event handling,
aging
 - arp: ARP protocol implementation
 - ip6-nd; IPv6 neighbor discovery implementation; separate ND,
MLD, RA
 - ip6-link; manage link-local addresses
 - l2-arp-term; events separated from IP neighbours, since they are not
the same.

vnet retains just enough education to perform ND/ARP packet
construction.
arp and ip6-nd to be moved to plugins soon.

Change-Id: I88dedd0006b299344f4c7024a0aa5baa6b9a8bbe
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-17 10:56:20 +00:00
Jakub Grajciar
5de4fb7076 devices: tap API cleanup
Use consistent API types.

Type: fix

Change-Id: I11cc7f6347b7a60e5fd41e54f0c7994e2d81199f
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-12-11 09:39:42 +00:00
Dave Barach
87d24db65f classify: vpp packet tracer support
Configure n-tuple classifier filters which apply to the vpp packet
tracer.

Update the documentation to reflect the new feature.

Add a test vector.

Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Iefa911716c670fc12e4825b937b62044433fec36
2019-12-05 15:31:57 +00:00
Mohsin Kazmi
3f4be92ce5 vom: get interface type from vpp device type
Type: feature

Change-Id: Ia626188c22dc80c2b7a06b61cf0af435ee53d1e7
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-12-04 23:16:21 +00:00
Dave Wallace
535fdba533 bash: vpp-make-test bash function
- A bash function which enhances reproduction,
  debugging, and verification of intermittent
  make test failures.

Type: test

Change-Id: I2faf56829d0633963506e136a68b77b8a1b32236
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-11-20 14:57:00 +00: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 Barach
8d74caa0a2 misc: add lcov scripts, README.md
See extras/lcov

Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Id229436bd94cd18bcd0f3a3d938eae2b28d5b1f5
2019-11-06 23:58:23 +00:00
Renato Botelho do Couto
ead1e536d6 misc: Fix python scripts shebang line
Type: fix

Since CentOS 8, RPM build script doesn't accept '#!/usr/bin/env python'
as a valid shebang line.  It requires scripts to explicitly chose
between python2 or python3.

Change all to use python3 as suggested by Paul Vinciguerra.

Depends-On: https://gerrit.fd.io/r/23170

Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
Change-Id: Ie72af9f60fd0609e07f05b70f8d96e738b2754d1
2019-11-05 21:08:59 +00:00
Jakub Grajciar
718a19b8f9 libmemif: reset number of queues on disconnect
Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: If4df47b1109ac90d4d5834b3aa7d326f6b3761d2
2019-11-05 12:55:51 +00:00
Paul Vinciguerra
35b037fd7f vpp_config: fix typos in templates
Type: style

Change-Id: Ia435604c8c48a78054848095567f1e54d028227e
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-10-30 20:17:12 +00:00
Dave Barach
71a5da0c8d http_static: add .json content
Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ibf8583175c181dc12a589b3e6c11a10ee77fc160
2019-10-10 20:53:43 +00:00
Nathan Skrzypczak
66f2a8891f docs: Add macos build documentation
Type: docs

Change-Id: Iee03aacab2cfcb4e87190302dc641e8273b7f096
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-10-09 13:18:47 +00:00
Dave Barach
4ec6f6bc77 emacs: track improvements in vppapigen
Remove boilerplate which is now generated by vppapigen

Type: refactor

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I36bff1a651ac48caa969ed76d963b0a733ef5532
2019-10-03 16:52:38 +00:00
Jakub Grajciar
103ba6ba9e dhcp: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ia63d920788add2584060a240321acced7a471640
2019-10-03 10:07:21 +00:00
Dave Barach
43765e2b4e builtinurl: initial working attempt
Note that the builtin URLs are disabled by default. To activate,
"builtinurl enable" or use the builtinurl_enable API.

See .../extras/http/sample.md for some Hugo-friendly .md w/ embedded
Javascript that accesses the builtin URLs.

Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I6d82d9292c41d6d2d90be73ba8a1a043fb20c986
2019-09-18 14:26:59 +00:00
Jakub Grajciar
3d1ef873da bonding: API cleanup
Use consistent API types.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Idbba4ab6a412b75338e3149e51476693f0862f16
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-09-11 15:14:02 +00:00
Dave Barach
b97641c79f misc: clean up "pcap [rx|tx] trace" debug CLI
Separate debug CLI arg parsing from the underlying action
function. Fixes a number of subtle ordering dependencies, and will
allow us to add a binary API to control the feature at some point in
the future.

Type: refactor
Ticket: VPP-1770

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Id0dbeda06dad20e756c941c691e2088ce3c50ec7
2019-09-10 14:51:02 +00:00
Jakub Grajciar
bdf3ebe358 libmemif: prevent crash in case of invalid connection handle
Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I803c86a48e0148ef143026a5cd93e4510c4f0611
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-09-09 13:02:13 +02:00
Dave Barach
c4abafd83d ip: fix udp/tcp checksum corner cases
When checksumming chained buffers with odd lengths: insert a
NULL byte, or the calculation fails.

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: John Lo <loj@cisco.com>
Change-Id: I380f7c42897bdb28c8c29aa1c4cdaaa849cc9ecc
2019-09-07 01:26:58 +00:00
Ole Troan
e5ff5a36dd api: enforce vla is last and fixed string type
Enforce that variable length fields are the last element of API messages.

Add a 'fixed' version of string type, since dealing with
multiple variable length strings turned out too painful
for the C language bindings.

The string type is now:
{
  string name[64]; // NUL terminated C-string. Essentially decays to u8 name[64]
  string name[];   // Variable length string with embedded len field (vl_api_string_t)
};

The latter notation could be made available to other types as well.
e.g.
{
  vl_api_address_t addresses[];
}
instead of

{
  u32 n_addr;
  vl_api_address_t addresses[n_addr];
};

Type: fix
Change-Id: I18fa17ef47227633752ab50453e8d20a652a9f9b
Signed-off-by: Ole Troan <ot@cisco.com>
2019-09-03 20:04:13 +00:00
Jakub Grajciar
17f2a7bbf2 libmemif: introduce 'memif_per_thread_' namespace
APIs in 'memif_per_thread_' namespace are used to split the global
database into separate databases, to improve multi-thread use cases.

Using 'memif_per_thread_init' client can create separate libmemif
databases (libmemif_main_t). Client will reference these databases
using memif_per_thread_handle_t. Each database requires unique socket.
Created interface will be stored in the same database as the socket
passed in connection arguments.

Example code: extras/libmemif/examples/icmp_responder_3-1/main.c

Type: feature

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I261563ecc34761a76e94f20c20015394398ddfd7
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-08-21 14:45:43 +00:00
Jakub Grajciar
053204ab03 api: Cleanup APIs interface.api
Use of consistent API types for interface.api

Type: fix

Change-Id: I88206d7d0907cffd564031f73c9a996df2e5e21a
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-08-20 09:57:10 +00:00
Ian Wells
13cef0cc2c papi: Revert vpp-api-python to py2, add py3 pkg
A previous commit, ca3d38ae18c21ce37212f0d5d5f4a1702429e70c, converts
the vpp-api-python package from a python2 library to a python3 one.
This changes the behaviour of the package and breaks anything that
uses it as a dependency.

This change reverts the package behaviour to a python2 package, and
additionally adds a *separate* python3 package for correct python3
behaviour.

Type: fix
Fixes: VPP-1738
Signed-Off-By: Ian Wells <iawells@cisco.com>
Change-Id: I54eb45156eb6e00fc4cd5b48e7a0aa17fd2f43f7
Signed-off-by: Dave Barach <dave@barachs.net>
2019-08-12 23:39:40 +00:00
Dave Barach
6b53fd5163 http_static: tls support
Type: refactor

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I45745e568cd943293d0015a61f67ec799b6804d8
2019-08-10 11:30:39 -04:00
Neale Ranns
e3282bae27 vom: export/install cmake files
Type: feature

allow other projects to use cmake modules to find VOM

Change-Id: I00e01e9bec3ecf79903cd522d2770bdb70e5399b
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-08-07 08:54:43 +00:00
Neale Ranns
83832e7ced qos: Store function
Type: feature

store: write a QoS value into the buffer meta-data
record: Extract a QoS value from a packet header and store it.
mark: Make a change to the content of a packet header by writing a stored
      QoS value

Change-Id: I07d1e87dd1ca90d40ac1ae1774fee1b272cab83f
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-31 16:17:36 +00:00
Jakub Grajciar
272e2e456d libmemif: fix autoconnect
Type: fix

Change-Id: I426e210c47869904a01712b765db2356439f706f
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-07-26 14:51:59 +00:00
Neale Ranns
038e1dfbdf dhcp ip: DSCP settings for transmitted DHCP packets
Type: feature

- Define the ip_dscp_t and use in the IP headers
- Add DSCP setting to the DHCP client for use with packet TX

Change-Id: If220dde0017ea78793747d65f53e11daf23a28fa
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-26 13:27:14 +00:00