45 Commits

Author SHA1 Message Date
Burt Silverman
63f2b46a8c build: build-root/Makefile rm of install tree
Type: fix

The scenario is touch of a dpdk source file in places like
<TOP>/build-root/build-vpp-native/external/dpdk-19.08/.  The subsequent
build will trigger an rm -rf $(PACKAGE_INSTALL_DIR) by
build-root/Makefile at around line 709.  Because the package in
question, "external", consists of various "sub" packages, all of which
are controlled with files like .quicly.install.ok located in
build-root/build-vpp[_debug]-native/external, we end up not handling the
.*.install.ok files to reflect the removal of that PACKAGE_INSTALL_DIR.
This fix will correct that, at least for the case of touching/changing
dpdk files. A better long term solution would be to change the "sub"
packages to be full fledged build system packages, as Dave Barach points
out.

Signed-off-by: Burt Silverman <burtms@gmail.com>
Change-Id: Ia94ccaa2795cbf354b5921c3001a7141313b66be
(cherry picked from commit 839a7bce3872f992f4807ee6d6a76f9b361151dc)
2019-10-11 11:45:49 +00:00
Benoît Ganne
c0bc26eaf3 rdma: add missing symbols
rdma-core-25.0 move some symbol to another library, make sure we link
to it.

Type: fix
Fixes: ec757593859bd8c16839ea8a81a2ef4eb8b29539

Change-Id: I6b8a56ea5fc7787d3de0982015ed47b767557c06
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-08-07 15:53:12 +00:00
Benoît Ganne
ec75759385 rdma: bump rdma-core to 25.0
Type: make

Change-Id: Ie7596e2976917657b089162c44b3b669e3a2d048
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-08-05 20:54:44 +00:00
Aloys Augustin
227b2e99e9 quic: move patch for quicly 0.0.3
Change-Id: I58e58f1f297820b110013f4bf6ede827ced94a3d
Type: fix
Fixes: 5ff9765
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-07-22 16:50:36 +02:00
Aloys Augustin
5ff976586b quic: update quicly library
Update quicly to latest version that includes our upstreamed patch.

Change-Id: I0b26c72e49bce81daf4fb069b5818defd6cf25b9
Type: feature
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-07-22 13:30:12 +00:00
Mathias Raoul
9082b43dd0 quic: integrate vpp crypto api for quic packets encryption
Type: feature

Change-Id: I740f15a5ef959d31e94e59d652aa9f691db1f289
Signed-off-by: Mathias Raoul <mathias.raoul@gmail.com>
2019-07-15 23:29:21 +02:00
Nathan Skrzypczak
e92090b4f4 quic: fix passive disconnect handling & refactor
Type: refactor

Change-Id: Ie54a77252e9f58a90f9e1f9595b9ede354952f70
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-07-09 10:09:20 +02:00
Dave Barach
b252848326 build: vpp-ext-deps .rpm may not be installed
It's fine to remove the old .rpm, but don't stop the parade if there
wasn't an old .rpm to remove.

Type: fix

Change-Id: I500c740cc4ded16d3345c1e98462a1e8533f1028
Signed-off-by: Dave Barach <dave@barachs.net>
2019-07-01 19:08:58 -04:00
Damjan Marion
048acfbd9e dpdk: remove bonding code
We have native implementation and we should not maintain both....

Change-Id: Ic09ebffda52cdc733b3cfeff06690e0d3cc08084
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-05-30 10:05:35 +00:00
Damjan Marion
a9116240d1 dpdk: bump to 19.05
Change-Id: I738ff20a1ebb1cc70fb6ddb40791b6747cada372
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-05-30 10:05:00 +00:00
Aloys Augustin
ba123e152b QUIC multi thread update
* Add support for multiple threads
* Replace quicly buffers with fifos
* Fix cleanup of sessions
* Update quicly release version

Change-Id: I551f936bbec05a15703f043ee85c8e1ba0ab9723
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-05-14 19:52:29 +00:00
Lijian.Zhang
49c1bc845d Build packages for generic Arm architecture
The current aarch64 version of VPP package distro in cloud repository
 (https://packagecloud.io/fdio/master/ubuntu), is built on a ThunderX server,
using some arch-specific options, for example, 128Byte cache line size,
 T=arm64-thunderx-linuxapp-gcc, RTE_MACHINE=thunderx

The patch is trying to build package distro with aarch64 generic features,
for both binary type targets, e.g., build/build-release, and package type
targets, e.g., pkg-deb/pkg-rpm, with the generic options, e.g.,
128Byte cache line size, T=arm64-armv8a-linuxapp-gcc, RTE_MACHINE=armv8a

If end users want to build arch specific optimized image,
TARGET_PLATFORM variable could be used, as below example,

$ make build-release/pkg-deb TARGET_PLATFORM=thunderx

Change-Id: If78bca8709fe83db6a95e8c26346f206bf5ea71d
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Sirshak Das <Sirshak.Das@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
2019-05-14 15:32:11 +00:00
Damjan Marion
59e0c8f5dc Bump to intel-ipsec-mb version 0.52
Change-Id: Ifeaf93c98e4af92da9409fa5a2114b577e8c0937
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-23 16:40:42 +00:00
Neale Ranns
d8cfbebce7 crypto-ipsecmb: enable GCM
Change-Id: I670d7899bcc63a419daf481167dc445a6386cce8
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-17 13:03:45 +00:00
Andrew Yourtchenko
e36f44ad92 cmake: fix errors in external when building past point-release
Change-Id: I23b4816e4ef2c6a2fa825fbd063ea25ff2024151
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-04-10 18:48:34 +00:00
Benoît Ganne
e035892055 rdma-core: add debug build option
Add option RDMA_CORE_DEBUG=[yn] build option. rdma-core package is built
in Release (-O2) mode by default, but Debug (-O0 -g) mode can be
selected by eg.
 make install-ext-deps RDMA_CORE_DEBUG=y

Change-Id: Id4db5ef1e7b13c44d478755a0bfbdbe56cfc13df
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-09 23:46:41 +00:00
Benoît Ganne
f3262a2dd0 rdma: fix DPDK MLX driver conflict
VPP rdma driver relies on an internal rdma-core not compatible with DPDK
MLX driver. Force the use of external rdma-core through
RTE_IBVERBS_LINK_DLOPEN DPDK build option and make sure internal
rdma-core symbols are not leaked outside of the rdma plugin.

Change-Id: I5b2281259f517c4e109d388d172b72eadd69986f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-08 14:33:51 +00:00
Benoît Ganne
dc195d6845 rdma: more batching, compile rdma-core in release mode
rx: add batching for WC processing and release
tx: improve batching for WC submission and processing
rdma-core: compile in release mode to remove assert()

Change-Id: I5fb8736db36b50f8b758cd688100477b67e72d80
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-05 18:46:38 +00:00
Dave Wallace
f118ea2f38 QUIC: Build cleanup
- Remove redundant CMAKE variable definition.

Change-Id: I04992ec921cb5f175741c1bdd13613cfc291aeab
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-05 07:53:40 +00:00
Thomas F Herbert
dc66aadb9a Fix problem building rdma-core.
Recent patches add rdma-core.
They are not building in Centos because of differences
in cmake. This patch fixes that problem by defining
CMAKE for all external builds.

Change-Id: I3eea869226385207500c5a1217bd7330140ca462
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2019-04-03 12:45:45 -04:00
Aloys Augustin
7cae003a68 QUIC: Build system update
Download a single tarball with the sources of quicly and its dependencies from github instead of cloning submodules.

Change-Id: Id9955565d46f595b3a14ba3408c24045d4acd296
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-04-03 13:27:31 +00:00
Chenmin Sun
a4b10e5e86 dpdk 19.02: fixed speed capability error issue
Device speed capability should be specified based on different phy types
instead of a fixed value, this patch fix the issue.

Change-Id: Ia76231aefbcb0fe8370867b6e86a0d3bb9e169a0
Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
2019-04-02 02:01:31 +00:00
Damjan Marion
d93638e128 revert quicly related build/external changes
We dont't want git pull there, there is simple way to grab tarball
from github for every single commit

Change-Id: I7a98cab7660750e48084279d8b9892cdf229bceb
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-29 21:23:30 +01:00
Nathan Skrzypczak
60f3e6547a Integrate first QUIC protocol implementation
Currently supports on single stream exposed through standard internal APIs
Based on libquicly & picotls by h2o

Change-Id: I7bc1ec0e399d1fb02bfd1da91aa7410076d08d14
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-03-29 15:57:30 +00:00
Benoît Ganne
fe750c248b Add RDMA ibverb driver plugin
RDMA ibverb is a userspace API to efficiently rx/tx packets. This is an
initial, unoptimized driver targeting Mellanox cards.
Next steps should include batching, multiqueue and additional cards.

Change-Id: I0309c7a543f75f2f9317eaf63ca502ac7a093ef9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-03-28 19:31:59 +00:00
Hyong Youb Kim
a1c175a40d dpdk: add ENIC PMD patch to untag default vlan
The ingress vlan rewrite mode affects the vlan header of ingress
packet. The enic driver currently uses the 'passthrough' mode, which
leaves the vlan header intact. As all packets in UCS network are
tagged, this default mode leads to tagged ingress packets in the
following cases where VPP expects untagged packets.

1. Trunk-mode vNIC on UCS standalone server.
A remote device sends an untagged packet to the server. This packet is
ultimately tagged with vlan 0 as it reaches the driver, and VPP sees
an ingress packet tagged with vlan 0.

2. Access-mode vNIC on UCS blade or standalone server.
A remote device sends a packet on the vNIC's default vlan (e.g. 200)
to the server. This tag is untouched, and VPP sees an ingress packet
tagged with the default vlan (e.g. 200).

In both cases, VPP expects to see untagged packets. To work around the
issue, VPP currently enables vlan stripping on VIC interfaces, which
breaks vlan sub-interface features.

To avoid the current workaround, use the "untag default vlan" rewrite
mode. With this mode, the VIC adapter removes the vlan header if it
matches the default vlan. In the cases described above, VPP would see
untagged packets. Packets tagged with non-default vlan (e.g. non-0 for
case 1 and non-200 for case 2) are received with their tags intact, so
VPP sees tagged packets as expected.

The driver currently has no programmatic way to change the rewrite
mode after rte_eal_init. So use this patch to change the mode for the
time being.

Change-Id: Iff6408275363ed52d6016e7516d745214d6b30d4
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
2019-03-22 12:59:49 +00:00
Matthew Smith
84caa17a9d dpdk: update mlx[45] linking options
Upstream DPDK changed the names of the options to use dlopen()
with libibverbs and libmlx[45] from RTE_LIBRTE_MLX[45]_DLOPEN_DEPS
to RTE_IBVERBS_LINK_DLOPEN (handles both mlx4 and mlx5).

VPP's build option to enable this configuration when building DPDK
no longer worked starting when VPP moved to DPDK 19.02. Update VPP's
build options to enable the correct option name.

Change-Id: I8e34e1d3fc4ee8aac4fd6f2a7d27177f2b0dea50
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-03-01 20:26:47 +00:00
Paul Vinciguerra
cec202c417 make install-ext-deps broken.
make install-ext-deps broken due to nasm site being offline for days.
curl: (7) Failed to connect to www.nasm.us port 443: Connection refused

curl: (7) Failed to connect to www.nasm.us port 80: Connection refused

Pointing url to mirror at Oregon State University for the time being.
https://ftp.osuosl.org/pub/blfs/conglomeration/nasm/$(nasm_tarball)

Change-Id: I6310337ae6946fbcd5fd653dcd3780ec7e97fe9a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-14 16:57:18 +00:00
Damjan Marion
1a6ece3435 dpdk: bump to dpdk 19.02
HQoS requires fixes to work with dpdk 19.02 so code is disabled and
pending deprecation unless active maintainer is found.

Change-Id: I3569c4287b6dfdd2c29e02375eb53bf01fa6ae84
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-02 16:31:07 +00:00
Igor Mikhailov (imichail)
11312ef90b dpdk: net/bonding: fix buffer corruption in packets
This fix is needed for setup with bonded interfaces.
In some scenarios vpp might crash, this change fixes the issue.

Change-Id: I0dc66e32b6c89dc3f8d552401833d6785a12c978
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2018-12-12 00:36:14 +00:00
Damjan Marion
14033aaebd dpdk: bump to DPDK 18.11
Change-Id: Ib6458e56f546bb5b11c23aa5e1afe0f4b5011c08
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-11-29 08:12:56 +00:00
Matthew Smith
2130284302 dpdk: enable gso when the tap PMD is enabled
Setting DPDK_PMD_TAP=y when building will enable the tap PMD
in the build configuration that is generated for DPDK. Enabling
this currently results in a failure during compilation because
rte_gso.h is not found. RTE_LIBRTE_GSO needs to be set to y for
this to work.

Use the setting for the tap PMD to determine the value for
RTE_LIBRTE_GSO.

Change-Id: Ie395417b1c62369a95320856081ad52c674ce9f2
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-11-05 12:35:37 +00:00
Stephen Hemminger
5e48bbae26 dpdk: fix mlx5 build on SUSE
Current mlx5 requires libmnl, and SUSE has a bug which
installs the header file in incorrect location.

Workaround (from upstream) is to use pkg-config.

Change-Id: Iadfd2dc0df211876258c31da028af2e8934483b3
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-10-26 23:57:06 +00:00
Matthew Smith
2a1da5218a dpdk: ENA PMD patch for failure on port restart
Patch to fix a bug in the ENA PMD on starting a port that
had previously been started and stopped. There was a
failure to allocate descriptors on start because they had
been allocated during the initial start and not released
when the port was stopped.

Issue reported/tracked at
https://github.com/amzn/amzn-drivers/issues/86

Change-Id: Id9c8d598929f0561788b985011fe5dea8f4a21a5
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-10-26 19:48:54 +00:00
Marco Varlese
fe7740e661 Address "is already installed" Jenkins issue
Change-Id: Iad2ddf63116a6f477c6106a3e045fe36f34bc062
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-10-25 11:35:16 +00:00
Stephen Hemminger
a35fc46c0a dpdk: disable unused rxtx callbacks in ethdev
Save a few cycles on every rx and tx burst call by not compiling
in support for DPDK Rx and Tx callbacks. This feature is optional
and unused by current VPP code.

Change-Id: I1916bc8822e2bd405c1ac3909e85467a01023862
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-10-24 12:13:18 +00:00
Stephen Hemminger
939ce11cc9 dpdk: turn off unused DPDK components
DPDK has added a lot more drivers and config options that are not
used by current VPP code.

Change-Id: I385f8b5df02b95a31ca9abe506c79cf52e99a24c
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-10-20 18:47:12 +00:00
Stephen Hemminger
1c98831bf0 dpdk: drop no longer used config options
DPDK has switched to dynamic logging for initialization (since 18.05).
Don't generate config for unused options.

Change-Id: I3f1a5b3b8bee38abc9d0654737b59368646ed0fa
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-10-15 11:29:17 +00:00
Damjan Marion
4f5f8d7972 Fix vpp-ext-deps package version in stable branch
Change-Id: Ifb33622b50113501f1d23ab94ba9da708678d6be
Signed-off-by: Damjan Marion <damarion@cisco.com>
(cherry picked from commit 5551e41f78249b72715203ecd93586f48acccbf4)
2018-10-11 20:40:30 +00:00
Radu Nicolau
8b9525c21d dpdk: updated makefile to enable QAT cryptodev
Change-Id: I2d70f2f29f3af10b6e43dde235fdf90a4596eb35
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
2018-10-01 17:06:16 +00:00
Sirshak Das
c263e48bdb dpdk_plugin: fix mlx5 build and runtime issues
There are issues with VPP finding and linking the mlx5 shared glue
library which was built by default if mlx5 was enabled.

Runtime Errors this patch fixes:

net_mlx5: cannot load glue library: librte_pmd_mlx5_glue.so.18.05.0:
cannot open shared object file: No such file or directory

net_mlx5: cannot initialize PMD due to missing run-time dependency on
rdma-core libraries (libibverbs, libmlx5)

This patch introduces additional config parameter to disable glue
library building and instead statically link ibverbs and mlx5
libraries to the PMD and dpdk_plugin.

Change-Id: I0b2f67652a57854c778e991780903fb15706ace8
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
2018-09-27 18:33:07 +00:00
Damjan Marion
74447d4fc5 fix typo in vpp-ext-deps rpm packaging
Change-Id: Ia23a876cefbfd32d6f543a77dfec57a4aa5676ae
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-27 14:05:18 +02:00
Damjan Marion
eacde3f123 dpdk: add patch to fix 25G AOC cable detection
Change-Id: I6b54d4c7767a20b875b5bc05f23a7ac15cb9fbcc
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-25 10:01:55 +00:00
Damjan Marion
561f2730e8 add: nasm and ipsec-mb into vpp-ext-deps packaging
Change-Id: Ie5d85af84ae0d8b15edf5962213ed1b1953bee2f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-21 17:51:25 +00:00
Damjan Marion
4a6cb83d33 rename vpp-dpdk-dev to vpp-ext-deps
We need to have new tenants in the development package.
This is first of series of patches which will allow us to have multiple
external libs and tools packaged for developer's convenience.

Change-Id: I884bd75fba96005bbf8cea92774682b2228e0e22
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-20 14:30:54 +02:00