vpp.git
4 years agoTrivial Typo's in bier comments/docs. 49/19549/2
Paul Vinciguerra [Mon, 13 May 2019 19:56:41 +0000 (15:56 -0400)]
Trivial Typo's in bier comments/docs.

Change-Id: I3b3e868277d5caf6b1341814003a3bc5726c2df9
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agovnet: remove macro definitions 81/19481/3
Zhiyong Yang [Fri, 10 May 2019 03:59:20 +0000 (23:59 -0400)]
vnet: remove macro definitions

These two macro definitions should be removed as enum
vnet_interface_helper_flags_t has defined them.

Change-Id: I31bd0ea75639d2f9a53f396ac3cf42f9fc5fbdbe
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
4 years agoFix VPP-1528 get the same IP address from DHCP server for two VPP DHCP clients 03/19203/9
jackiechen1985 [Mon, 29 Apr 2019 03:29:04 +0000 (11:29 +0800)]
Fix VPP-1528 get the same IP address from DHCP server for two VPP DHCP clients

Change-Id: I18dfe51000758f44b991d2dd065c9aa2bc5863d5
Signed-off-by: jackiechen1985 <xiaobo.chen@tieto.com>
4 years agoremove dead code in rewrite.c 32/19532/1
Neale Ranns [Mon, 13 May 2019 10:30:03 +0000 (03:30 -0700)]
remove dead code in rewrite.c

Change-Id: Ib34ca76fcc5e85cb3cc646ffc7be208b8e757cba
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agocli: Add return value in cli_inband 91/19491/2
Ole Troan [Fri, 10 May 2019 10:01:10 +0000 (12:01 +0200)]
cli: Add return value in cli_inband

Even when a CLI command called through the cli_inband API failed
the API would return 0 (SUCCESS). This patch fixes that,
but since most CLI handlers return error->code == 0,
in most failure cases it will return -1 (UNSPECIFIED ERROR).

Type: fix

Change-Id: Ic83f3b23e8e8954bb8aa211301baba24e8c20ef6
Signed-off-by: Ole Troan <ot@cisco.com>
4 years agoFix stat seg average vector rate computation 05/19505/4
Dave Barach [Fri, 10 May 2019 12:38:25 +0000 (08:38 -0400)]
Fix stat seg average vector rate computation

Add the number of worker threads and per worker thread vector rates to
the stats segment.

Change-Id: I3040108ec9fcdf5fdb6b9a950060dea9b3c88fd1
Signed-off-by: Dave Barach <dbarach@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agotests: test/vpp_papi_provider.py Specify exception to catch. 76/19476/2
Paul Vinciguerra [Thu, 9 May 2019 20:12:35 +0000 (16:12 -0400)]
tests: test/vpp_papi_provider.py Specify exception to catch.

Change-Id: If936b198bcac7a317d52f958561c3e19d158450a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agoUpdate ping cli .short_help. 78/19478/2
Paul Vinciguerra [Thu, 9 May 2019 21:41:23 +0000 (17:41 -0400)]
Update ping cli .short_help.

Change-Id: I5c414a158a8a6b243128127c608ab0fbb5a9405b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agodocs: Add 1904 99/19299/3
jdenisco [Wed, 1 May 2019 20:30:36 +0000 (16:30 -0400)]
docs: Add 1904

Change-Id: Icf0e01d1dec69d48664ed633205248359b653f4d
Signed-off-by: jdenisco <jdenisco@cisco.com>
4 years agoFix typo in nat44_cli.c:nat_ha_failover_command_fn. 20/19520/3
Paul Vinciguerra [Fri, 10 May 2019 16:13:03 +0000 (12:13 -0400)]
Fix typo in nat44_cli.c:nat_ha_failover_command_fn.

Change-Id: Icdf531b3c688c4da6be732ff178316e3757aebb5
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agozero-pad date string output. 80/19480/2
Paul Vinciguerra [Thu, 9 May 2019 23:12:18 +0000 (19:12 -0400)]
zero-pad date string output.

2019/ 5/ 9 21:18:01:710 notice -> 2019/05/09 21:18:01:710 notice

Change-Id: I8ed932a0d6f5e6ce29ab6428f0f01221d0a6ae34
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agovpp_transport_socket: make connect more resilient 72/19472/5
Vratko Polak [Thu, 9 May 2019 15:04:57 +0000 (17:04 +0200)]
vpp_transport_socket: make connect more resilient

This should make connect() partially retriable,
at least against "No such file or directory on socket",
and when disconnect() is called before retrying connect().

Added TODOs for future improvements.

Change-Id: I5ee727fbc17d66446589b8c781f270055187db68
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
4 years agosession: segment manager fixes 74/19474/4
Florin Coras [Thu, 9 May 2019 19:08:06 +0000 (12:08 -0700)]
session: segment manager fixes

- fix segment size rounding for 4GB segments
- fix initialization of first segment size
- cleanup fifo segment info retrieval

Change-Id: I5ebf20f71ea797087653e7e76fa2e37b2686ec40
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoadd mactime plugin unit / code coverage tests 38/19438/3
Dave Barach [Wed, 8 May 2019 23:18:18 +0000 (19:18 -0400)]
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>
4 years agodpdk: fix return variable size 84/19384/2
Zhiyong Yang [Tue, 7 May 2019 02:42:55 +0000 (22:42 -0400)]
dpdk: fix return variable size

The function dpdk_ol_flags_extract should return u16
instead of u8.

Change-Id: Id0b08b04c93598818f9a2eee5a88733900320dfa
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
4 years agobapi: separate init shm reply from fd exchange 41/19441/3
Florin Coras [Thu, 9 May 2019 02:57:24 +0000 (19:57 -0700)]
bapi: separate init shm reply from fd exchange

Wait for init shm reply to be consumed before sending fd over the
socket.

Change-Id: I5cd0246d8debcc3c8a163b7e2dd400ca0050a2fb
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agovls: relax copy on fork locks 40/19440/3
Florin Coras [Thu, 9 May 2019 02:08:30 +0000 (19:08 -0700)]
vls: relax copy on fork locks

Change-Id: I08cb7180364a5ef8444c9895c6d4f4842661b2a7
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoImprove exceptions in vpp_transport_socket.py 52/19452/3
Vratko Polak [Thu, 9 May 2019 08:04:13 +0000 (10:04 +0200)]
Improve exceptions in vpp_transport_socket.py

Added TODOs for further improvements.

Change-Id: I6724dd8b3de5537518a5c6e0ee9abe72f57b273e
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
4 years agoUpdate API description 37/19437/2
Igor Mikhailov (imichail) [Wed, 8 May 2019 23:01:01 +0000 (16:01 -0700)]
Update API description

Change-Id: I2d616a30e745045789287cb13b26fb12d51d2884
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
4 years agomake test: add quic multistream test case 39/19439/4
Dave Wallace [Thu, 9 May 2019 00:46:33 +0000 (20:46 -0400)]
make test: add quic multistream test case

- Also refactor test_quic.py to prepare for
  external echo tests & ipv6 tests

Change-Id: I7dff60b375ed67d920e73294e0bf491cd3206d56
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
4 years agoNAT: VPP-1665 coverity scan issue fix 39/19339/4
Filip Varga [Fri, 3 May 2019 20:06:16 +0000 (22:06 +0200)]
NAT: VPP-1665 coverity scan issue fix

Change-Id: I092a9f8237a895f907590772f2ea213a86502fb4
Signed-off-by: Filip Varga <fivarga@cisco.com>
4 years agoFix copypaste in vpp_papi/vpp_transport_socket.py 56/19456/1
Vratko Polak [Thu, 9 May 2019 09:06:09 +0000 (11:06 +0200)]
Fix copypaste in vpp_papi/vpp_transport_socket.py

Change-Id: I80e6ccd6f63e3eca2ba723f3b39a47475ae9aed0
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
4 years agoldp: add option to eanble transparent TLS connections 50/19350/13
Yu Ping [Tue, 7 May 2019 16:40:24 +0000 (00:40 +0800)]
ldp: add option to eanble transparent TLS connections

If LDP_TRANSPARENT_TLS is set, LDP transparently converts TCP into TLS
connnection.
Verified in Nginx LD_PRELOAD mode.

Change-Id: I2229be61a0deb723bf5d94a2193ecb792dd997fb
Signed-off-by: Yu Ping <ping.yu@intel.com>
4 years agomake test: introduce COREDUMP_COMPRESS option 82/19382/2
Klement Sekera [Mon, 6 May 2019 17:11:25 +0000 (19:11 +0200)]
make test: introduce COREDUMP_COMPRESS option

setting COREDUMP_COMPRESS=y (or =1) indicates that any core file
is to be compressed by the test framework unless DEBUG=core is set.

Change-Id: Ib0d6d30a7398dbeb6ab5e5dbb411bf5c641b5206
Signed-off-by: Klement Sekera <ksekera@cisco.com>
4 years agosession: send tx events when data is dequeued 28/19428/5
Florin Coras [Tue, 7 May 2019 23:28:16 +0000 (16:28 -0700)]
session: send tx events when data is dequeued

Change-Id: Ib8cb19361c42e38e3f68d7147358378fff161eb1
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoFix $(SUSE_NAME) in Makefile. 17/17917/3
Paul Vinciguerra [Wed, 27 Feb 2019 19:15:04 +0000 (11:15 -0800)]
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>
5 years agoVPP-1508: Fix zip() under python3. 81/17981/4
Paul Vinciguerra [Sat, 2 Mar 2019 18:43:05 +0000 (10:43 -0800)]
VPP-1508: Fix zip() under python3.

Under py3, zip() returns an iterator. Fix so no longer needed in a list contex.

Change-Id: I64b4560d990686cc87fd26d703030f9fb2494f12
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoFix Exception typo in vpp_papi/vpp_transport_socket.py. 26/19426/2
Paul Vinciguerra [Tue, 7 May 2019 19:30:50 +0000 (12:30 -0700)]
Fix Exception typo in vpp_papi/vpp_transport_socket.py.

Change-Id: I80ef74abcb14136984a4c94ba60414a1348015d3
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agobihash: Freeing up working_copy_lengths vector 27/19427/2
Vijayabhaskar Katamreddy [Tue, 7 May 2019 20:27:32 +0000 (13:27 -0700)]
bihash: Freeing up working_copy_lengths vector

1)Freeing up working_copy_lengths vector
2)Passing vebososity level to fmt_fn

Change-Id: I5e3f541e2f8cc0150105cc35835366f84937bb2e
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
5 years agosvm: decouple fifo and default chunk allocation 45/19345/12
Florin Coras [Sun, 5 May 2019 20:19:57 +0000 (13:19 -0700)]
svm: decouple fifo and default chunk allocation

Default chunk is no longer embedded into the fifo and on free is
returned to its respective chunk list.

Change-Id: Ifc5d214eaa6eca44356eb79dd75650fb8569113f
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoImprove lcov reported code coverage stats 15/19415/4
Dave Barach [Tue, 7 May 2019 14:30:18 +0000 (10:30 -0400)]
Improve lcov reported code coverage stats

Remove unused code from the vppinfra build
Add a bihash test case

Change-Id: Ia930309efa28620dd1c0d69aaec432e2d8bd962c
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agomake test: add python3 compatibility in extend_packet 96/19396/2
Alexandre Poirrier [Tue, 7 May 2019 08:39:57 +0000 (10:39 +0200)]
make test: add python3 compatibility in extend_packet

Change-Id: I342ff8e44e0d1ebd9f2c8cc386372b2f5a731080
Signed-off-by: Alexandre Poirrier <apoirrie@cisco.com>
5 years agoAllow repeated connects on PAPI socket transport 13/19413/2
Vratko Polak [Tue, 7 May 2019 14:16:06 +0000 (16:16 +0200)]
Allow repeated connects on PAPI socket transport

The previous implementation fails with
RuntimeError("cannot set daemon status of active thread")
when a second connect() follows first disconnect().

Change-Id: I671005923eb020130a57b0b484a3386a05d7be33
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
5 years agoAdd bihash statistics hook 33/19333/3
Dave Barach [Fri, 3 May 2019 16:58:01 +0000 (12:58 -0400)]
Add bihash statistics hook

Example / unit-test in .../src/plugins/unittest/bihash_test.c

Change-Id: I23fd0ba742d65291667a755965aee1a3d3477ca2
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoipsec-mb: fix the "make test" on non-AESNI platforms 90/19290/3
Andrew Yourtchenko [Wed, 1 May 2019 13:39:25 +0000 (15:39 +0200)]
ipsec-mb: fix the "make test" on non-AESNI platforms

"make test" fails with invalid instruction on non-AESNI platform,
so do not register the ipsec-mb crypto backend in this case.

Change-Id: I61887e40ce3d39880e7da534b9dee00fd677d8fd
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agoFix af_packet issues: 05/19405/1
jackiechen1985 [Tue, 7 May 2019 10:59:13 +0000 (18:59 +0800)]
Fix af_packet issues:

1. Fix af_packet memory leak;
2. Fix close socket twice;
3. Adjust debug log for syscall;
4. Adjust dhcp client output log;

Change-Id: I96bfaef16c4fad80c5da0d9ac602f911fee1670d
Signed-off-by: jackiechen1985 <xiaobo.chen@tieto.com>
5 years agoadd TLS endpoint function 43/19343/3
Yu Ping [Mon, 6 May 2019 18:24:30 +0000 (02:24 +0800)]
add TLS endpoint function

a bit like QUIC, and the added function can get the endpoint info in TLS,
so that the VCL layer can get those info correctly

Change-Id: Ied7aa3077087c1814499364dfa7654a088ad9910
Signed-off-by: Yu Ping <ping.yu@intel.com>
5 years agomake test: Fix truncated core file 76/18776/3
Dave Wallace [Wed, 10 Apr 2019 00:19:51 +0000 (20:19 -0400)]
make test: Fix truncated core file

- Wait for coredump to complete before killing VPP.

Change-Id: Ib7b96b339f796f9ef7e0eadff81d181464b8a03a
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agogcov / test framework: sigterm not sigkill 79/19379/2
Dave Barach [Mon, 6 May 2019 14:49:41 +0000 (10:49 -0400)]
gcov / test framework: sigterm not sigkill

Otherwise, gcov data vanishes without a trace.

Add a __gcov_flush() call to the unix signal handler, under #ifdef
CLIB_GCOV. Add -DCLIB_GCOV to vpp_gcov_TAG_CFLAGS.

Change-Id: I2726e671b26dfbe7fae88f46a8207bb2b5106884
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoRemove target option when IPSecMB disabled 75/19275/2
Nathan Skrzypczak [Tue, 30 Apr 2019 16:22:16 +0000 (18:22 +0200)]
Remove target option when IPSecMB disabled

Change-Id: I2313932bdc41a4702585aa338f22df3f6e4e23d7
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agoip4_load_balance: leverage vlib_get_buffers 42/19342/2
Zhiyong Yang [Sun, 5 May 2019 14:52:43 +0000 (22:52 +0800)]
ip4_load_balance: leverage vlib_get_buffers

vlib_get_buffers can save 1.2 clocks/pkt from 16.1 to 14.9 clocks/pkt
on Skylake.

Change-Id: I79d8b58b192280af5e5a5f73562b6301e1821cec
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
5 years agovirtio: refactor ctrl queue support 89/19289/7
Mohsin Kazmi [Wed, 1 May 2019 12:26:17 +0000 (14:26 +0200)]
virtio: refactor ctrl queue support

Change-Id: Ifb16351f39e5eb2cd154e70a1c96243e4842e80d
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoAdd QUIC multistream support 28/19328/3
Nathan Skrzypczak [Fri, 3 May 2019 12:20:27 +0000 (14:20 +0200)]
Add QUIC multistream support

Change-Id: I9dc746b8c62c3e7ee2f65e34a1a1dca243ed4bd9
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agoppp: simplify code using existing functions 56/19356/2
Zhiyong Yang [Mon, 6 May 2019 08:47:22 +0000 (04:47 -0400)]
ppp: simplify code using existing functions

Change-Id: Ib5289b4d08ca7a8d7f786cc606e6c760735b2a35
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
5 years agoAdd missing init fn dependency to ipsec_init 44/19344/2
Dave Barach [Sun, 5 May 2019 17:34:28 +0000 (13:34 -0400)]
Add missing init fn dependency to ipsec_init

ipsec_init fails if vnet_feature_init hasn't occurred. Can happen if a
particular set of plugins are loaded.

Change-Id: I67b289d640c28d04e248b9a09ebcc8f205834fd2
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoFix VPP-1487 DHCP client does not support option 6-domain server 04/19204/5
jackiechen1985 [Mon, 29 Apr 2019 04:00:43 +0000 (12:00 +0800)]
Fix VPP-1487 DHCP client does not support option 6-domain server

Change-Id: I36ad1ef2a53af3d3f3a6348bc189b17e9e4e21bd
Signed-off-by: jackiechen1985 <xiaobo.chen@tieto.com>
5 years agoNAT64: Fix port byte order in nat64_free_out_addr_and_port 33/18133/2
Faicker Mo [Fri, 8 Mar 2019 09:22:21 +0000 (17:22 +0800)]
NAT64: Fix port byte order in nat64_free_out_addr_and_port

Change-Id: Idc050e469a5b697ca5587ddd4e87ac2d48d15658
Signed-off-by: Faicker Mo <faicker.mo@ucloud.cn>
5 years agoNAT66:assgin a error value for clib_bihash_kv_48_8_t kv 02/19202/2
lijianpeng [Sun, 28 Apr 2019 05:18:35 +0000 (13:18 +0800)]
NAT66:assgin a error value for clib_bihash_kv_48_8_t kv

Change-Id: Iac0c8218abc8d144d93a955e948a48a732b63107
Signed-off-by: lijianpeng <li.jianpeng@zte.com.cn>
5 years agoNAT: VPP-1646 test case asserts 40/19340/2
Filip Varga [Sat, 4 May 2019 14:02:53 +0000 (16:02 +0200)]
NAT: VPP-1646 test case asserts

Change-Id: I466cea5cbe82a34d4b0b20a76bf5df4d529670e4
Signed-off-by: Filip Varga <fivarga@cisco.com>
5 years agosession/svm: apis for fifo shrinking 37/19337/3
Florin Coras [Fri, 3 May 2019 18:46:55 +0000 (11:46 -0700)]
session/svm: apis for fifo shrinking

Change-Id: Ie519683bb90aae6fb95f2a09e251cded1890ed41
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosvm: basic support for fifo shrinking 83/19283/21
Florin Coras [Thu, 2 May 2019 19:52:19 +0000 (12:52 -0700)]
svm: basic support for fifo shrinking

As opposed to growing, this is not a bulk operation, instead dependent
on how the producer/consumer advance head and tail, the fifo will shrink
in one or multiple steps.

Only once the fifo's nitems and size are reduced to their appropriate
values, equal or larger to what was requested, can the fifo chunks be
collected by the owner. Chunk collection must be done with the segment
heap pushed.

Change-Id: Iae407ccf48d85320aa3c1e0304df56c5972c88c1
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoAdd callbacks for extended trace functionality, one as content is added with vlib_add... 36/19336/2
Gary Boon [Fri, 3 May 2019 17:30:14 +0000 (13:30 -0400)]
Add callbacks for extended trace functionality, one as content is added with vlib_add_trace, and one to post-process the captured content immediately after trace filtering.

Change-Id: Ieb521686d8c0e7ce1a0ef325f7abdde613e1eb9c
Signed-off-by: Gary Boon <gboon@cisco.com>
5 years agomp_safe SW_INTERFACE_DUMP, SW_INTERFACE_DETAILS, SW_INTERFACE_TAG_ADD_DEL, 12/19312/2
Steven Luong [Thu, 25 Apr 2019 18:19:49 +0000 (11:19 -0700)]
mp_safe SW_INTERFACE_DUMP, SW_INTERFACE_DETAILS, SW_INTERFACE_TAG_ADD_DEL,
BRIDGE_DOMAIN_DUMP, CONTROL_PING, CONTROL_PING_REPLY, and show interface CLI

Change-Id: I2927573b66bb5dd134b37ffb72af0e6676750917
Signed-off-by: Steven Luong <sluong@cisco.com>
(cherry picked from commit 15c31921a628c5500cbed2ebc588d7ddbaa970a3)

5 years agosvm: store normalized head/tail for fifo 09/19309/4
Florin Coras [Thu, 2 May 2019 19:52:19 +0000 (12:52 -0700)]
svm: store normalized head/tail for fifo

If head/tail are stored as "absolute" values that are normalized to [0,
fifo_size] interval, when fifo is shrunk/grown the consumer and producer
have to independently update to the new fifo size and fix head and tail,
respectively.

If the head and tail are stored as normalized values, under the right
conditions, they don't need to be fixed when fifo size changes.

This reverts one of the changes in gerrit 18223.

Change-Id: I55a908828afe90925cf7c20186a940b25e5805f9
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoFix FIB initialization in UDP input 19/19319/2
Nathan Skrzypczak [Fri, 3 May 2019 11:54:44 +0000 (13:54 +0200)]
Fix FIB initialization in UDP input

Change-Id: I7c88ada2af039aa0861fe7c71361a293b999d0c7
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agoAdd packet headers in UDPC fifos 18/19118/3
Aloys Augustin [Tue, 23 Apr 2019 15:18:38 +0000 (17:18 +0200)]
Add packet headers in UDPC fifos

This change adds packet headers for each packet in a UDPC connection. This
changes the semantic of UDPC from an unreliable, unordered stream of bytes to an
unreliable, unordered sequence of packets.

Change-Id: I831e43903870a5720d26daa6e971299d03b208d7
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
5 years agoplugins: clean up plugin descriptions 22/19122/3
Dave Wallace [Tue, 23 Apr 2019 19:29:50 +0000 (15:29 -0400)]
plugins: clean up plugin descriptions

- Make plugin descriptions more consistent
  so the output of "show plugin" can be
  used in the wiki.

Change-Id: I4c6feb11e7dcc5a4cf0848eed37f1d3b035c7dda
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agoAdd the packages for 19.04 97/19297/2
jdenisco [Wed, 1 May 2019 19:27:40 +0000 (15:27 -0400)]
Add the packages for 19.04

Change-Id: I167bb7d86bbb5cba0b265978b4f8faf271b77411
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agovlib: align stack on OS page size 84/19284/2
Benoît Ganne [Wed, 1 May 2019 08:10:48 +0000 (10:10 +0200)]
vlib: align stack on OS page size

Change-Id: I6d7589c967c5801a6a21a213723e2a895269e105
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agoNAT: VPP-1661 - test case cleanup and refactoring 68/19168/5
Filip Varga [Thu, 25 Apr 2019 12:55:32 +0000 (14:55 +0200)]
NAT: VPP-1661 - test case cleanup and refactoring

Change-Id: I0eb85252d4b489ba25dcf59252e2bcf3b0cd5c6a
Signed-off-by: Filip Varga <fivarga@cisco.com>
5 years agovpp_papi_provider.py: update defautmapping. 87/19287/2
Paul Vinciguerra [Wed, 1 May 2019 03:44:25 +0000 (20:44 -0700)]
vpp_papi_provider.py: update defautmapping.

Add missing create_bvi/delete_bvi to defaultmapping.
Correct typo in interface.api documentation.

Change-Id: I8aa187f3b33c21fb2fcd55311ef79777c81d94d4
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoFreshen RPM dependencies in vpp specfile. 54/18954/6
Thomas F Herbert [Mon, 22 Apr 2019 21:35:03 +0000 (17:35 -0400)]
Freshen RPM dependencies in vpp specfile.

VPP-1650

Also update specfile for fedora. Also update and
rationalize python3 and python2 dependencies
for CentOS.

Change-Id: Ia87abfe7b7080ecd07e485e6c32270fda56a496a
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
5 years agoAdd node, frame to vlib main loop perf analysis callback arguments 95/19295/2
Dave Barach [Wed, 1 May 2019 15:30:13 +0000 (11:30 -0400)]
Add node, frame to vlib main loop perf analysis callback arguments

Change-Id: Iaa5cd89791b0dfdb56a75009c564581d10696d83
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agovirtio: Fix virtio buffer allocation 50/19250/2
Mohsin Kazmi [Tue, 30 Apr 2019 08:11:38 +0000 (10:11 +0200)]
virtio: Fix virtio buffer allocation

Change-Id: I0ffb468aef56f5fd223218a83425771595863666
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agovirtio: remove configurable queue size support 73/19273/3
Mohsin Kazmi [Tue, 30 Apr 2019 15:25:26 +0000 (17:25 +0200)]
virtio: remove configurable queue size support

Native virtio device through legacy driver can't support configurable queue size.

Change-Id: I76c446a071bef8a469873010325d830586aa84bd
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agosvm: remove dead code triggering overflow 88/19288/2
Benoît Ganne [Mon, 29 Apr 2019 14:55:46 +0000 (16:55 +0200)]
svm: remove dead code triggering overflow

split_point is incremented twice per iteration whereas we only check for
*split_point != '\0' at the beginning of the iteration.
This code seems dead so remove it altogether.

Change-Id: Iabaf26cd5c0c8f747e267bcff044540a2376d3f6
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agovpp_config: Update deprecated platform.linux_distribution() 85/19285/2
Paul Vinciguerra [Wed, 1 May 2019 04:15:18 +0000 (21:15 -0700)]
vpp_config: Update deprecated platform.linux_distribution()

platform.linux_distribution() was deprecated in python 3.5 and removed in 3.8.

update to use distro.linux_distribution().

>>> import platform
>>> platform.linux_distribution()
('Ubuntu', '16.04', 'xenial')

>>> import distro
>>> distro.linux_distribution()
('Ubuntu', '16.04', 'xenial')

Change-Id: Ia8a7cd2d78fd56145cdded0b9d361a1b45bb4d27
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agovpp_config: correct usage of 'is' for equality tests. 86/19286/2
Paul Vinciguerra [Wed, 1 May 2019 03:57:04 +0000 (20:57 -0700)]
vpp_config: correct usage of 'is' for equality tests.

Change-Id: I30b1cdb2930560d7c40c1bde098fd21f16a17683
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoDOCS: Add link to 19.08 test framework docs 92/19292/1
Dave Wallace [Wed, 1 May 2019 14:42:58 +0000 (10:42 -0400)]
DOCS: Add link to 19.08 test framework docs

Change-Id: Ib0c3e3376152f4ec04e3689fb9ed94a859f1022f
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agoEnable NEON instructions in memcpy_le 35/19135/3
Lijian.Zhang [Thu, 4 Apr 2019 07:26:26 +0000 (15:26 +0800)]
Enable NEON instructions in memcpy_le

Neon version of memcpy_le gives better performance compared with memmove on aarch64

Change-Id: I44b487bb0795a6e70dd1e55bdde4a077773ec859
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Sirshak Das <sirdas@arm.com>
5 years agoesp_encrypt: remove unnecessary code 51/19251/2
Zhiyong Yang [Tue, 30 Apr 2019 09:33:53 +0000 (05:33 -0400)]
esp_encrypt: remove unnecessary code

Change-Id: I2d7e873fca6ab266af75814fac5d4cb5cda93cef
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
5 years agoDOCS: Add link to 19.04 make test documentation 67/19267/2
Dave Wallace [Tue, 30 Apr 2019 13:38:12 +0000 (09:38 -0400)]
DOCS: Add link to 19.04 make test documentation

Change-Id: Iffa44b6a20f8446c94f8412e937ca40273aa8f2f
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
5 years agoipsec: fix ipsec format overflow 68/19268/2
Benoît Ganne [Mon, 29 Apr 2019 14:31:24 +0000 (16:31 +0200)]
ipsec: fix ipsec format overflow

hi->name is not NULL-terminated. Use specialized format function which
does the right thing.

Change-Id: Iadda51461af0c1ad4f38a6d24b76e816020f35c8
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agoVPP 19.04 Release Notes 26/19126/2
Dave Wallace [Mon, 22 Apr 2019 21:49:09 +0000 (17:49 -0400)]
VPP 19.04 Release Notes

Change-Id: I66b35c7c03303bc7200c01e9da926bce778b2d6b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit 3d18a191aaf31ef8b1524ab80fed22a304adf75d)

5 years agosvm: more fifo refactor/cleanup 05/19205/9
Florin Coras [Mon, 29 Apr 2019 04:16:30 +0000 (21:16 -0700)]
svm: more fifo refactor/cleanup

Change-Id: Ie76c69641c8598164d0d00fd498018037258fd86
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoelf: fix memcmp() overflow 65/19265/3
Benoît Ganne [Fri, 26 Apr 2019 09:09:49 +0000 (11:09 +0200)]
elf: fix memcmp() overflow

name can be (and will be) smaller than section_name_start. Both name and
section_name_start are NULL-terminated so we can use strcmp.

Change-Id: Iec414810109f9267de20c25c0fe601df35daf89e
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agostats: fix non null terminated string 64/19264/3
Benoît Ganne [Fri, 26 Apr 2019 09:08:45 +0000 (11:08 +0200)]
stats: fix non null terminated string

Change-Id: I08e490d9e955072eff20d0141598157d995bcb56
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agovppinfra: fix buffer overflow in unformat_token 63/19263/2
Benoît Ganne [Thu, 18 Apr 2019 15:42:24 +0000 (17:42 +0200)]
vppinfra: fix buffer overflow in unformat_token

Change-Id: Ia60e4092c45c192002de064c362a9265bc9baeec
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agocrypto: enforce per-alg crypto key length 40/19240/2
Benoît Ganne [Mon, 29 Apr 2019 14:05:46 +0000 (16:05 +0200)]
crypto: enforce per-alg crypto key length

Crypto algorithms have different requirements on key length. As we do
not support key stretching (eg. PBKDF2), user must provide the exact
key length used by the algorithm.
Failing that means low-level crypto functions might read garbage (eg.
aes128_key_expand() will read 16-bytes, regardless of the key provided
by the user).

Change-Id: I347a1ea7a59720a1ed07ceaad8b00a31f78458c9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
5 years agostats: Add version defines in stat_client.h 28/19228/2
Ole Troan [Mon, 29 Apr 2019 11:38:52 +0000 (13:38 +0200)]
stats: Add version defines in stat_client.h

Change-Id: I9894a0c613b0486112623920d49371ceec9e6111
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoreassembly: avoid race-conditions 56/19256/2
Klement Sekera [Tue, 30 Apr 2019 11:01:08 +0000 (13:01 +0200)]
reassembly: avoid race-conditions

Change-Id: Ibf5c283217a985e43a562f1969573eeb26ee6017
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoSphinx docs: Fix security vulnerability (VPP-1655) 77/19077/2
Dave Wallace [Sun, 21 Apr 2019 22:20:18 +0000 (18:20 -0400)]
Sphinx docs: Fix security vulnerability (VPP-1655)

Change-Id: I9b11d15866d708eb843936ebfd120940d284a2de
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit facb4d44475cd0040cc8964be30180e1adeb2021)

5 years agoDOC ONLY: add a buffer metadata writeup 41/19241/1
Dave Barach [Mon, 29 Apr 2019 21:11:38 +0000 (17:11 -0400)]
DOC ONLY: add a buffer metadata writeup

Change-Id: Ic8034cfe3d3c5a9c3d32e97e93e5d9334cc58ca2
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoAPI: Add support for limits to language. 24/19124/3
Ole Troan [Tue, 23 Apr 2019 15:11:01 +0000 (17:11 +0200)]
API: Add support for limits to language.

string name [limit = 64];

Meta-data to do argument validation.

Change-Id: I1f3e0f09b2d5285224399413d25206f77bd3f4b1
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agosvm: fix fifo tail/head/ooo logic for u32 wrap 01/19201/9
Florin Coras [Sat, 27 Apr 2019 03:34:49 +0000 (20:34 -0700)]
svm: fix fifo tail/head/ooo logic for u32 wrap

These were introduced with the switch to unbound tail/head size, so they
only affect master. Added unit tests to avoid future surprises.

Change-Id: I83b6c9efbe31d8092ba59b8e2ed46f4da97f35db
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoIF: return VTR attributes for all ifs in dump API 96/19196/1
Alexander Chernavin [Fri, 26 Apr 2019 14:43:09 +0000 (10:43 -0400)]
IF: return VTR attributes for all ifs in dump API

With this commit, VTR attributes are shown not only for subinterfaces
but for all interfaces.

Change-Id: I498185d905c0bf48431cddb916165f8e9c841b1f
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
5 years agocrypto, ipsec: change GCM IV handling 82/19182/2
Damjan Marion [Thu, 25 Apr 2019 16:28:31 +0000 (18:28 +0200)]
crypto, ipsec: change GCM IV handling

- nonce construction out of salt and iv is ipsec specific so it should be
handled in ipsec code

- fixes GCM unit tests

- GCM IV is constructed out of simple counter, per RFC4106 section 3.1

Change-Id: Ib7712cc9612830daa737f5171d8384f1d361bb61
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agonat: fix ED mode unknown proto session management 46/19146/3
Matthew Smith [Mon, 22 Apr 2019 22:30:13 +0000 (17:30 -0500)]
nat: fix ED mode unknown proto session management

In endpoint dependent mode, when a session at the head of a user
LRU is reused, if the IP protocol for that session was unknown (any
other than tcp, udp, or icmp), the attempt to delete the session
mapping from the in2out bihash was not using the same key that was
used when the mapping was added. This would cause the deletion of
the mapping to fail. If packets arrive later which match the original
session, the search for the session key would succeed when it should
have failed and the session, which is now associated with a different
pair of endpoints, may end up being updated when it should not be.

Update the key generation when reallocating an existing session to
do the right thing if the session is for an unknown protocol.

Also update format_nat_session() for unknown protocols so that
'vppctl show nat44 session detail' will display the protocol
correctly. In endpoint dependent mode, the IP protocol is stored in
the port field on a session if the protocol is unknown. The value
is stored in host byte order, but the format function was swapping
the bytes before writing the protocol.

Change-Id: I9e8daadd4569cb2610532dab4e4f41d1567cf3d1
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agonat: prevent creation when-resolved static mappings on errors 63/18963/5
Alexander Chernavin [Wed, 17 Apr 2019 08:38:04 +0000 (04:38 -0400)]
nat: prevent creation when-resolved static mappings on errors

When you create two identical NAT44 static mappings using interface
name as external address and only local or ext port is different,
VALUE_EXIST will be raised but when-resolved static mapping will
remain.

vpp# nat44 add static mapping tcp local 10.128.0.129 443 external GigabitEthernet0/8/0 8443
vpp# nat44 add static mapping tcp local 10.128.0.129 80 external GigabitEthernet0/8/0 8443
nat44 add static mapping: Mapping already exist.
vpp# show nat44 static mappings
NAT44 static mappings:
 tcp local 10.128.0.129:443 external 2.2.2.2:8443 vrf 0
 tcp local 10.128.0.129:443 external GigabitEthernet0/8/0:8443 vrf -1
 tcp local 10.128.0.129:80 external GigabitEthernet0/8/0:8443 vrf -1

With this commit, when-resolved static mapping is not created if the
translation only differs in local or ext port.

Change-Id: Ifc960b9dc1371caa2a8d3206a80a0ffd10d293e4
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
5 years agosvm: fifo segment support for chunk allocation 76/19176/9
Florin Coras [Thu, 25 Apr 2019 19:58:46 +0000 (12:58 -0700)]
svm: fifo segment support for chunk allocation

Change-Id: Ie96706b4d8bcb32d2d5f065bc765f95f4e9369e7
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agocrypto_ia32: minor change logically 80/19180/1
Zhiyong Yang [Fri, 26 Apr 2019 02:58:24 +0000 (22:58 -0400)]
crypto_ia32: minor change logically

"break;" will never be run after "return;"

Change-Id: I4fdfd10406fdf61897078746d28fa1ee32fb0081
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
5 years agocrypto: AES GCM IV length is always 12 74/19174/3
Damjan Marion [Thu, 25 Apr 2019 16:24:04 +0000 (18:24 +0200)]
crypto: AES GCM IV length is always 12

... at least for use cases we are interested in

Change-Id: I1156ff354635e8f990ce2664ebc8dcd3786ddca5
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agodocs: Add VPP inside the Cloud 26/17926/9
Francesco Spinelli [Thu, 28 Feb 2019 10:51:24 +0000 (11:51 +0100)]
docs: Add VPP inside the Cloud

This commit updates the VPP docs, adding the  VPP deployment and configuration inside the cloud

Change-Id: I97322deb57f0dfb1aa46cca301adbc91ce4a19f6
Signed-off-by: Francesco Spinelli <francescospinelli94@live.it>
5 years agoClean up redirects 77/19177/3
Dave Barach [Thu, 25 Apr 2019 20:50:21 +0000 (16:50 -0400)]
Clean up redirects

Both firefox and chrome seem happy to browse a hugo-generated site

Change-Id: Id216ad9c781643df42ac4fbce598eb2afa600f4d
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoChange dpdk thread data flags type to u16 from u8 to get more useful data 85/19085/2
Simon Zhang [Mon, 22 Apr 2019 15:20:47 +0000 (23:20 +0800)]
Change dpdk thread data flags type to u16 from u8 to get more useful data

Change-Id: Idc3763c38f5aa638d4f290f4d4730577601d78b8
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
5 years agotap: Fix the indirect buffer allocation 70/19170/2
Mohsin Kazmi [Thu, 25 Apr 2019 12:54:32 +0000 (14:54 +0200)]
tap: Fix the indirect buffer allocation

Change-Id: I73f76c25754f6fb14a49ae47b6404f3cbabbeeb5
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agosession: cleanup segment manager and fifo segment 51/19151/15
Florin Coras [Wed, 24 Apr 2019 21:44:46 +0000 (14:44 -0700)]
session: cleanup segment manager and fifo segment

Change-Id: I984f347fb465c0c405cef668d8690457e81788e2
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agounittest: AES GCM test cases cleanup 73/19173/2
Damjan Marion [Thu, 25 Apr 2019 16:17:43 +0000 (18:17 +0200)]
unittest: AES GCM test cases cleanup

This reverts commit 7f2d57b69ea031cc6110b3a1f4c1ef1c35b67181.

Change-Id: I23c3b4d2dab6e13cc8fbbf0ac9d0cfd8af3241c1
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agocrypto_ipsecmb: CBC IV size is always equal to block size 72/19172/2
Damjan Marion [Thu, 25 Apr 2019 16:15:52 +0000 (18:15 +0200)]
crypto_ipsecmb: CBC IV size is always equal to block size

Change-Id: If8b2c8942db17a853883360885def47ce50e7ddd
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agocrypto_ipsecmb: use pre-expanded keys 45/19145/13
Damjan Marion [Wed, 24 Apr 2019 15:32:01 +0000 (17:32 +0200)]
crypto_ipsecmb: use pre-expanded keys

Change-Id: Ie1d34b7e71554516595e0cd228e2cd54a3b8d629
Signed-off-by: Damjan Marion <damarion@cisco.com>