vpp.git
5 years agoVOM: support for pipes 83/13483/4
Neale Ranns [Wed, 11 Apr 2018 15:08:30 +0000 (08:08 -0700)]
VOM: support for pipes

Change-Id: I5c381dfe2f926f94a34ee8ed8f1b9ec6038d5fe2
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agoAdjacency-BFD: assume BFD down on create 88/13488/2
Neale Ranns [Mon, 16 Jul 2018 13:12:33 +0000 (06:12 -0700)]
Adjacency-BFD: assume BFD down on create

Change-Id: I13279a1a96df457209fb25748a643c01b18ff4e0
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoacl-plugin: fix coverity errors 186574,186575,186576,186577,183451 78/13478/3
Andrew Yourtchenko [Mon, 16 Jul 2018 11:01:26 +0000 (13:01 +0200)]
acl-plugin: fix coverity errors 186574,186575,186576,186577,183451

Fix the copypaste-triggered errors in load-from-file ACL test code.
Also, add an explicit exit(1) after clib_error() to convince coverity
that code path is terminal indeed.

Change-Id: I1deedb49144559c9183449005ada0433c24db18a
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agovppinfra: AVX2 interleave functions 81/13481/2
Damjan Marion [Mon, 16 Jul 2018 12:18:23 +0000 (14:18 +0200)]
vppinfra: AVX2 interleave functions

Change-Id: I8688f700fccd87484da3e202ca3a070cc14eb267
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoEnable openssl TLS async support in client for HW accleration 74/13474/1
Ping Yu [Mon, 16 Jul 2018 09:44:48 +0000 (05:44 -0400)]
Enable openssl TLS async support in client for HW accleration

Change-Id: I003e41786c549c6451a1e9e178f5871d32c20e6e
Signed-off-by: Ping Yu <ping.yu@intel.com>
5 years agoVPP-1341: fix loopback interface graph arcs 72/13472/7
Dave Barach [Sat, 14 Jul 2018 00:12:45 +0000 (20:12 -0400)]
VPP-1341: fix loopback interface graph arcs

Remove broken special case from l2_input.c:set_int_l2_mode(), which
turns out to confuse the graph dispatch engine.

The loopback TX function needs to push packets to either
ethernet-input or to l2-input, based on bridge / BVI
configuration. Rather than overloading a single graph arc - and making
vain attempts to reconfigure it - create both arcs and use the correct
one.

Rewrote the loopback tx function as an idosyncratic multi-arch
quad/single loop fn.

Change-Id: I15b56ce641d90a11e7b3c7d23859f40e168dd7b2
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoImprove IP4 ARP and IP6 ND Events Notification 70/13470/3 v18.10-rc0
John Lo [Fri, 13 Jul 2018 21:29:58 +0000 (17:29 -0400)]
Improve IP4 ARP and IP6 ND Events Notification

For L2 ARP termination, use both brodcast ARP request and reply
packets to provide MAC/IP binding events.

For IP4/IP6 neighbor adress resolution, send resolution events
if there is an address resolution attemp with a static neighbor
entry where both IP and MAC matches. This allow probe of an IP
neighbor with a static entry to confirm it is responding with
a reply matching that of the static entry.

Change-Id: Iffb923bb5aea3f9021436735d5ca06e7b24f966f
Signed-off-by: John Lo <loj@cisco.com>
5 years agoAdd QEDE poll mode driver (librte_pmd_qede) 71/13471/1
Igor Mikhailov (imichail) [Fri, 13 Jul 2018 23:59:09 +0000 (16:59 -0700)]
Add QEDE poll mode driver (librte_pmd_qede)

The driver implements Cavium QLogic FastLinQ QL4xxxx 10G/25G/40G/50G/100G
Intelligent Ethernet Adapters (IEA) and Converged Network Adapters (CNA)
(doc/guides/nics/qede.rst)

Change-Id: If17e8cb572eb8c0585085be1c7cfdfa159eb6e68
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
5 years agosrv6-as: Adding support for L2 traffic 47/13347/6
Francois Clad [Wed, 4 Jul 2018 09:47:21 +0000 (11:47 +0200)]
srv6-as: Adding support for L2 traffic

Change-Id: I72978c5957cb1acf154c9de7ad153092bac37785
Signed-off-by: Francois Clad <fclad@cisco.com>
5 years agosrv6-as: Adding test cases 97/13397/7
Francois Clad [Mon, 9 Jul 2018 14:45:23 +0000 (16:45 +0200)]
srv6-as: Adding test cases

Change-Id: I597a88d255c2f7cff552b1fa12ed4a7c4579b91c
Signed-off-by: Francois Clad <fclad@cisco.com>
5 years agovppinfra: add missing header file to install list 69/13469/2
Damjan Marion [Fri, 13 Jul 2018 17:17:57 +0000 (19:17 +0200)]
vppinfra: add missing header file to install list

Change-Id: I1f82c40f9f927296d5d439b0db70a70ef803cf3c
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoImprove the "show version" command 65/13465/3
Dave Barach [Fri, 13 Jul 2018 13:59:45 +0000 (09:59 -0400)]
Improve the "show version" command

Add "show version cmdline" to display the command line
Add doxygen tags to the source code

Change-Id: I0205b373062fd88f176d9c8086d89d7784a5172f
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoVPP-1338: fix ipsec api coverity warnings 67/13467/1
Dave Barach [Fri, 13 Jul 2018 15:22:23 +0000 (11:22 -0400)]
VPP-1338: fix ipsec api coverity warnings

Remove useless unsigned comparisions: "(unsigned) value < 0", correct
a couple of incorrect limit checks.

Change-Id: I9606c4057df157f770d59535457cb9df1cfd1f35
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoThe gateway IP should be 172.16.2.1 60/13460/2
shenJibiao [Fri, 13 Jul 2018 06:58:28 +0000 (14:58 +0800)]
The gateway IP should be 172.16.2.1

Change-Id: I28d05a04abd11f630035d34ce573016c77ffab53
Signed-off-by: shenJibiao <shenjibiao@corp.netease.com>
5 years agoSTATS fix memory leak in stat_client.c 54/13454/2
Dave Cornejo [Thu, 12 Jul 2018 18:37:55 +0000 (08:37 -1000)]
STATS fix memory leak in stat_client.c

continue statement in case bypasses cleaning up of unserialized
node

Change-Id: I0103d31df2eed3ed04d7cdcdfb790f4d9a376336
Signed-off-by: Dave Cornejo <dcornejo@netgate.com>
5 years agoFix debug CLI node recycling bugs 53/13453/3
Dave Barach [Thu, 12 Jul 2018 17:00:47 +0000 (13:00 -0400)]
Fix debug CLI node recycling bugs

When creating a new - as opposed to recycled - debug CLI process node,
perform a proper barrier sync and node runtime update. Otherwise, the
graph replicas diverge for some period of time. That's not immediately
fatal, but it's not a good idea, either.

When renaming a debug cli process node, fix all of the name-vector
replicas before freeing the [one-and-only] name vector.

This fixes the so-called stats segment node runtime scraper crash,
which tripped over a replicated dangling reference to the
recently-freed debug CLI node name.

Change-Id: Ieffabd9f003139e534b9d79b88370439907930e5
Signed-off-by: Dave Barach <dbarach@cisco.com>
5 years agoRevert "vppinfra: AVX2 blend" 57/13457/2
Dave Barach [Thu, 12 Jul 2018 20:56:52 +0000 (20:56 +0000)]
Revert "vppinfra: AVX2 blend"

Causes clang validation failures. The patch did not actually pass validation; unfortunately it received a +1 from fd.io JJB - presumably due to a race condition

This reverts commit 779c865cc6c7af5bb435d8b3465d80685370edb2.

Change-Id: Ica3697f8f90e67d3eae4debc597f27d7d512004a
Signed-off-by: Dave Barach <dbarach@cisco.com>
5 years agosrv6: fix pointers in quad loops 44/13444/2
Francois Clad [Thu, 12 Jul 2018 07:56:23 +0000 (09:56 +0200)]
srv6: fix pointers in quad loops

Change-Id: I51c4bcbd456d2e7ffbdeef9cc8c7703d1c88b52e
Signed-off-by: Francois Clad <fclad@cisco.com>
5 years agoIGMP: validate the packets length in the DP 30/13430/2
Neale Ranns [Wed, 11 Jul 2018 16:21:06 +0000 (09:21 -0700)]
IGMP: validate the packets length in the DP

thanks to coverity... validate that the length of the packet on
wire matches the size of the header based on the number of groups
and sources. drop those that don't match.

Change-Id: Iab3f3a835f6a43d9c73c5d502ea5ceccdd6985b0
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agostats-segment: add startup node serialization option 35/13435/2
Florin Coras [Wed, 11 Jul 2018 15:03:26 +0000 (08:03 -0700)]
stats-segment: add startup node serialization option

Node serialization is turned off by default. To enable it do:

statseg {serialize-nodes on}

Change-Id: I53bba3cab517bd3ba90eba52d94b3ebb16870141
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovppinfra: AVX2 blend 08/13408/3
Damjan Marion [Tue, 10 Jul 2018 12:28:36 +0000 (14:28 +0200)]
vppinfra: AVX2 blend

Change-Id: Ie7a64318f10ebb535c98aff4e25cdfc48f60ff33
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agosession: push tx notifications only if needed 33/13433/3
Florin Coras [Wed, 11 Jul 2018 12:25:06 +0000 (05:25 -0700)]
session: push tx notifications only if needed

VPP-1340

Change-Id: Ia3f2fc054dbfb2ba912a768c70466e7042024e32
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoDocumentation: Placeholder directory and files 27/13427/3
Ed Kern [Wed, 11 Jul 2018 13:45:41 +0000 (07:45 -0600)]
Documentation: Placeholder directory and files

This adds the directory sphinx and sphinx/docs
as well as two matching placeholder files.  These
are being added now to facilitate some gerrit triggers

Change-Id: I0e6e7607c5ae5cdbf05718b95b1d299178544485
Signed-off-by: Ed Kern <ejk@cisco.com>
5 years agoavoid using thread local storage for thread index 20/13420/3
Damjan Marion [Wed, 11 Jul 2018 10:47:43 +0000 (12:47 +0200)]
avoid using thread local storage for thread index

It is cheaper to get thread index from vlib_main_t if available...

Change-Id: I4582e160d06d9d7fccdc54271912f0635da79b50
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agobridge-domain:fix no_flood count 22/13422/2
Eyal Bari [Wed, 11 Jul 2018 11:01:36 +0000 (14:01 +0300)]
bridge-domain:fix no_flood count

no_flood count was not updated on removal
might couase a negative insertion index when adding new members

Change-Id: I2caf2c453dfef1a9f16fb8fa2e5af42b4e653a69
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agomemif: fix max number of rings 18/13418/2
Damjan Marion [Wed, 11 Jul 2018 10:24:19 +0000 (12:24 +0200)]
memif: fix max number of rings

Change-Id: Ie7621a38a44e7c692e23e58c43d27d8d2aab43e6
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoavf: descriptor should be volatile 24/13424/2
Damjan Marion [Wed, 11 Jul 2018 11:29:17 +0000 (13:29 +0200)]
avf: descriptor should be volatile

Change-Id: I2cb4cf2167b6e958d2e57b461848a4a189e3fda0
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agosrv6-as: Adding rewrite counters 46/13346/6
Francois Clad [Wed, 13 Jun 2018 13:03:28 +0000 (15:03 +0200)]
srv6-as: Adding rewrite counters

Change-Id: I57f1db6fabfdb8ddfba514ad754707b24d47c962
Signed-off-by: Francois Clad <fclad@cisco.com>
5 years agosrv6: Fixing SRH parsing bug in Scapy 2.4 95/13395/3
Francois Clad [Mon, 9 Jul 2018 14:33:39 +0000 (16:33 +0200)]
srv6: Fixing SRH parsing bug in Scapy 2.4

Change-Id: Ib2cb345d07665735697bf54ad48d353ba4112eda
Signed-off-by: Francois Clad <fclad@cisco.com>
5 years agoVPP-1338: fix coverity warning in mactime plugin 21/13421/2
Dave Barach [Wed, 11 Jul 2018 11:01:25 +0000 (07:01 -0400)]
VPP-1338: fix coverity warning in mactime plugin

Add missing VALIDATE_SW_IF_INDEX macro / check.

Net of this fix, a spurious warning will probably recur. Coverity will
complain that sw_if_index is tainted. Please dismiss the warning.

Change-Id: Iec31ce1d86f742e197e63b0c5d474cd5e496ee5f
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agovom: Add TAPv2 support 53/13353/3
Mohsin Kazmi [Wed, 4 Jul 2018 13:17:01 +0000 (15:17 +0200)]
vom: Add TAPv2 support

Change-Id: I1fff014dd7d8a66ed3cb063e8c996de4f7e745c2
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agothreads: fix issue with setting main-core to 0 16/13416/2
Damjan Marion [Wed, 11 Jul 2018 08:51:00 +0000 (10:51 +0200)]
threads: fix issue with setting main-core to 0

Change-Id: Id3ccfcfa2a88cf7aa106f1202af7cd677de32575
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agomake_test: Add missing classifier tests 38/13338/9
Jan Gelety [Tue, 3 Jul 2018 11:58:24 +0000 (13:58 +0200)]
make_test: Add missing classifier tests

Jira: CSIT-1172

Change-Id: I04e726aab97efb96ed835d2a6db293a2acab0add
Signed-off-by: Jan Gelety <jgelety@cisco.com>
5 years agoVPP-1337: Dangling reference be gone! 13/13413/1
Dave Barach [Wed, 11 Jul 2018 00:22:43 +0000 (20:22 -0400)]
VPP-1337: Dangling reference be gone!

Freeing the prefix and address vectors after signalling them from
dhcpv6_client_node_fn to either the pd or iana report processes is
absolutely wrong. The code has appeared to work by luck.

This took three full days' worth of expert effort to root cause - in
the context of an unrelated patch - and about one minute to fix.

Change-Id: Ie589ab1a70ae83441ab4e8b6618a6d405741f53f
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoIGMP: coverity found defects 07/13407/2
Neale Ranns [Tue, 10 Jul 2018 12:26:01 +0000 (05:26 -0700)]
IGMP: coverity found defects

Change-Id: Id6aba75c30712e9a0ac7b3075bd6cfc49d6bec36
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoFIB path dump: fix next-hop-table ID for recursive routes 02/13402/3
Neale Ranns [Tue, 10 Jul 2018 10:00:07 +0000 (03:00 -0700)]
FIB path dump: fix next-hop-table ID for recursive routes

Change-Id: I57b4ebca29c0b185770373e8878f89a9bd13b742
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoNAT44: multiple outside FIB tables (VPP-1314) 88/13388/2
Matus Fabian [Mon, 9 Jul 2018 08:34:20 +0000 (01:34 -0700)]
NAT44: multiple outside FIB tables (VPP-1314)

Change-Id: I56eb15f8fd2d3049845287dc3df7870582764f8b
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoopenSUSE: spec file update to reflect latest deps 51/13351/4
Marco Varlese [Wed, 4 Jul 2018 12:31:10 +0000 (14:31 +0200)]
openSUSE: spec file update to reflect latest deps

Change-Id: I3c04956400a2e88d331f43d1b4865ee2c75e7bc9
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
5 years agoRemove unused variables 00/13400/2
Igor Mikhailov (imichail) [Mon, 9 Jul 2018 22:24:39 +0000 (15:24 -0700)]
Remove unused variables

Change-Id: If4da80c7eefe55905594eaaba0946d75f0892da5
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
5 years agoDo not translate packets destined for NAT64 inside interface (VPP-1331) 84/13384/3
Juraj Sloboda [Mon, 9 Jul 2018 00:36:37 +0000 (02:36 +0200)]
Do not translate packets destined for NAT64 inside interface (VPP-1331)

Change-Id: Ieb8020f57ed5ad20daf552cd62ae3fdd8c573926
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
5 years agopp2: increase recycle batch size 76/13376/2
Brian Brooks [Thu, 28 Jun 2018 02:27:26 +0000 (21:27 -0500)]
pp2: increase recycle batch size

Increase batch size when recycling buffers. This increases Mpps by 7%.

Change-Id: I2a460611d9c36e9bf087b076fc4e187acf61108f
Signed-off-by: Brian Brooks <brian.brooks@arm.com>
5 years agopp2: use configured RX queue size 74/13374/2
Brian Brooks [Wed, 27 Jun 2018 20:50:57 +0000 (15:50 -0500)]
pp2: use configured RX queue size

Change-Id: I5e5b2dd4f4bc3e257824015c723228ac5128d6a0
Signed-off-by: Brian Brooks <brian.brooks@arm.com>
5 years agoIGMP improvements 38/13138/11
Neale Ranns [Fri, 8 Jun 2018 06:48:20 +0000 (23:48 -0700)]
IGMP improvements

- Enable/Disable an interface for IGMP
- improve logging
- refactor common code
- no orphaned timers
- IGMP state changes in main thread only
- Large groups split over multiple state-change reports
- SSM range configuration API.
- more tests

Change-Id: If5674f1044e7e97274a711f47807c9ba689d7b9a
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agovxlan:use bihash_16_8 for ipv4 lookup 79/13379/5
Eyal Bari [Sun, 8 Jul 2018 05:15:56 +0000 (08:15 +0300)]
vxlan:use bihash_16_8 for ipv4 lookup

Change-Id: I0d4630c88d6caacffcd073ebaa12766dfc893f70
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agonew pipe code does not use stdints 99/13399/3
Neale Ranns [Mon, 9 Jul 2018 16:56:32 +0000 (09:56 -0700)]
new pipe code does not use stdints

Change-Id: Idee565af852c7bb434b886fbf31c6e76315686c4
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoFix missing pipe.api.h 98/13398/1
Matthew Smith [Mon, 9 Jul 2018 15:19:10 +0000 (10:19 -0500)]
Fix missing pipe.api.h

Errors occur when building a library outside the VPP
source tree that uses the shared memory API because
vnet/devices/pipe/pipe.api.h is not installed but is
included by vnet/vnet_all_api_h.h.

In src/vnet.am, Add vnet/devices/pipe/pipe.api.h to
nobase_include_HEADERS.

Change-Id: Id3dc28d90f41bb0ff576736f9d77bee19a2b8fdd
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agoFix IPsec intf tx node setup at intf creation 73/13373/2
Matthew Smith [Thu, 5 Jul 2018 19:45:58 +0000 (14:45 -0500)]
Fix IPsec intf tx node setup at intf creation

When using a DPDK cryptodev with IPsec, sending outbound
packets results in a crash on division by zero if using an
algorithm not supported by the OpenSSL ESP nodes. This
includes AES-GCM and MD5.

At IPsec intf creation time, the next node at slot
IPSEC_OUTPUT_NEXT_ESP_ENCRYPT for ipsec_if_tx_node_fn is
set to the node named esp-encrypt. This is the OpenSSL
ESP encrypt function. If DPDK cryptodevs are configured,
dpdk-esp-encrypt is the correct next node.

Change to setting the next node according to the value in
ipsec_main.esp_encrypt_node_index. That value is set to
esp-encrypt by default. If DPDK cryptodevs are configured
it gets set to dpdk-esp-encrypt.

Change-Id: I83896c76b975d74aead247a162c85eccca9575a8
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agoixgbe link update patch for DPDK 18.05 78/13378/2
Matthew Smith [Fri, 6 Jul 2018 22:00:00 +0000 (17:00 -0500)]
ixgbe link update patch for DPDK 18.05

Add patch for DPDK 18.05 that was previously applied
to DPDK 18.02.1. Issue with ixgbe on x550 SFP+ still
exists.

Bug report submitted to DPDK:

https://bugs.dpdk.org/show_bug.cgi?id=69

Change-Id: I9b005709ddf2a72192b1288ba8b4bac85bf12685
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agosession/svm: fix coverity warnings 72/13372/2
Florin Coras [Fri, 6 Jul 2018 06:44:23 +0000 (23:44 -0700)]
session/svm: fix coverity warnings

Change-Id: Ic5daed1f6c23d9561a04e235dcbf257f190d066a
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovhost: Add multi-versioning support 52/13252/5
Mohsin Kazmi [Tue, 26 Jun 2018 15:20:11 +0000 (17:20 +0200)]
vhost: Add multi-versioning support

It also refactors the vhost code which was in one big file vhost-user.c.
Receive side code is in vhost_user_input.c and
Transmit side code is in vhost_user_output.c

Change-Id: I1b539b5008685889723e228265786a2a3e9f3a78
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoPipes 57/13357/4
Neale Ranns [Wed, 4 Jul 2018 17:24:24 +0000 (10:24 -0700)]
Pipes

A pipe resembles a unix pipe. Each end of the pipe is a full
VPP interface.
pipes can be used for e.g. packet recirculation, inter-BD, etc.

Change-Id: I185bb9fb43dd233ff45da63ac1b85ae2e1ceca16
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agosvm: add unidirectional message queue 59/13359/8
Florin Coras [Wed, 4 Jul 2018 11:17:41 +0000 (04:17 -0700)]
svm: add unidirectional message queue

Meant for single reader/writer message exchanges. Supports multiple
message rings.

Change-Id: I925de9a6ae19226c5c39a63caff76424ed123a13
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoadd stat segment size configuration 64/13364/1
Dave Barach [Thu, 5 Jul 2018 15:48:20 +0000 (11:48 -0400)]
add stat segment size configuration

Change-Id: I395ff9c91d670a9f9e50dc1b030e0412b7234de5
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agovxlan:use bihash_24_8 for ipv6 lookup 18/13318/7
Eyal Bari [Mon, 4 Jun 2018 09:25:05 +0000 (12:25 +0300)]
vxlan:use bihash_24_8 for ipv6 lookup

* added the fib index into the key
* conform coding style for vxlan.h
* added "show vxlan tunnel raw" command to dump bihash

Change-Id: Icc96e41abb648e96de5b4605b035f68f9e20f8a9
Signed-off-by: Eyal Bari <ebari@cisco.com>
5 years agoVPP-1335 vapi crash when memclnt_keepalive received 49/13349/4
Klement Sekera [Wed, 4 Jul 2018 11:43:46 +0000 (13:43 +0200)]
VPP-1335 vapi crash when memclnt_keepalive received

Change-Id: If33a7cc6c76147fd3ea9d8118370e7a508819b81
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoFix clib_bitmap_next_clear() function when no clear bits left 60/13360/3
John Lo [Wed, 4 Jul 2018 20:27:59 +0000 (16:27 -0400)]
Fix clib_bitmap_next_clear() function when no clear bits left

If the bitmap has no bit clear after the input bit position i,
the function will return i even if its bit is set.
Fix is to return the next bit just beyond the free bitmap.

This can cause IP neighbor scan crash in ip_neighbor_scan() with
a debug image. With production image, ip_neighbor_scan() may still
function, AFAICT, with extra neighbor delete attempts for entries
already deleted, until these entries are reused for new neighbors.

Change-Id: If6422ef6f63908ea39651de4ccbd8cb0b294bd69
Signed-off-by: John Lo <loj@cisco.com>
5 years agofix VPP-1312 Invalid UDP packet length in ipsec 73/13073/3
Klement Sekera [Fri, 15 Jun 2018 10:44:16 +0000 (12:44 +0200)]
fix VPP-1312 Invalid UDP packet length in ipsec

Change-Id: Ibfd0a2e7010e6e74c32244c538f60e0713bea03f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoopenSUSE: add python2-ply dependency 50/13350/2
Marco Varlese [Wed, 4 Jul 2018 12:23:08 +0000 (14:23 +0200)]
openSUSE: add python2-ply dependency

Change-Id: I39ad69975e34bf11d3c009ad705157ceefa43fb9
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
5 years agoDo not override skip-cores if set in startup.conf 39/13339/2
Damjan Marion [Tue, 3 Jul 2018 20:24:32 +0000 (22:24 +0200)]
Do not override skip-cores if set in startup.conf

Change-Id: I97d75f58a46275fdad5add27dc59c731cc3ac64d
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoIP FIB dump - incorrect table-ID for deag paths 35/13335/2
Neale Ranns [Tue, 3 Jul 2018 13:37:00 +0000 (06:37 -0700)]
IP FIB dump - incorrect table-ID for deag paths

Change-Id: I383cfb662b4d2bf4f814e3eb9a1ce4d6bff7066d
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoRemove unused members from ip4_fib_t 41/13341/2
Neale Ranns [Wed, 4 Jul 2018 06:29:49 +0000 (23:29 -0700)]
Remove unused members from ip4_fib_t

Change-Id: I8b92652d512bad5d774c7862f9808c306bbeff18
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agoadd 'src-lookup' keyword for FIB paths 37/13337/2
Neale Ranns [Tue, 3 Jul 2018 13:41:47 +0000 (09:41 -0400)]
add 'src-lookup' keyword for FIB paths

Change-Id: I4554d1e94bd70ef5b3b0aaeb1a0fceaeb81c5f96
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoSet main thread affinity before main heap is allocated 36/13336/3
Damjan Marion [Tue, 3 Jul 2018 15:24:45 +0000 (17:24 +0200)]
Set main thread affinity before main heap is allocated

Change-Id: I524909570fc1736f51fd437d6d30566c461139bd
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovom: Add cross connect support 04/13304/3
Mohsin Kazmi [Fri, 29 Jun 2018 15:04:23 +0000 (17:04 +0200)]
vom: Add cross connect support

Change-Id: Ia316730d8f9fe9836200aa96e0b5fd827dc71c98
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agotcp: update snd_una_max for retranmsits 23/13323/2
Florin Coras [Mon, 2 Jul 2018 08:30:51 +0000 (01:30 -0700)]
tcp: update snd_una_max for retranmsits

Change-Id: I0573d0aff39581bba96e610228a10ae923a8ca06
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoAdd per-numa page allocation info to 'show memory' 21/13321/1
Damjan Marion [Mon, 2 Jul 2018 19:33:31 +0000 (21:33 +0200)]
Add per-numa page allocation info to 'show memory'

Change-Id: I64e4e3d68c0f3958323f30b12a26cfaafa8bad85
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoFixing ip4-reassembly ip6-reassembly non feature node, next_node_index setting 97/13297/3
Vijayabhaskar Katamreddy [Fri, 29 Jun 2018 12:03:40 +0000 (05:03 -0700)]
Fixing ip4-reassembly ip6-reassembly non feature node, next_node_index setting

Change-Id: Ib988d87e6758ffa31862096391f9f286b0797f2b
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
5 years agomake_test: add icmp packet size sweep and icmp echo tests 21/13221/5
Jan Gelety [Tue, 26 Jun 2018 10:24:03 +0000 (12:24 +0200)]
make_test: add icmp packet size sweep and icmp echo tests

Jira: CSIT-1141

Change-Id: I162bb4e718bff188abefc7b2f33501de9c55bb03
Signed-off-by: Jan Gelety <jgelety@cisco.com>
5 years agodpdk: bump default DPDK version to 18.05 34/12934/5
Damjan Marion [Thu, 7 Jun 2018 10:01:51 +0000 (12:01 +0200)]
dpdk: bump default DPDK version to 18.05

Change-Id: I739d3e6c25efe8d32b2f4a60557c644edfe958e0
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agotcp: fix single loop prefetch 08/13308/1
Florin Coras [Sat, 30 Jun 2018 18:27:59 +0000 (11:27 -0700)]
tcp: fix single loop prefetch

Also add single loop prefetch in session tx

Change-Id: Ib2725a2552fcc1a65050d7a2eb10491a7b34db62
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agocli: Validate cli_file_index on quit command 02/13302/2
Steve Shin [Fri, 29 Jun 2018 16:40:20 +0000 (09:40 -0700)]
cli: Validate cli_file_index on quit command

VPP crash happens with 'vppctl quit quit' command. The 2nd quit command
tries to access the file index which is already freed by the first quit.
This can be avoided to validate cli_file_index.

Change-Id: I880514c93523db2a727d7510c97950582cd6a6c8
Signed-off-by: Steve Shin <jonshin@cisco.com>
5 years agosession: send tx notification to app 03/13303/4
Florin Coras [Fri, 29 Jun 2018 09:02:08 +0000 (02:02 -0700)]
session: send tx notification to app

Does some session node cleanup as well

Change-Id: Ifd52b07b28ba4dec1f6f729476decc76eb963837
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agobitmap: add nocheck variants for bit ops 05/13305/4
Florin Coras [Fri, 29 Jun 2018 10:22:44 +0000 (03:22 -0700)]
bitmap: add nocheck variants for bit ops

Change-Id: Ifd155e2980a9f8e6af9bb6b08619c15b2bf18ef1
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agomemif: minor fixes 01/13301/1
Damjan Marion [Fri, 29 Jun 2018 15:08:05 +0000 (17:08 +0200)]
memif: minor fixes

Change-Id: Ib06d9ce0fad48b784fd47db13c7a2f353c845fca
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoVPP-1324 SIGSEGV vl_msg_api_handler_with_vm_node() 82/13282/4
Lukasz Majczak [Thu, 28 Jun 2018 13:00:40 +0000 (15:00 +0200)]
VPP-1324 SIGSEGV vl_msg_api_handler_with_vm_node()

Increase local arrays sizes to the correct number and gather missing statistics.

Change-Id: If44d43f258730e9a18f50fb59fc526c214d2be8a
Signed-off-by: Lukasz Majczak <lma@semihalf.com>
5 years agoVPPAPIGEN: use SOURCE_DATE_EPOCH for datestring 69/13269/4
Nirmoy Das [Thu, 28 Jun 2018 08:18:43 +0000 (10:18 +0200)]
VPPAPIGEN: use SOURCE_DATE_EPOCH for datestring

bwiedemann@suse.com pointed me that:
For reproducible builds datestring should be generated using
SOURCE_DATE_EPOCH which distributions set centrally, and have build
tools that consume it to produce reproducible output.

https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal#Python

Change-Id: Iefa2b93231bbc4c8af49736be4d7a5720c46b28d
Signed-off-by: Nirmoy Das <nirmoy.aiemd@gmail.com>
5 years agoCSIT-1148: VPPAPIGEN 2nd level import of .api ignored 91/13291/2
Ole Troan [Fri, 29 Jun 2018 09:32:33 +0000 (11:32 +0200)]
CSIT-1148: VPPAPIGEN 2nd level import of .api ignored

Change-Id: I73dcab0c5ff2405b1fcba25975955e1267a4ac4e
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoipsec: fix VPP-1333 - crash in ipsec policy cli 80/13280/3
Klement Sekera [Thu, 28 Jun 2018 12:20:12 +0000 (14:20 +0200)]
ipsec: fix VPP-1333 - crash in ipsec policy cli

Change-Id: I843d094b6bbd1cefba82d6026174be005e66d510
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoigmp: bugfix and minor improvements 75/13275/3
Jakub Grajciar [Thu, 28 Jun 2018 10:27:52 +0000 (12:27 +0200)]
igmp: bugfix and minor improvements

Change-Id: I8d284117a668dc55c06a6d68fe358a3d7e26c738
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
5 years agoRemoving the static keyword do_fragment routines, so that could be accessed outside... 89/13289/2
Vijayabhaskar Katamreddy [Thu, 28 Jun 2018 18:08:29 +0000 (11:08 -0700)]
Removing the static keyword do_fragment routines, so that could be accessed outside the ip_frag nodes

Change-Id: I46d3d10fa763fcf7a579620ec7cf1b204a53bce8
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
5 years agoIP4 Router Alert option handling for IGMP 59/13259/4
Neale Ranns [Thu, 28 Jun 2018 01:59:03 +0000 (18:59 -0700)]
IP4 Router Alert option handling for IGMP

and a new ip4-options node, inserted between ip4-input and ip4-punt,
that checks for IP-router-alert option + IGMP combination and sends
the packet to the ip4-local. This is required because some IGMP
packets are sent to the group address and not the all-routers address.
All IGMP packets are sent with the router alert option.

Change-Id: I01f478d4d98ac9f806e0bcba0f6da6e4e7d26e2a
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agobihash key compare improvements 86/13286/2
Damjan Marion [Thu, 28 Jun 2018 15:55:50 +0000 (17:55 +0200)]
bihash key compare improvements

Looks like CPU doesn't like overlaping loads.
This new codes in some cases shows 3-4 clock improvements.

Change-Id: Ia1b49976ad95140c573f892fdc0a32eebbfa06c8
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovcl: move binary api and cfg to separate files 68/13268/5
Florin Coras [Thu, 28 Jun 2018 00:10:49 +0000 (17:10 -0700)]
vcl: move binary api and cfg to separate files

Change-Id: Ib88d703bb7d4b170059960b0688352c90c5fcc39
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoFix mheap_get_aligned() performance jackpot 85/13285/2
Dave Barach [Thu, 28 Jun 2018 14:59:05 +0000 (10:59 -0400)]
Fix mheap_get_aligned() performance jackpot

If non-trivial alignment (e.g. 64) requested, and the object size
(e.g. 16) is smaller than (alignment_request -
MHEAP_ELT_OVERHEAD_BYTES), round up the size request.

This avoids creating remainder chunks, which are
false-cache-line-sharing bait to begin with.

Change-Id: Ie1a21286d29557d125bb346254b1be2def868b1a
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agovcl: refactor vcl session 61/13261/5
Florin Coras [Wed, 27 Jun 2018 21:32:43 +0000 (14:32 -0700)]
vcl: refactor vcl session

Change-Id: Idcba72fd84128547718dd32858e8c728925a6b1d
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agojvpp: pass tuple of classes to isinstance() 45/13245/4
Marek Gradzki [Wed, 27 Jun 2018 14:25:53 +0000 (16:25 +0200)]
jvpp: pass tuple of classes to isinstance()

Change-Id: I887af26d7d6476d7d9e6fbaa671f923814aa03bb
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
5 years agomake test: fix profiling 71/13271/2
Klement Sekera [Thu, 28 Jun 2018 09:50:48 +0000 (11:50 +0200)]
make test: fix profiling

Change-Id: Iad45ca8c167a017029b20ddd0a0b59087fa69498
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agolibmemif: fixing head/tail arithmetics & queue reallocation 24/13224/5
Milan Lenco [Tue, 26 Jun 2018 13:16:15 +0000 (15:16 +0200)]
libmemif: fixing head/tail arithmetics & queue reallocation

Change-Id: Ibc1f01b1cc99e7be77e892e53b7e1283f2a145cf
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
5 years agoreassembly: optimize bihash usage 70/13270/2
Klement Sekera [Thu, 28 Jun 2018 09:16:15 +0000 (11:16 +0200)]
reassembly: optimize bihash usage

Change-Id: I19690db9996ecb8c5e86415d2fd3c7133ce698f8
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoip: vectorized ip checksum 30/13130/9
Damjan Marion [Mon, 18 Jun 2018 20:21:40 +0000 (22:21 +0200)]
ip: vectorized ip checksum

Change-Id: Ida678e6f31daa8decb18189da712a350336326e2
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovcl: refactor debugging 58/13258/10
Florin Coras [Wed, 27 Jun 2018 10:24:07 +0000 (03:24 -0700)]
vcl: refactor debugging

Change-Id: I82e5239239ea24bdc97b1d59946ca0bba739f248
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoTune pool_get / pool_put 46/13246/2
Dave Barach [Wed, 27 Jun 2018 14:49:17 +0000 (10:49 -0400)]
Tune pool_get / pool_put

Stop spending cycles repeatedly tail-trimming the pool free element
bitmap; possibly at the expense of slightly hurting pool_foreach
peformance.

Change-Id: I8a7f3e7b26c71d7496ba9393b2a167dc7f538355
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoacl: fix for loop initial declaration 53/13253/1
Florin Coras [Wed, 27 Jun 2018 09:05:31 +0000 (02:05 -0700)]
acl: fix for loop initial declaration

Change-Id: Ie899ccbaae4df7cce4ebbba47ed6c3cce5269bdb
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoavf: binary API and configurable RX/TX queue size 20/13220/6
Jakub Grajciar [Tue, 26 Jun 2018 10:58:22 +0000 (12:58 +0200)]
avf: binary API and configurable RX/TX queue size

Change-Id: Ibd3a8d28d8f1df2bc14c42e48498f6ac26081192
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
5 years agogcc8 and Wstringop-truncation 33/13233/7
Marco Varlese [Wed, 27 Jun 2018 07:54:44 +0000 (09:54 +0200)]
gcc8 and Wstringop-truncation

gcc8 introduced a new warning (Wstringop-truncation) which in our case
is being treated as error.
Disabling the warning globally might introduce bugs related to string
truncation which are not desired by the developer (e.g. bug).
Instead, this patch disables the warning only for those occurences
which have been verified to be non-bugs but the desired behaviour as per
developer will.

Change-Id: I0f04ff6b4fad44061e80a65af633fd7e0148a0c5
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
5 years agojvpp: cleanup generation of swap functions for custom types 34/13234/2
Marek Gradzki [Wed, 27 Jun 2018 09:11:55 +0000 (11:11 +0200)]
jvpp: cleanup generation of swap functions for custom types

Change-Id: I2d06890ba25cfae9f96e820086f228286c807b42
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
5 years agomake test: easy profiling via make test PROFILE=1 38/13238/2
Klement Sekera [Wed, 27 Jun 2018 11:54:32 +0000 (13:54 +0200)]
make test: easy profiling via make test PROFILE=1

Change-Id: Ib845578485f523b7f14e98c83d05f78db382ecde
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agojvpp: add support for unions (VPP-1322) 35/13235/2
Marek Gradzki [Wed, 27 Jun 2018 08:18:18 +0000 (10:18 +0200)]
jvpp: add support for unions (VPP-1322)

Change-Id: I2456a9b03bcae43793f9ac29eb74eff81269df7b
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
5 years agovppinfra: add vector horizontal add and byte swap (SSE4.2 & AVX2) 37/13237/3
Damjan Marion [Wed, 27 Jun 2018 11:03:26 +0000 (13:03 +0200)]
vppinfra: add vector horizontal add and byte swap (SSE4.2 & AVX2)

Change-Id: I4e0fd487970796f0153a5b16333827d23b57deac
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoacl-plugin: tm: avoid hash calculation dependency on a memory store operation 77/13177/8
Andrew Yourtchenko [Thu, 21 Jun 2018 11:45:37 +0000 (13:45 +0200)]
acl-plugin: tm: avoid hash calculation dependency on a memory store operation

A small store into a middle of a larger structure that was subsequently
loaded for calculating the bihash key was noticeably impacting the performance.

Change-Id: If7f33e1b66e8b438ba7cc91abc0ca749850c6e45
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>