Commit Graph

4812 Commits

Author SHA1 Message Date
45e1cd92ca docs: Added Related Projects and Archive
Change-Id: I9a6076aa53d810ec44761d9f9459eb91f2c05974
Signed-off-by: jdenisco <jdenisco@cisco.com>
2018-09-18 21:03:06 +00:00
6c7bda9112 fix TEST_JOBS=auto max jobs detection
Change-Id: I63f747e92d239e878550392df24fb7aac2b5a3e3
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-09-18 19:37:47 +00:00
c15d148f0f disable scatter/gather for ENA with DPDK 18.08
The scatter/gather rxmode flag was set for ENA when building
against DPDK >= 18.08. ENA does not support this, so disable
it. It looks like enabling it was a copy/paste error.

Also, after offloads are adjusted based on whether "no-multi-seg"
is set, those configurations are overwritten by copying
port_conf_template over the port config. That should only happen
for versions of DPDK older than 18.08 because 18.08 and newer
make changes directly on the port config instead of making changes
to the template. Make the clib_memcpy() conditional on the DPDK
version being less than 18.08. After doing so, compiler
errors complain about port_conf_template being declared but not
used, so make it's declaration conditional.

Change-Id: If81980d71c379a565b51dd700b953f8c811a8703
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-09-18 11:33:30 -05:00
2f459d728b STATS: First go at documentation
Change-Id: I4d586456c46994b60ff7670d1411997a3615a284
Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-18 13:27:07 +00:00
3aa7af3bd7 svm: better march support for svm fifo
Change-Id: I6a4335654882a2ca66d3d465e35e350868242b8d
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-18 13:26:14 +00:00
b4603a70cb STATS: Optimistic concurrency handling in Python library.
Change-Id: I2135f3e77206fd171636a1e0b07c373c0bf093e4
Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-18 11:06:33 +02:00
45d5c87d86 STATS: Add Python 3 support to vpp_stats.py.
Change-Id: Iad0b0315fbd493b67e6ca490206ec8e8422790ea
Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-18 10:32:48 +02:00
58492a8372 STATS: Dynamically mapped shared memory segment
Move from using a hash to a vector with offsets into shared memory.
Limit exposure of VPP data structures and include files to
external stats library and applications.

Change-Id: Ic06129f12d10cf4c4946a86d9bc734eacff2c7da
Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-17 10:07:27 +00:00
40ea3f59dc Register cdp_input when enabled for the first time
Graceful handling of unknown tlv types

Change-Id: Idbc9ed524fc8b865c8e12571813cc73548bde480
Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-16 23:35:03 +00:00
b023d59d4c vmxnet3: fix clang initialization error
Change-Id: I2958bd3bdec98d3e380a8ff8f970563020e28afd
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-16 14:52:57 -07:00
64a80f2b79 fix nsh map index error, it will cause vpp appear Segmentation fault when vpp process double packages
Change-Id: Ib32bb351356b84aaf696c57398610b52a5a1f4dd
Signed-off-by: zhanglimao <zhanglimao0017@gmail.com>
2018-09-16 15:05:08 +00:00
35e22ceafa tls: fix openssl engine write complete condition
Change-Id: Ic1526f6916970ce2b0c4fc0d148d4396fa629b5f
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-15 08:11:40 +00:00
4829babd79 session: ensure detach is done with worker barrier
Change-Id: I98a79f2c3b0268c414dd295c7ebfc561ce049d4b
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-15 08:10:57 +00:00
b5e94e3c85 tls: use application interface apis
This also exposes app to tls sessions. As a result "sh session verbose"
will show for each tls session both the application's session (app to
tls) and the tls session (tls to tcp).

Change-Id: I1e65c63362ce58f314e762d7db78b44479e1e3a5
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-15 08:10:27 +00:00
df7f8e8cff vmxnet3 device driver
Implemented vmxnet3 deivice driver for VMWare ESXi. Tested with Ubuntu 18.04
connected to ESXi 6.0

Ubuntu-18.04 (VPP) --- ESXi-6.0

Change-Id: I85fbc86f2d8532b017bc4271612d17e24e498e4d
Signed-off-by: Steven Luong  <sluong@cisco.com>
2018-09-14 14:27:41 -07:00
ef90ed08fb BIER API and load-balancing fixes
Change-Id: Ibda19d786070c942c75016ab568c8361de2f24af
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-14 18:21:43 +00:00
ccf444d502 Remove scaffolding
Change-Id: I4acebbf76556428bb45356c8e5b85c72a85a1656
Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-14 15:32:06 +00:00
eeadc14ee2 cpack: add deb/rpm packaging to VPP module
This allows easy packaging of external projects, including
VOM and sample plugin.

i.e.

$ make -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install

$ ninja -C build-root/build-vpp-native/sample-plugin package

ninja: Entering directory `build-root/build-vpp-native/sample-plugin'
[0/1] Run CPack packaging tool...
CPack: Create package using DEB
CPack: Install projects
CPack: - Install project: sample-plugin
CPack: -   Install component: vpp-plugin-sample
CPack: -   Install component: vpp-plugin-sample-dev
CPack: Create package
CPack: - package: build-root/build-vpp-native/sample-plugin/vpp-plugin-sample_18.10~rc0~413~g1433e9d1-1_amd64.deb generated.
CPack: - package: build-root/build-vpp-native/sample-plugin/vpp-plugin-sample-dev_18.10~rc0~413~g1433e9d1-1_amd64.deb generated.

Change-Id: I6b3ec2433961e53edd976b19659ce214d272c40a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-14 14:00:51 +00:00
77bc1a5fb1 dpdk: add detection of mellanox PMDs
Change-Id: I523fc489f5e73ba726ab0711eab3fdde53dc35e8
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-14 13:49:31 +00:00
633b6fd68b vlib: introduce user flags in vlib_frame_t
Those flags have local significance and they can be used for
sending hints to the next node.

Change-Id: Ic2596ee81c64cd16f96344365370e8fcdc465354
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-14 14:51:22 +02:00
93008c26e9 acl-plugin: do not do clib_smp_atomic_add on per-worker counters
Just do a regular increment, since we are not contending for these counters.
This also makes the tests pass on ARM ThunderX (VPP-1395).

Change-Id: I333aaa11d4145d13d322868900bc114df85a020d
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2018-09-14 09:25:28 +00:00
1fc44b6fec Revert "L2-input: use vlib_buffer_enqueue_to_next"
The patch did not improve single input link performance and 
degrade performance with multiple input links.

This reverts commit b1232555e9.

Change-Id: Ib9336a2e0610088b9145a43cacbdadb52dabd522
Signed-off-by: John Lo <loj@cisco.com>
2018-09-14 08:38:43 +00:00
e166fd90d6 Ehnance and fix vpp_api_test and custom_dump to support SR-MPLS
Change-Id: I2e06de176f4272b4b7475857b42fe0d106382b6f
Signed-off-by: John Lo <loj@cisco.com>
2018-09-14 08:33:13 +00:00
86f04500ae vcl: keep track of unexpected events
If sessions are marked as blocking, events for other sessions received
while waiting for the blocking sessions, are added to a pending list and
processed later.

Change-Id: Ia6c71006b1c2bcb78af708390da0cd436af397cc
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-14 07:59:41 +00:00
958192dc2a cmake: use VPP package in VOM
Change-Id: I83b244be920521e580085beffb7e40613e67c8ee
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-14 07:21:51 +00:00
d23d39cc01 Fix memory leak in API/CLI to create/modify SR policies
The segment list vector built by the API/CLI is not freed after
SR policy creation or modification.

Change-Id: If439005481cada6c6af7cb560fe7a4381dd49384
Signed-off-by: John Lo <loj@cisco.com>
2018-09-14 05:03:42 +00:00
12a30202ec Add a polling configure to make thread bind with hardware engine
Change-Id: Ib4130098dd9bf45370bdee9a04e4804074df58b1
Signed-off-by: Ping Yu <ping.yu@intel.com>
2018-09-13 18:21:56 +00:00
c25eb4547a L2-FWD: use vlib_buffer_enqueue_to_next and cache prefetch fix
before:
  l2-fwd ...  1.72e1  256.00
after:
  l2-fwd ...  1.49e1  256.00

Change-Id: I24b29b799435776abc6e60df0dd0301b74aac99b
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-13 15:35:16 +00:00
008eef3073 vppinfra: optmize clib_count_equal functions
Change-Id: Ia4c79d560bfa1118d4683a89a1209a08c5f546b3
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-13 14:35:40 +02:00
bb4e022502 NAT: TCP MSS clamping
NAT plugin changes the MSS value in TCP SYN packets to avoid fragmentation.
If the negotiated MSS value is greater than the configured value it is changed
to the configured value. If the negotiated MSS value is smaller than the
configured value it remains unchanged.

Change-Id: Ic3c4f94a2f1b76e2bf79f50f3ad36a4097f3f188
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2018-09-13 02:36:25 -07:00
c2b4dbe48a Trivial: Fix lisp flag label
Change-Id: Ic5339169124edc8ea1f82ffcba7cde8b7f224e83
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-09-12 18:02:21 -07:00
0bdd319b3b IP-neighbor: add and delete internal API
Change-Id: I4d1ab5ff0c8f0756e91bf63e045f88513bb7d039
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-09-13 00:32:57 +00:00
9ce6a21aaa Fix: vppapigen make build fails on fresh install
Steps to reproduce:
  vagrant@localhost:/vagrant$ build-root/vagrant/build.sh
  ...
  @@@@ Building vpp in /vagrant/build-root/build-vpp-native/vpp @@@@
  [51/1169] Generating API header /vagrant/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json
  FAILED: cd /vagrant/build-root/build-vpp-native/vpp/vlibmemory && mkdir -p /vagrant/build-root/build-vpp-native/vpp/vlibmemory && /vagrant/src/tools/vppapigen/vppapigen --includedir /vagrant/src --input /vagrant/src/vlibmemory/memclnt.api JSON --output /vagrant/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json
  AttributeError: 'module' object has no attribute 'dumps'

  This seems to be due to JSON.py namespace colliding with the standard lib json.py

Change-Id: If389e4e05ef0c166b0c2b3bef7ec0185298679a8
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-09-13 00:32:35 +00:00
b1232555e9 L2-input: use vlib_buffer_enqueue_to_next
use the same trick as l2-ouput to group the processing of packets
on the same interface.

Change-Id: Ib2a6a1b5f362372936197f5bb2fdd0fe9439226b
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-13 00:25:20 +00:00
48a30d3038 fix bihash test code
Change-Id: Ie71b99385c33122cbf55f80ebabdc2ccdb4cf2ae
Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-12 17:41:45 +00:00
0fa900e482 cmake: create cmake VPP module, update sample-plugin so it uses it
Change-Id: I32e91ba8e55797ffe169f98b09bdb42caa5c7de2
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-12 17:04:36 +00:00
79dcbc74cd Always use 'lib' instead of 'lib64'
It is packaging responsibility to put libs in the right place.
Use of lib64 resulted in huge amount of files with hardcoded lib64.
This patch simplifies things...

Change-Id: Iab0dea0583e480907732c5d2379eb951a00fa9e6
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-12 16:38:59 +00:00
350155329c Fix LB memory leak and remove useless code
Vector sort_arr was actually never freed.

This change also removes some nearby code which
happens to be totally useless.

Change-Id: I2f265c1b4770cbcd75a2fb69ea54e46e1b54245a
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2018-09-12 14:14:52 +00:00
e849da2449 fix missing extern in vnet/ethernet/node.c
Change-Id: Idabdd1112ba7e390a7b14a83cc7fbd198c8754df
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-12 14:12:55 +00:00
f0fa31717b L2-Learn: use vlib_buffer_enqueue_to_next
before:
  l2-learn ... 2.00e1 256.00
after:
  l2-learn ... 1.77e1 256.00

Change-Id: I22fe9ab4ec995ee22c547cfe16bf88c04838520c
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-12 13:57:09 +00:00
28812a0d93 vhost: Fix VPP crash when reloading VM with mixed-type ports [VPP-1406]
When VM is having mixed type of vhost-user and SRIOV ports, QEMU (RedHat
v2.10) will not send disconnect signal to VPP, and just gives the new
memory region directly. VPP is not able to handle new memory region
mapping without disconnect signal first, which will result in a SEGV.
The fix will handle the VM reboot scenario without explict disconnect
signal from QEMU.

The fix is to invalidate the avail, desc, and used pointers in the txvq
when the new memory regions are received. This is because these pointers
are not valid anymore with the new memory regions. In the input node, check
to make sure the avail pointer is valid and punt if not.

Change-Id: Ieb8b427b202f4442a58907dab1661d63a03650de
Signed-off-by: Yichen Wang <yicwang@cisco.com>
2018-09-12 13:17:32 +00:00
79a05f5471 VXLAN-GBP: use common types on the API
Change-Id: I11ec0d7048d36c30a97d437e5b0abd05f06ab0eb
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-12 10:11:18 +00:00
0b48cdead5 device flags will set in dpdk_update_link_state.
Change-Id: If74acb0168bed2201d2a8b47bf3f860540d1574b
Signed-off-by: Khers <s3m2e1.6star@gmail.com>
2018-09-12 10:10:57 +00:00
768c290093 Add patch for ixgbe x550 SFP+ to DPDK 18.08
Patch for ixgbe which has been used with DPDK 18.02, 18.05.
If the link flaps before link status has been successfully
collected, the MAC will be reset and the PMD will not wait
long enough for it to come back up before giving up, which
will continue happening every time an attempt is made to
check the link status.

This patch was submitted to upstream DPDK in July 2018 but
it has not been included in a release yet.

Change-Id: Ib2100b33d2a986f3cf74e42fc5538412f76f42c7
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-09-12 10:10:43 +00:00
759226e668 Add and enable u32x4_extend_to_u64x2_high for aarch64 NEON intrinsics.
This is the high version of extendto. This function accomplishes the
same task as both shuffling and extending done by SSE intrinsics.
This enables the NEON version for buffer indexes to buffer pointer
translation.

Change-Id: I52d7bbf3d76ba69c9acb0e518ff4bc6abf3bbbd4
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Steve Capper <steve.capper@arm.com>
Reviewed-by: Yi He <yi.he@arm.com>
Verified-by: Lijian Zhang <lijian.zhang@arm.com>
2018-09-12 10:09:50 +00:00
dbecf18b8a Fix create memif socket
create interface memif [id <id>] [socket-id <socket-id>] ...

Can optionally take a socket-id.

You create a socket-id with:

create memif socket [id <id>] [filename <path>]

Unfortunately, this doesn't work because "create memif" was
deprecated.  It results in:

vpp# create memif socket id 0 filename /run/vpp/test.socket
command deprecated. Please use 'create interface memif' instead.

This fixes it by clipping out the

create memif

command entirely.

Change-Id: If503758706bf758b6cb46e958200527a5856c600
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
2018-09-12 10:08:29 +00:00
2cba8533cc vcl: add apis that expos fifo as buffer
Change-Id: I4bd9c9f73499711e04b38d53daa5c917a4285bf5
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-12 09:13:16 +00:00
41c9e04be0 vcl: improve read and fifo event handling
Change-Id: Ic1c51818b8aa8dbd164e70bb3b7471868e5af6f6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-12 09:13:16 +00:00
ffb14b9554 bihash 32/64 bit shared memory interop
This patch makes 32/64 bit interoperable shared memory bihash tables
work regardless of where they're mapped.

Change-Id: If5b4a37ccdaa75410eba755c7d7195633de1b30b
Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-11 17:21:10 -04:00
9b2f51abb5 indent off in ip_lookup_set_buffer_fib_index
when the name of the structure crosses a line boundary it's painful to parse...

Change-Id: I5d0606900802fb8d64a065f31f3e2a53bd8a5f40
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-11 17:25:00 +00:00