vpp.git
3 years agoapi: add new stream message convention 91/20191/15
Ole Troan [Wed, 20 May 2020 13:47:06 +0000 (15:47 +0200)]
api: add new stream message convention

Instead of having to wrap dump/detail calls in control ping, send details messages in between a normal
reply / request pair. As expressed in the below service statement.

Example:

service {
  rpc map_domains_gets returns map_domains_get_reply
    stream map_domain_details;
};

define map_domains_get
{
  u32 client_index;
  u32 context;
  u32 cursor;
};

define map_domains_get_reply
{
  u32 context;
  i32 retval;
  u32 cursor;
};

To avoid blocking the main thread for too long, the replies are now sent in client message queue size
chunks. The reply message returns VNET_API_ERROR_EAGAIN when there is more to read.
The API handler must also include a "cursor" that is used to the next call to the get function.

API handler example:
  REPLY_AND_DETAILS_MACRO (VL_API_MAP_DOMAINS_GET_REPLY, mm->domains,
  ({
    send_domain_details (cursor, rp, mp->context);
  }));

The macro starts from cursor and iterates through the pool
until vl_api_process_may_suspend() returns true or the iteration
reaches the end of the list.

Client Example:

cursor = 0
d = []
while True:
    rv, details = map_domains_get(cursor=cursor)
    d += details
    if rv.retval == 0 or rv.retval != -165:
        break
    cursor = rv.cursor

or the convenience iterator:
for x in vpp.details_iter(vpp.api.map_domains_get):
  pass

or

list(details_iter(map_domains_get))

Change-Id: Iad9f6b41b0ef886adb584c97708dd91cf552749e
Type: feature
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agodpdk: del warnings that duplicate counters in esp 97/27197/2
Alexander Chernavin [Thu, 21 May 2020 14:06:19 +0000 (10:06 -0400)]
dpdk: del warnings that duplicate counters in esp

Type: improvement

Change-Id: I51cbe5c76a88d7fa65fa24dc1528e4f991eba534
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
3 years agovppinfra: fix SIGBUS in bihash init when running unpriviledged 26/27226/1
Damjan Marion [Sun, 24 May 2020 18:43:10 +0000 (20:43 +0200)]
vppinfra: fix SIGBUS in bihash init when running unpriviledged

Obserbed when VPP is running in k8s container.

Type: fix
Change-Id: Ibbff9c3921bd7f4f97d47cb6f10eed8ed5efe269
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovcl: add sendmsg/recvmsg for vlsh in ldp 22/27222/6
Florin Coras [Fri, 22 May 2020 20:36:29 +0000 (20:36 +0000)]
vcl: add sendmsg/recvmsg for vlsh in ldp

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: If61eec3f5723e6b36e6f4a21c05d8d0dd3547fc7

3 years agotcp: track buffer alloc failures 23/27223/3
Florin Coras [Fri, 22 May 2020 21:51:30 +0000 (21:51 +0000)]
tcp: track buffer alloc failures

Reported as part of "show tcp stats"

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I499ab4e41d13aaf1a0d060e37f09087e63d09567

3 years agoipsec: fixed chaining ops after add footer and icv 85/26885/4
PiotrX Kleski [Tue, 5 May 2020 12:14:22 +0000 (14:14 +0200)]
ipsec: fixed chaining ops after add footer and icv

In case there is no free space in first buffer for ICV and footer,
additional buffer will be added, but esp_encrypt will stay in single
buffer mode.
The issue happens for the following payload sizes:
 - TCP packets with payload 1992
 - ICMP packets with payload 2004

This fix moves the single/chained buffer ops selection to after
esp_add_footer_and_icv call.

Type: fix

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com>
Change-Id: Ic5ceba418f738933f96edb3e489ca2d149033b79

3 years agovppinfra: remove include 21/27221/2
Damjan Marion [Fri, 22 May 2020 17:00:25 +0000 (19:00 +0200)]
vppinfra: remove include

Type: refactor
Change-Id: Iea83e0ea8a6e13f3c9ece1a13f891c1fa0956711
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agoavf: interrupt mode, support for WB_ON_ITR 19/27219/2
Damjan Marion [Fri, 22 May 2020 15:53:49 +0000 (17:53 +0200)]
avf: interrupt mode, support for WB_ON_ITR

Type: improvement
Change-Id: I5c944c3f82e0f278b64f28e09a74f24514c029f0
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agoavf: improve link speed handling 18/27218/1
Damjan Marion [Fri, 22 May 2020 15:22:41 +0000 (17:22 +0200)]
avf: improve link speed handling

Support VIRTCHNL_VF_CAP_ADV_LINK_SPEED.

Type: improvement
Change-Id: Ie45c9d557d0369464cbb6881ee1259ef3807d7d5
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agonat: fix dslite session port allocation 04/27204/2
Vladimir Ratnikov [Thu, 21 May 2020 17:52:51 +0000 (13:52 -0400)]
nat: fix dslite session port allocation

Fix allocation of port per dslite session.
After each session is created per protocol,
when new one should be created with new port,
instead it's trying to create with the same port
and while(1) loop is executed forever and VPP does
not response

Type: fix

Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
Change-Id: Ic91b8b07253498ef9846ca60bcd4c4c76a5fac91

3 years agonat: output fib index fix 96/27196/2
Filip Varga [Wed, 20 May 2020 12:34:01 +0000 (14:34 +0200)]
nat: output fib index fix

Type: fix

Change-Id: I7cb7e3716aee865b12235865009e39ed6ad16680
Signed-off-by: Filip Varga <fivarga@cisco.com>
3 years agovlib: enforce buffer alloc return value check 14/26414/4
Damjan Marion [Tue, 7 Apr 2020 22:52:53 +0000 (00:52 +0200)]
vlib: enforce buffer alloc return value check

Type: improvement
Change-Id: I33cd702f9c4d995520509fdb16e3b8f8fd50e535
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovcl: support connected udp listens 11/27111/4
Florin Coras [Sat, 16 May 2020 18:18:14 +0000 (18:18 +0000)]
vcl: support connected udp listens

Request connected udp listener behavior by setting
VPPCOM_ATTR_SET_CONNECTED attribute with vppcom_session_attr

Type: feature

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iba95155c0f41cea8c6e1a4263946270d49c213ac

3 years agoip: Dual loop error in midchain chksum 87/27187/2
Neale Ranns [Wed, 20 May 2020 19:58:20 +0000 (19:58 +0000)]
ip: Dual loop error in midchain chksum

Type: fix

Change-Id: Idf7c80b7d81f796bd0512bca4276bcfcf2af241a
Signed-off-by: Neale Ranns <nranns@cisco.com>
3 years agovlib: mmap process stacks 84/27184/4
Damjan Marion [Wed, 20 May 2020 20:01:44 +0000 (22:01 +0200)]
vlib: mmap process stacks

Instead of allocating stack from the main heap, this patch mmaps stack
memory together with guard page.

This aproach reduces main heap usage, and stack memory is prefaulted
on demand, so bigger process stacks will have zero impact on memory
usage as long as stack memory is not needed for real.

In addition, it fixes issue with systems which have bigger default page
size (observed with 65536).

Type: improvement
Change-Id: I593365c603d4702e428967d80fd425fdee2c4a21
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agodocs: asan: update doc to match current status 76/26976/2
Benoît Ganne [Mon, 11 May 2020 13:53:54 +0000 (15:53 +0200)]
docs: asan: update doc to match current status

Type: docs

Change-Id: I45265876c9c778f6b91d39f30eb6035f14d166ec
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agovcl: nest vcl_mq_epfd to support epoll_wait without high CPU usage 34/27134/4
hanlin [Tue, 19 May 2020 09:34:17 +0000 (17:34 +0800)]
vcl: nest vcl_mq_epfd to support epoll_wait without high CPU usage

Now, libc epfd and vls epfd are independent and can only epoll_wait independently without timeout, then app calling epoll_wait will occupy high CPU. So we nest vcl_mq_epfd into libc epfd when using eventfd with VPP, and then we can only epoll_wait libc epfd with specified timeout.

Type: feature
Signed-off-by: hanlin <hanlin_wang@163.com>
Change-Id: I6b6e0f501c769e186714bfbc187cfaed2533b4c2
Signed-off-by: hanlin <hanlin_wang@163.com>
3 years agosrv6-mobile: Update the doc for gtp4.dt and gtp6.dt funcitons. 18/27118/4
Satoru Matsushima [Mon, 18 May 2020 08:33:57 +0000 (17:33 +0900)]
srv6-mobile: Update the doc for gtp4.dt and gtp6.dt funcitons.

Document update to reflect merged SRv6 functions of lookup and forwarding for inner IP packet encapsulated with outer IP and GTP-U headers.

Type: docs

Signed-off-by: Satoru Matsushima <satoru.matsushima@gmail.com>
Change-Id: I85c9ddf6bf9fa63f2b8b6e03eff3ecec1e7615ab

3 years agovppinfra: refactor mpcap.h 40/27140/2
Dave Barach [Tue, 19 May 2020 13:56:22 +0000 (09:56 -0400)]
vppinfra: refactor mpcap.h

vppinfra source files MUST NOT #include <vlib/vlib.h>, <vnet/vnet.h>
or similar. Move mpcap_add_packet(...), mpcap_add_buffer(...) to a new
file: src/vnet/mpcap.h.

Type: refactor
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Id517aef6fe49b618f853ce32940b91ba45a1e60d

3 years agodpdk: change netvsc device port type 21/26221/4
Matthew Smith [Mon, 23 Mar 2020 16:27:49 +0000 (11:27 -0500)]
dpdk: change netvsc device port type

Netvsc devices have the port type determined from their link speed.
The link speed between reboots of an Azure VM does not always end
up at the same value, so an interface that was FortyGigabitEthernet0
earlier may be FiftyGigabitEthernet0 now. That makes it difficult
to maintain a persistent store of configurations and apply those at
startup.

Change the port type to be VF so the name will always be generated
as VirtualFunctionEthernetX.

Type: improvement

Change-Id: I58cab852b87c0bcd9f73afe239803f38dab5c159
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
3 years agodpdk: fix pktmbuf pool private data init 39/27139/2
Benoît Ganne [Tue, 19 May 2020 12:15:41 +0000 (14:15 +0200)]
dpdk: fix pktmbuf pool private data init

Type: fix

Change-Id: I7349840af48eec209532dab43a8ad0bd68993268
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agovppapigen: handle new api file for crcchekcer 37/27137/1
Ole Troan [Tue, 19 May 2020 10:33:00 +0000 (12:33 +0200)]
vppapigen: handle new api file for crcchekcer

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I1b3ae8b348eb3cba628a55ea3e72e85b9a4288d5

3 years agointerface: fix interface rx mode config API 79/26879/5
Jakub Grajciar [Tue, 5 May 2020 10:30:30 +0000 (12:30 +0200)]
interface: fix interface rx mode config API

Swap byte order for fields of type vl_api_rx_mode_t.

Ticket: VPP-1871
Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ia1745257b57209d41661d38067e0dd7618f9a9b9
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
(cherry picked from commit aefcd1a3579ec2c93f606b151d563d87ea211387)

3 years agovppinfra: OpenPOWER ELF V2 ABI version of clib_{longjmp,setjmp,calljmp} 13/27113/5
Damjan Marion [Mon, 18 May 2020 17:29:52 +0000 (19:29 +0200)]
vppinfra: OpenPOWER ELF V2 ABI version of clib_{longjmp,setjmp,calljmp}

Type: improvement
Change-Id: Iea8e08dc18b72334f69af77c2753e900be6b97fb
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agolibmemif: cleanup typos 09/27109/4
Paul Vinciguerra [Sat, 16 May 2020 03:13:36 +0000 (23:13 -0400)]
libmemif: cleanup typos

cleaned up typos in documetation while doing a read through.

Type: style

Change-Id: Id8abbd8d6297ee10490c12a8e62097224f7ec1e1
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agoip6-nd: correct set-ip6-nd-proxy CLI short_help 45/27045/3
Ignas Bacius [Wed, 5 Feb 2020 08:45:12 +0000 (10:45 +0200)]
ip6-nd: correct set-ip6-nd-proxy CLI short_help

Type: fix
Signed-off-by: Ignas Bacius <ignas@noia.network>
Change-Id: Id99a15272f6f12a724a4cfd9de461f1aa6a6a634

3 years agovppinfra: use byte swap builtins 08/27108/2
Damjan Marion [Fri, 15 May 2020 23:48:47 +0000 (01:48 +0200)]
vppinfra: use byte swap builtins

Type: improvement
Change-Id: I438206513b3cc3dedc0241b43c4ce037afa83e2b
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovppapigen: add assert for python version 33/27033/2
Ole Troan [Wed, 13 May 2020 09:47:43 +0000 (11:47 +0200)]
vppapigen: add assert for python version

The recent introduction of f-strings require  >=Python3.6
Fix a couple of pycodestyle warnings.

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Id9e375bb8febb157d7f9d7fa21808724770df6f8

3 years agol2: L2/L3 mode swicth cleanup and l2-patch fix 91/27091/3
John Lo [Thu, 14 May 2020 19:02:16 +0000 (15:02 -0400)]
l2: L2/L3 mode swicth cleanup and l2-patch fix

Cleanup L2/L3 mode switch to not redirect to/from ethernet-input node
as it is no longer necessary.
L2 patch should use sw_if_index for device feature enable/disable.

Type: fix

Signed-off-by: John Lo <loj@cisco.com>
Change-Id: I0f24161d027b07c188fd1e05276146f94c075710

3 years agomisc: fix typo in set-ipfix-exporter CLI short_help 46/27046/2
Ignas Bacius [Tue, 18 Feb 2020 10:33:09 +0000 (12:33 +0200)]
misc: fix typo in set-ipfix-exporter CLI short_help

Type: fix
Change-Id: Id6687780b9a740323bd2eef58447864e70dc0235
Signed-off-by: Ignas Bacius <ignas@noia.network>
3 years agomisc: fix ubuntu 20.04 python deps 10/27010/4
Damjan Marion [Tue, 12 May 2020 10:22:18 +0000 (12:22 +0200)]
misc: fix ubuntu 20.04 python deps

Type: fix
Change-Id: I9cdfbffd6333d090f970422bf047aaa90c1e4c65
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovppinfra: remove trailing whitespace in longjmp.S 07/27107/2
Damjan Marion [Fri, 15 May 2020 22:40:48 +0000 (00:40 +0200)]
vppinfra: remove trailing whitespace in longjmp.S

Type: refactor

Change-Id: I2acbd864186c1d7694701c047ba72f58750a8558
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovlib: restore commands for non-interactive sessions 03/27103/2
Benoît Ganne [Fri, 15 May 2020 14:12:23 +0000 (16:12 +0200)]
vlib: restore commands for non-interactive sessions

'quit' and 'show terminal' are valid for non-interactive sessions too.

Type: fix
Fixes: a58be82dda89d6496f92e451b42eee31f0cf47b4

Change-Id: Ib63244c7b64ad2e30c257ed19e982295f59bfffa
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agovcl: remove udpc transport 06/27106/1
Florin Coras [Fri, 15 May 2020 21:23:58 +0000 (21:23 +0000)]
vcl: remove udpc transport

Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I145ff3301f168973c4f7f32c337bbcac47900705

3 years agomisc: removed executable bits from source files 02/27102/2
Ray Kinsella [Fri, 15 May 2020 13:50:09 +0000 (14:50 +0100)]
misc: removed executable bits from source files

Identified and removed executable bit from source files in the tree.
find . -perm 755 -name *.[ch] -exec chmod a-x {} \;

Type: improvement

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I00710d59fcc46ce5be5233109af4c8077daff74b

3 years agosession: track detached listener segment managers 54/27054/7
Florin Coras [Thu, 14 May 2020 05:32:18 +0000 (05:32 +0000)]
session: track detached listener segment managers

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iae734a526d2e7befd9738054d028df0062b67000

3 years agog2: fix the g2 build for Ubuntu 20.04 01/27101/3
Dave Barach [Fri, 15 May 2020 13:51:45 +0000 (09:51 -0400)]
g2: fix the g2 build for Ubuntu 20.04

Shut off deprecated declaration warnings

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I65ea4bbc4d5ee5a11d4e8f554f414f57944c7e1c

3 years agoikev2: add support for NAT traversal 26/26726/5
Filip Tehlar [Thu, 2 Apr 2020 13:13:39 +0000 (13:13 +0000)]
ikev2: add support for NAT traversal

Type: feature

* initiator behind NAT supported
* tested with static NAT mappings
* works only with pre-configured tunnels

The pre-configured tunnel has to be defined as follows:

initiator (i) side: src=ip(i) dst=ip(r)
responder (r) side: src=ip(r) dst=ip(nat)

Change-Id: Ia9f79ddbbcc3f7dc8fde6bbeca2a433e3b784e94
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
3 years agotcp: fix bogus time update due to missing cast 51/27051/5
Florin Coras [Thu, 14 May 2020 00:30:18 +0000 (00:30 +0000)]
tcp: fix bogus time update due to missing cast

Type: fix

Seems clang needs explicit casting to u64 of u64 and f64 multiplication
before truncating to u32

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ib0d7a33d4c5e68577e401e854fc3e55e0723da93

3 years agonat: unhide tests 40/27040/5
Klement Sekera [Wed, 13 May 2020 13:17:50 +0000 (13:17 +0000)]
nat: unhide tests

Parallel merges introduced two test clasess with a same name. Rename
latter, so that former is seen (and run) by test runner again.

Type: fix
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I47772b41bb940bfdda4536cdd1f9b5e3768ca18b

3 years agovcl svm: fix rx event loss 03/27003/7
hanlin [Mon, 11 May 2020 14:20:37 +0000 (22:20 +0800)]
vcl svm: fix rx event loss

When vcl_epoll_wait_handle_mq handles rx events exceeding maxevents, VPP will not signal because cursize > 0, and the remaining rx events cannot be triggered because the eventfd event has been read. Therefore, we should dequeue all events until cursize = 0. And then handle msg up to maxevents with vcl_epoll_wait_handle_mq_event and those beyond with vcl_handle_mq_event.

Type: fix
Signed-off-by: hanlin <hanlin_wang@163.com>
Change-Id: I8a0c87cb41c837deb8284b40f668cc3c7d9d6e56
Signed-off-by: hanlin <hanlin_wang@163.com>
3 years agonat: "users" dump for ED-NAT 43/27043/3
Klement Sekera [Wed, 13 May 2020 11:35:57 +0000 (11:35 +0000)]
nat: "users" dump for ED-NAT

Since the removal of "users" concept in ED-NAT nat44_user_dump API
returns empty array. This brings back previous behaviour at
a considerable runtime cost until a better API is introduced.

Type: improvement
Change-Id: I5a45923cfeb6b8ebe6fc906601264d6567386991
Signed-off-by: Klement Sekera <ksekera@cisco.com>
3 years agolisp: API cleanup 44/27044/3
Onong Tayeng [Wed, 13 May 2020 15:55:57 +0000 (21:25 +0530)]
lisp: API cleanup

Removing the comments around eid_type which seem to have been overlooked
by the original patch https://gerrit.fd.io/r/c/vpp/+/24663.

Type: refactor

Signed-off-by: Onong Tayeng <otayeng@cisco.com>
Change-Id: I48e1993cf8869cb32e159d1956f3ec1e5943e33f

3 years agovlib: fix unix cli commands crash without session 80/26980/2
Benoît Ganne [Mon, 11 May 2020 14:27:29 +0000 (16:27 +0200)]
vlib: fix unix cli commands crash without session

If a cli command is run while there are no cli session, then
cm->cli_file_pool will not be initialized and we should not try to
operate on it.

Type: fix

Change-Id: Iaea15a23f7efd5b17fab13e6c1cbb3a9a34080e0
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agoikev2: use u32 in unformat 47/27047/2
Filip Tehlar [Sat, 9 May 2020 17:50:31 +0000 (17:50 +0000)]
ikev2: use u32 in unformat

Type: fix

Change-Id: If240bd8b3579678c0a6b5ea723946a35b53e5c31
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
3 years agodpdk: fix crash with chelsio pmd 38/27038/2
Benoît Ganne [Wed, 13 May 2020 12:48:01 +0000 (14:48 +0200)]
dpdk: fix crash with chelsio pmd

cxgbe PMD initializes its control channel as part of dev_configure(),
and trying to get link status prior to it will lead to a crash.

DPDK documentation loosely hints that we should not call any device
function before dev_start(), call link_state() only for the relevant
PMDs.

From DPDK API documentation:
The functions exported by the application Ethernet API to setup a device
designated by its port identifier must be invoked in the following
order:
    rte_eth_dev_configure()
    rte_eth_tx_queue_setup()
    rte_eth_rx_queue_setup()
    rte_eth_dev_start()
Then, the network application can invoke, in any order, the functions
exported by the Ethernet API to get the MAC address of a given device,
to get the speed and the status of a device physical link, to
receive/transmit [burst of] packets, and so on.

Type: fix

Change-Id: I12d2ab4d84e6bd72a9f695447e86f3222929c804
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agomemif: 14 bytes extra overhead issue fixed. 93/21793/4
Mrityunjay Kumar [Thu, 5 Sep 2019 05:10:25 +0000 (05:10 +0000)]
memif: 14 bytes extra overhead issue fixed.

Type: fix

Signed-off-by: Mrityunjay Kumar <kumarnitp@gmail.com>
Change-Id: I31cc5e853b57e285064647503231b251e5152d3f

3 years agonat: remove unused code 08/27008/2
Klement Sekera [Tue, 12 May 2020 10:00:34 +0000 (10:00 +0000)]
nat: remove unused code

Type: improvement

Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I95286d6723fd1860bf6bb0e81c474d732ab25121

3 years agonat: ED: store both thread&session idx in hash 24/26724/10
Klement Sekera [Wed, 22 Apr 2020 12:45:50 +0000 (12:45 +0000)]
nat: ED: store both thread&session idx in hash

By storing thread and session index in hash table we are able to skip
multiple hash lookups in multi-worker scenario, which were used for
handoff before. Also, by storing sesion index in vnet_buffer2, we can
avoid repeating the lookup after handoff.

Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I406fb12f4e2dd8f4a5ca5d83d59dbc37e1af9abf

3 years agonat: fix segv if out of ports in ed mode 56/27056/2
Alexander Chernavin [Thu, 14 May 2020 07:35:47 +0000 (03:35 -0400)]
nat: fix segv if out of ports in ed mode

Type: fix

Change-Id: Ife726d2f6baaa3516c209011183f39670cf6a55d
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
3 years agoip: fix interface ip address del sw_if_index check 53/27053/2
yedg [Thu, 14 May 2020 02:51:53 +0000 (10:51 +0800)]
ip: fix interface ip address del sw_if_index check

Type: fix

Signed-off-by: Ye donggang <yedg@wangsu.com>
Change-Id: Ia9f72ff2be455ecd4ff3d16e884c5a50f9df69fe

3 years agomisc: Initial 20.09-rc0 commit 48/27048/2 v20.09-rc0
Andrew Yourtchenko [Wed, 13 May 2020 17:50:21 +0000 (17:50 +0000)]
misc: Initial 20.09-rc0 commit

Change-Id: Ib9ff4e2e3bea2085834294fd2a0beb3c559c459f
Type:docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
3 years agosr: fix srv6/srv6-ad/srv6-as promisc mode switch 29/27029/3
John Lo [Wed, 13 May 2020 05:38:12 +0000 (01:38 -0400)]
sr: fix srv6/srv6-ad/srv6-as promisc mode switch

Calling ethernet_set_flags() to switch interface to/from promiscuous
mode must use use hw_if_index instead of sw_if_index.

Type: fix

Signed-off-by: John Lo <loj@cisco.com>
Change-Id: I72da286b913893227e32193ee11fbbc56e04804d

3 years agogso: remove ordering dependency on esp-encrypt-tun 78/26978/2
Neale Ranns [Mon, 11 May 2020 15:24:39 +0000 (15:24 +0000)]
gso: remove ordering dependency on esp-encrypt-tun

Type: fix

... it's not a feature anymore

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: Ifbcaf7d832aa76336feb0556d0dc7d2002f19c35

3 years agonat: fix broken build 37/27037/1
Klement Sekera [Wed, 13 May 2020 12:34:21 +0000 (12:34 +0000)]
nat: fix broken build

Type: fix
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I2a70db3a25450e014adaed84989f4da9bb77b14d

3 years agonat: fix LRU blocked by inactive session 69/26869/11
Klement Sekera [Mon, 4 May 2020 09:56:58 +0000 (09:56 +0000)]
nat: fix LRU blocked by inactive session

This fixes a situation where long-lived inactive session blocks LRU
list. Solution is to have multiple LRU lists based on session type.
This helps because session timeout is same for all sessions of same
type.

Type: fix

Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I5e54b2aab73b23911d6518d42e8c3f166c69a38c

3 years agonat: perf improvement - replace branchy code 71/26971/6
Klement Sekera [Mon, 11 May 2020 08:58:05 +0000 (08:58 +0000)]
nat: perf improvement - replace branchy code

Use a lookup table instead.

Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: Ia8461099828bb8824bf016201f135e6b69c444d1

3 years agodpdk: DPDK 20.05 iavf fdir bug-fix patch cherry pick 20/27020/3
Chenmin Sun [Tue, 12 May 2020 23:04:06 +0000 (07:04 +0800)]
dpdk: DPDK 20.05 iavf fdir bug-fix patch cherry pick

After VF reset, FDIR rule still takes effect. To solve the issue,
this patch adds to flush all flows before flow uninit. VIRTCHNL
sends message to PF by Admin Queue, so flow flush should be implemented
before Admin Queue shut down.

Type: fix

Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: I8ba0db7cd7646eaabd5745f74952016b0b968bbb

3 years agointerface: fix the checksum offload in quad loop 84/26884/5
Mohsin Kazmi [Tue, 5 May 2020 12:30:25 +0000 (14:30 +0200)]
interface: fix the checksum offload in quad loop

Type: fix

In quad loop, checksum will be calculated for all four packets,
if one packet needs checksum computation, without respecting their
respective flags. This patch fixes it.

Change-Id: I479b420ba0dcbd178ea4180bf05a0e55a6b13843
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agofeature: Config end nodes are user specific 06/27006/4
Neale Ranns [Tue, 12 May 2020 08:51:02 +0000 (08:51 +0000)]
feature: Config end nodes are user specific

Type: fix

it is possible for a user to change the end node of a feature arc, but
this change should only apply to that 'instnace' of the arc, not all
arcs. for example, if a tunnel has its ipx-output end node changed to
adj-midchain-tx, this shouldn't affect all ipx-output arcs. obviously...

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I41daea7ba6907963e42140307d065c8bcfdcb585

3 years agobonding: fix the GSO flags 15/27015/3
Mohsin Kazmi [Tue, 12 May 2020 12:28:13 +0000 (14:28 +0200)]
bonding: fix the GSO flags

Type: fix

Only add GSO and Checksum offload flags when gso is
enabled.

Change-Id: I58945a4ffbb9a0e6a8640fc01424c63feef16306
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
3 years agoipsec: Support 4o6 and 6o4 for SPD tunnel mode SAs 19/27019/4
Neale Ranns [Tue, 12 May 2020 13:33:56 +0000 (13:33 +0000)]
ipsec: Support 4o6 and 6o4 for SPD tunnel mode SAs

Type: feature

the es4-encrypt and esp6-encrypt nodes need to be siblings so they both have the same edges for the DPO on which the tunnel mode SA stacks.

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I2126589135a1df6c95ee14503dfde9ff406df60a

3 years agonat: handoff next node feature fix 17/27017/6
Filip Varga [Tue, 12 May 2020 11:42:45 +0000 (13:42 +0200)]
nat: handoff next node feature fix

Type: fix

Change-Id: I14e323e7bb1db7a3d40668212535c07504374e59
Signed-off-by: Filip Varga <fivarga@cisco.com>
3 years agoikev2: fix removing of expired SAs 24/27024/2
Filip Tehlar [Sat, 9 May 2020 03:32:28 +0000 (03:32 +0000)]
ikev2: fix removing of expired SAs

Type: fix

Change-Id: Idf9b0ffb4e3a0113bece80d1195192bdf46feb89
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
3 years agomisc: remove useless assignment 26/27026/1
Dave Barach [Tue, 12 May 2020 20:43:10 +0000 (16:43 -0400)]
misc: remove useless assignment

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I7708587804bc979fa9c46fb11f96d264821e2357

3 years agoapi: use malloc for rx thread arg instead of heap 02/27002/6
Florin Coras [Mon, 11 May 2020 18:03:40 +0000 (18:03 +0000)]
api: use malloc for rx thread arg instead of heap

Type: fix

Avoids issues if thread with non-zero __os_thread_index attaches to
binary api.

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ib981f12c867fdee7590391ec43128145bb1abce6

3 years agovcl: de-init vcl on destroy 81/26981/6
Florin Coras [Mon, 11 May 2020 17:19:31 +0000 (17:19 +0000)]
vcl: de-init vcl on destroy

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: If3372e3edd403240c2c9da746246170549a3e644

3 years agotcp: avoid rcv wnd less than mss 59/26959/5
Florin Coras [Fri, 8 May 2020 16:23:38 +0000 (16:23 +0000)]
tcp: avoid rcv wnd less than mss

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I84ec1c91a3a7b2195aad58923fa6f17f551444cb

3 years agolacp: missing endian conversions for trace packet format 35/26935/2
Steven Luong [Wed, 6 May 2020 23:58:02 +0000 (16:58 -0700)]
lacp: missing endian conversions for trace packet format

Fix a couple endian conversions for displaying Marker Protocol packet
in the trace

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I746a67fb6143b5ad52bc4af9604ff8760dbdec9b

3 years agocrypto-native: properly deal with broken or outdated toolchains 72/26972/2
Damjan Marion [Mon, 11 May 2020 12:03:29 +0000 (14:03 +0200)]
crypto-native: properly deal with broken or outdated toolchains

Avoids crash due to missing symbol, when build system detects toolchain
which is not able to produce binaries for all targets we need....

Type: fix

Change-Id: I77ee63cb8dca3c9e4e83a6235c60f1439a472444
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agovlib: fix u64 error counter cli printing 79/26979/2
Florin Coras [Mon, 11 May 2020 15:31:20 +0000 (15:31 +0000)]
vlib: fix u64 error counter cli printing

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie35dc623394cfb6c358740361fd85aa0924ab187

3 years agoip-neighbor: fix show ip neighbor issue 57/26957/2
Michael Yu [Fri, 8 May 2020 08:42:58 +0000 (16:42 +0800)]
ip-neighbor: fix show ip neighbor issue

Fix the issue that vppctl show ip4{6} neighbor [interface] command can't
show entries correctly, example: both ip4 and ip6 entries can be shown
with command:
vppctl show ip4 neighbor.

Type: fix

Signed-off-by: Michael Yu <michael.a.yu@nokia-sbell.com>
Change-Id: I229368b71cd285adce994c8290cc9d7e4c4f5aa6
Signed-off-by: Michael Yu <michael.a.yu@nokia-sbell.com>
3 years agoethernet: fix dmac stride error 61/26961/3
Zhiyong Yang [Sat, 9 May 2020 07:13:34 +0000 (07:13 +0000)]
ethernet: fix dmac stride error

Type: fix

Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Change-Id: I617fb365def22a28d48f75013dea38f8e1703a44

3 years agovppapigen: api crc checker 81/26881/16
Ole Troan [Tue, 5 May 2020 10:23:47 +0000 (12:23 +0200)]
vppapigen: api crc checker

crcchecker is a tool for enforcement of the binary API.

1. Production APIs should never change.
2. An API can be deprecated across three release cycles.
   Release 1: API is marked as deprecated.
   option deprecated="vyy.mm";
   option replaced_by="new_api_2";
   Release 2: both old and new APIs are supported
   Release 3: the deprecated API is deleted.
3. APIs that are experimental / not released are not checked.
   An API message can be individually marked as in progress, by:
   option status="in_progress";
   In the API definition.

The definition of a "production API" is if the major version in the API file is > 0.

extras/scripts/crcchecker.py --check-patchset # returns -1 if backwards incompatible
extras/scripts/crcchecker.py --dump-manifest
extras/scripts/crcchecker.py --git-revision v20.01 <files>
extras/scripts/crcchecker.py -- diff <oldfile> <newfile>

This patch integrates the tool in "make checkstyle-api".
A future patch is required to integrate the tool in the verify job.
I.e. this patch does not enable enforcement through Jenkins.

Change-Id: I5f13c0976d8a12a58131b3e270f2dc9c00dc7d8c
Type: feature
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agogtpu: fix coverity issue 53/26953/2
Chenmin Sun [Fri, 8 May 2020 19:17:54 +0000 (03:17 +0800)]
gtpu: fix coverity issue

Fix coverity issue #210194 in gtpu-decap

Type: fix

Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: I5b172c8494527e7117c4e7e7083a8473165aa40f

3 years agobuild: reject merge conflict checkin attempts 56/26956/2
Dave Barach [Fri, 8 May 2020 13:46:17 +0000 (09:46 -0400)]
build: reject merge conflict checkin attempts

Although attempts to build code containing merge conflict markers
USUALLY results in compile errors, this patch adds an explicit check
for the conflict end marker.

If for some unknown reason it's necessary to check in the text
'>>>>>>>', construct it by concatenation: ">>>"">>>>"
or '>>>' + '>>>>' depending on the language involved.

Type: improvement

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Iaad2aa8b87a71137a3bb9a09f7f4159909bf79ab

3 years agodocs: fix merge damage in nat.h 58/26958/3
Dave Wallace [Fri, 8 May 2020 15:58:24 +0000 (15:58 +0000)]
docs: fix merge damage in nat.h

Type: fix
Fixes: b5a575b09

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I22d35159a923075243df9760f1a74e2ca74e30e1

3 years agovppinfra: set explicit found in search_free_list loop 54/26954/2
Steven Luong [Fri, 8 May 2020 11:50:05 +0000 (04:50 -0700)]
vppinfra: set explicit found in search_free_list loop

While https://gerrit.fd.io/r/c/vpp/+/26948 fixed avoid using -1 to
index into h->free_lists[b][l] by changing the loop counter, the
check for the value of the loop counter (l < 0) cannot be trusted
to decide whether we've found a large enough object within the bin
or not. When the loop is terminated, the value of the variable l
could be ambiguous if it equals to 0 and it is never less than 0,
ie, when we bail out of the loop, we don't know if it was due to the
breaking out of the condition in
  if ((s = f_size - size) >= 0)
     break;
or
  while (l > 0);

The fix is to explicitly set a variable when we have found a large enough
object inside the loop to be used to test whether the loop was prematurely
terminated (found == 1) or the loop just ran exhausted (found == 0)

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I0161813fbd44dcba8982a767eac2e0930e9d77e3

3 years agomisc: add knob to generate compile_commands.json 60/26960/3
Damjan Marion [Fri, 8 May 2020 17:01:22 +0000 (19:01 +0200)]
misc: add knob to generate compile_commands.json

Used for lanuguage servers like clangd and ccls

Type: improvement
Change-Id: I68d534dfa7b8ba3459fbd919d5ffccaa1fa1171e
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agobuild: various improvements 41/26941/7
Damjan Marion [Thu, 7 May 2020 14:49:45 +0000 (16:49 +0200)]
build: various improvements

- add option to install only host tools
- add option to specify lib and runtime dir

Type: improvement

Change-Id: I6356b52df459120fc9b0127948bae7679fb10e52
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agoethernet: fix coverity warning 55/26955/2
Dave Barach [Fri, 8 May 2020 12:16:06 +0000 (08:16 -0400)]
ethernet: fix coverity warning

Type: fix
Ticket: VPP-1837

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I20daa023eed50f8b42e8dc2d17e47a54aa16ae31

3 years agopapi: use python3 for papi install 52/26952/2
Ole Troan [Fri, 8 May 2020 08:39:30 +0000 (10:39 +0200)]
papi: use python3 for papi install

Breaks on Ubuntu 20.04 otherwise.

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I407215a03948d6e49152ee97099539bb625c12ef

3 years agonat: fix per thread data vlib_main_t usage take 2 51/26951/4
Ole Troan [Fri, 8 May 2020 08:02:18 +0000 (10:02 +0200)]
nat: fix per thread data vlib_main_t usage take 2

The original fix access vlib_main before these was initialized.
Removed cached vlib_mains structure.

Type: fix
Fixes: 9bb09afb56b1aa787ca574cc732085272059fd5f
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I686bab9220e27891f66bf60489c1602855786aa8
Signed-off-by: Ole Troan <ot@cisco.com>
3 years agodpdk: fix compiling issue with clang 49/26949/2
Lijian.Zhang [Thu, 30 Apr 2020 06:52:15 +0000 (14:52 +0800)]
dpdk: fix compiling issue with clang

When building vpp image with below command, clang reports warnings/errors
on the unused option '-L', as it's not linking stage, and does not require
linking libraries.

In dpdk.mk, the linking library path should be attached to
DPDK_EXTRA_LDFLAGS, instead of DPDK_EXTRA_CFLAGS

$ make build-release CC=clang V=1

clang -Wp,-MD,./.ark_ddm.o.d.tmp  -fPIE -fPIC -pthread -I/root/origin/build-root/build-vpp-native/external/dpdk-20.02/lib/librte_eal/linux/eal/include  -march=armv8-a+crc -DRTE_MACHINE_CPUFLAG_NEON -DRTE_MACHINE_CPUFLAG_CRC32  -I/root/origin/build-root/build-vpp-native/external/dpdk-20.02/arm64-armv8a-linuxapp-clang/include -DRTE_USE_FUNCTION_VERSIONING -include /root/origin/build-root/build-vpp-native/external/dpdk-20.02/arm64-armv8a-linuxapp-clang/include/rte_config.h
-D_GNU_SOURCE -O3 -I./ -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wpointer-arith -Wnested-externs -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wdeprecated -Wno-missing-field-initializers -Wno-address-of-packed-member -Werror   -g -mtune=generic -L/root/origin/build-root/install-vpp-native/external/lib -I/root/origin/build-root/install-vpp-native/external/include -o ark_ddm.o -c
/root/origin/build-root/build-vpp-native/external/dpdk-20.02/drivers/net/ark/ark_ddm.c
== Build drivers/vdpa/ifc
clang: warning: argument unused during compilation: '-L/root/origin/build-root/install-vpp-native/external/lib' [-Wunused-command-line-argument]
clang: error: argument unused during compilation: '-L/root/origin/build-root/install-vpp-native/external/lib' [-Werror,-Wunused-command-line-argument]

Type: fix

Change-Id: If8fd9b19d0aff9d3c27d77e78cd3064bb1ad6565
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Jieqiang Wang <Jieqiang.Wang@arm.com>
Reviewed-by: Govindarajan Mohandoss <Govindarajan.Mohandoss@arm.com>
3 years agovppinfra: fix u32x4_byte_swap on Arm 50/26950/1
Lijian.Zhang [Mon, 27 Apr 2020 02:46:06 +0000 (10:46 +0800)]
vppinfra: fix u32x4_byte_swap on Arm

Fix the endianness conversion function u32x4_byte_swap() on Arm. Here's
an example of using this function with and without the fix.

This issue is seen using Mellanox NIC RDMA driver on Arm servers.
The packet length cannot be parsed correctly.

Testing code:
u32x4 s = {0x12345678, 0x23456789, 0x3456789a, 0x456789ab};
u32x4 ss = u32x4_byte_swap (s);

Without the code change:
(gdb) p /x s
$1 = {0x12345678, 0x23456789, 0x3456789a, 0x456789ab}
(gdb) p /x ss
$2 = {0x23456789, 0x12345678, 0x456789ab, 0x3456789a}

With the code change:
(gdb) p /x s
$3 = {0x12345678, 0x23456789, 0x3456789a, 0x456789ab}
(gdb) p /x ss
$4 = {0x78563412, 0x89674523, 0x9a785634, 0xab896745}

Type: fix

Change-Id: Ie5f263e94331783940e7c00397092a64e4fc4279
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Jieqiang Wang <Jieqiang.Wang@arm.com>
Reviewed-by: Govindarajan Mohandoss <Govindarajan.Mohandoss@arm.com>
3 years agovppinfra: loop counter off by 1 in search_free_list() 48/26948/3
Steven Luong [Thu, 7 May 2020 17:47:33 +0000 (10:47 -0700)]
vppinfra: loop counter off by 1 in search_free_list()

In search_free_list(), we have this do while loop.
do
  {
    l--;
    f_index = h->free_lists[b][l];
    f = elt_at (h, f_index);
    f_size = heap_elt_size (v, f);
    if ((s = f_size - size) >= 0)
      break;
  }
while (l >= 0);

When (l == 0), we still go back up to execute l--. Then l become -1. The
next statement is we index h->free_lists[b][-1]. After that, elt_at() would
probably cause a crash in the ASSERT.

Type: fix
Ticket: VPPSUPP-63

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I617d122aa221cfdfe38f8be50f4e0f0e76e11bb5

3 years agonat: remove duplicate line of code 97/26897/2
Klement Sekera [Wed, 6 May 2020 11:21:16 +0000 (11:21 +0000)]
nat: remove duplicate line of code

Type: fix

Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I3c914d5c457df40205280ac589a2d353261343d5

3 years agonat: fix per thread data vlib_main_t usage 42/26942/2
Filip Varga [Thu, 7 May 2020 12:28:56 +0000 (14:28 +0200)]
nat: fix per thread data vlib_main_t usage

Type: fix

Change-Id: If6784c9eb278f525e05304d10fd1a00641faaaf0
Signed-off-by: Filip Varga <fivarga@cisco.com>
3 years agomisc: deprecate elftool 36/26936/2
Damjan Marion [Thu, 7 May 2020 07:49:27 +0000 (09:49 +0200)]
misc: deprecate elftool

Type: make

Change-Id: I34fec1c40ef660177c266517eaf41d60827609f4
Signed-off-by: Damjan Marion <damarion@cisco.com>
3 years agosession: catch segment manager alloc failure 14/26514/3
Florin Coras [Wed, 15 Apr 2020 01:30:46 +0000 (01:30 +0000)]
session: catch segment manager alloc failure

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I4ac923fda84feee8d2ad76d0c3e3a252f53008ed

3 years agolacp: fix regarding vm arg for vlib_time_now calls 43/26943/1
Elias Rudberg [Thu, 7 May 2020 12:29:21 +0000 (14:29 +0200)]
lacp: fix regarding vm arg for vlib_time_now calls

Use thread-specific vlib_main_t *vm pointers to avoid problems with
different threads accessing the same vlib_main_t data structure.
This avoids assertion failure when vlib_time_now() is called with a vm
corresponding to a different thread.

Type: fix

Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
Change-Id: I359596ecff86e03d57aa8d2330f77bf9a913485f

3 years agordma: fix alignment issue 34/26934/2
Damjan Marion [Wed, 6 May 2020 21:38:58 +0000 (23:38 +0200)]
rdma: fix alignment issue

Type: fix

Change-Id: I0ff7a6f3354066c2252c1ebd0d43ac59db278bf0
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
3 years agodocs: clean up make docs job 68/23168/7
Paul Vinciguerra [Fri, 1 Nov 2019 17:00:58 +0000 (13:00 -0400)]
docs: clean up make docs job

Type: docs

Change-Id: I9b5e5137eb4c1e89f6e8d7a278cd11a0fd496471
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agovppinfra: add timer wheel section to Sphinx docs 90/26890/2
Dave Barach [Tue, 5 May 2020 21:08:53 +0000 (17:08 -0400)]
vppinfra: add timer wheel section to Sphinx docs

Type: docs

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Id0576d98b8e78cf4cd00161968d3eb6dbd58055a

3 years agocrypto: fix coverity issues 19/26819/3
Fan Zhang [Fri, 1 May 2020 12:06:57 +0000 (13:06 +0100)]
crypto: fix coverity issues

Fix coverity issues in crypto framework and cryptodev
engine.

Type: fix

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: Ib261da0163c8182c803600db22c5a6dad5a19999

3 years agomisc: fix coverity warnings 70/26870/2
Dave Barach [Mon, 4 May 2020 18:47:45 +0000 (14:47 -0400)]
misc: fix coverity warnings

Type: fix
Ticket: VPP-1837

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I51660e4b02f449bd2db12a8cfd395c6c343d2dee

3 years agordma: fix clang build 80/26880/3
Benoît Ganne [Tue, 5 May 2020 10:25:13 +0000 (12:25 +0200)]
rdma: fix clang build

Type: fix

Change-Id: I9b613f0af484f601dd20a851e2f59ee5e06b5c37
Signed-off-by: Benoît Ganne <bganne@cisco.com>
3 years agomisc: fts add support for non-ascii author names in yaml 87/26887/2
Paul Vinciguerra [Tue, 5 May 2020 15:46:26 +0000 (11:46 -0400)]
misc: fts add support for non-ascii author names in yaml

Type: fix

Change-Id: I3f034ca86412b58d3e41a627bd8902157683435a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
3 years agonat: ipfix logging vlib_mains[thread_index] bugfix 59/26659/2
Elias Rudberg [Thu, 23 Apr 2020 09:17:58 +0000 (11:17 +0200)]
nat: ipfix logging vlib_mains[thread_index] bugfix

Use thread-specific vlib_main_t *vm pointers to avoid problems
with different threads accessing the same vlib_main_t data
structure. This avoids crashing when ipfix logging is enabled
and several threads are used.

Type: fix

Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
Change-Id: Ic1d3d335919d7666ead14be1153eb8c8c07b7356

3 years agonat: enable force session cleanup 15/26615/9
Filip Varga [Sun, 19 Apr 2020 17:44:49 +0000 (19:44 +0200)]
nat: enable force session cleanup

Force session cleanup drops NAT db.
Also fixing user specific cli/api calls.

Type: improvement

Change-Id: Ia3e25fcf07fe5fb9a83d55c03fe90aca727b41ac
Signed-off-by: Filip Varga <fivarga@cisco.com>