90 Commits

Author SHA1 Message Date
Mohammed Hawari
df849f8ea8 rdma: fix pkg_config file
When building DPDK with rdma linkage, this patch avoids linking against
useless verb providers. It also hard-codes the library directory to lib
to fix CentOS behavior.

Change-Id: I3acd94adf1b7e59e023346b3c254bd4bba6157df
Type: fix
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2021-01-20 09:23:03 +00:00
Fan Zhang
f0419a0c85 dpdk: bump to dpdk 20.11
Type: feature

This patch bumps DPDK to 20.11. In addtion a few changes are
made:

- Changed dynamic rx offload flag display.
- Updated deprecating options.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I6e4399d551a7eb8e1a9fc9ef6e39e74266450ad4
2020-12-11 23:34:48 +00:00
Mohammed Hawari
fe909a6288 dpdk: support mlx drivers linked with rdma-core
Change-Id: I8b8e4420f7643df95c27f4a4764809e8ddd2d12e
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: improvement
2020-12-07 14:08:22 +00:00
Fan Zhang
98e682dd91 crypto: improve ipsecmb engine performance
Type: improvement

This patch improves ipsecmb engine performance by disabling
safety features: SAFE_DATA, SAFE_PARAM, and SAFE_LOOKUP.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I756edc54d6bc35a1b0e9383e94cba0f73cf663cb
2020-11-26 21:33:13 +00:00
Matthew Smith
45d60492a4 dpdk: patch broken virtio macro
Type: fix

In DPDK 20.08, the macro ASSIGN_UNLESS_EQUAL(), which is defined in the
virtio PMD code, is broken. It does not actually set the variable that is
passed in to the value that is passed in. It just assigns the value
to a local variable that it declares. This results in
virtqueue_clear_net_hdr() failing to clear the fields in the virtio
net header. This can cause packets which were sent over an IPsec tunnel
and are subsequently transmitted on a virtio interface to have garbage
in the virtio net header.

Apply a post-20.08 patch from upstream to fix it.

Change-Id: Ic53e89d859db628e26a3c1988e53b626fede94d7
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-11-25 10:51:09 +00:00
Dariusz Kazimierski
b5df85e243 crypto-ipsecmb: bump to intel-ipsec-mb version 0.55
Type: feature

This patch bumps the intel-ipsec-mb engine version from 0.54 to 0.55,
to avail performance improvement brought by the library.

Signed-off-by: DariuszX Kazimierski <dariuszx.kazimierski@intel.com>
Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com>
Reviewed-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: Iea114acc6e8e55020e7409ab2d1d00f4c2081e9c
2020-11-23 09:27:55 +01:00
Benoît Ganne
4b73b55d70 build: bump libbpf to v0.2
Type: improvement

Change-Id: Ic97ed8c8ef8ba3b1bf3727810e7312456c52d808
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-19 10:03:49 +00:00
Benoît Ganne
a54fce3a26 build: bump rdma-core to 31.1
Type: improvement

Change-Id: I434d2013763e32bedf2188aea5b0c519ea0e06bb
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-19 10:03:35 +00:00
Benoît Ganne
24b5107edd build: better detection of libbpf dependencies
Type: fix

Change-Id: Ib496e6eb0a76e6268aea09d5f4495f3ecd921ec2
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-04 18:40:31 +00:00
Mohammed Hawari
a6d5f24131 dpdk: allow offline build by caching build-deps
Change-Id: I40262c640be24f4ca48a2e1461fbc2eb2b0c4c96
Type: fix
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2020-10-26 15:37:16 +00:00
Dave Wallace
e7653c3e35 build: fix typo in dpdk-20.08 patch #0003
Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Id0b3264e723f1df161a606e4dbdcd70c36d448a4
(cherry picked from commit ee3ea114961610476bac544a979fdee8278d2b9e)
2020-10-23 17:50:45 +00:00
Dave Wallace
250bf9697f build: backport dpdk usertools support python3 only patch
- On Centos-8, 'make install-ext-deps' fails due to the
  bpr-mangle-shebangs script failing the dpdk usertools
  python scripts containing '#!/usr/bin/env python'.
  Backport usertools section of the DPDK patch which
  fixes this issue:
  http://git.dpdk.org/dpdk/commit/?id=3f6f83626cf4967a99382a6518a614a1bf3d2c20

- Also fix README to reflect name change of dpdk master
  branch to 'main'.

Type: fix

Change-Id: I487b1ff2da786a4a3fd8fb0f859436b0e1885f1b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2020-10-17 08:26:48 +00:00
Damjan Marion
c1b94c8353 misc: bump debian compatibility level to 10
Level 9 is deprecated in new ubuntu release.

Type: improvement
Change-Id: I9376b5f7a1aa0860e35475c5d32f3626257d2f01
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-16 11:38:46 +00:00
PiotrX Kleski
9235d43d23 crypto: fixed ipsec_mb lib dependencies
Type: fix

This patch re-enables libIPSec_MB build for the ipsecmb crypto engine
plugin.

Also since DPDK meson build relies on system installed libIPSec_MB.so
that may be inconsistent with VPP compiled one (system installed
version vs VPP locally compiled version for example), this patch also
disables all libIPSec_MB dependant PMDs from DPDK build.

Also ipsec-mb version is incresed to 0.54.

Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com>
Reviewed-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I2ff9e7cd0c35cff9fa642895301a26a5350ea94e
2020-10-14 17:38:16 +00:00
Fan Zhang
1152e60ebe dpdk: fix compile
Type: fix

Since DPDK is now compiled by meson but some compiles in VPP is
missing. This patch fixes that.

- Fixes QAT PMD not compiled. QAT meson compile, even for sym
crypto PMD, is happened in drive/compress/qat. Originally all
PMDs in compressdev is disabled by default. This patch fixes
that.

- Fixes DPDK plugin version detection. DPDK meson build
generates rte_build_config.h, which containing all version
information in build-dpdk instead of rte_config.h in make.
This patch uses the file to detect version data.

- Removed SW crypto PMD auto-creation in cryptodev engine. In
case the AESNI-MB PMD required shared library is missing.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I7cd91abb5de303ff5e4c55cd05e011b57f883524
2020-09-29 09:00:40 +00:00
Mohammed Hawari
1f799bc3cb dpdk: prevent linking dpdk against libbsd
If libbsd is detected by the DPDK build system, DPDK does not provide
implementations for strlcpy and dynamically link against the one
provided by libbsd. When the DPDK plugin is loaded by VPP, a crash
occurs because libbsd is not loaded by VPP.

Type: fix
Change-Id: Ib691bbe27edcf0f6f0a3d39952e439027cef72cb
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2020-09-18 22:15:25 +00:00
Mohammed Hawari
4c4633cad1 dpdk: call the meson-based build instead of Makefiles
Type: feature
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Change-Id: I576d92605da6d43e9b9f12238b18a518a0d69385
2020-09-18 13:33:52 +00:00
Fan Zhang
ef80ad6bff crypto: change cryptodev with new cryptodev API
Type: feature

This patch updateds cryptodev engine uses new DPDK Cryptodev
API planned to be upstreamed in DPDK 20.11.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Signed-off-by: Piotr Bronowski <piotrX.bronowski@intel.com>
Change-Id: I8dd1a8ac643f1e952deb787e466b76ea7aa5f420
2020-09-09 10:19:21 +00:00
Benoît Ganne
4a76d6f6da af_xdp: AF_XDP input plugin
Type: feature

Change-Id: I85aa4ad6b68c1aa0e51938002dc691a4b11c545c
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-08-31 17:16:56 +00:00
Damjan Marion
3373a55f91 dpdk: bump to DPDK 20.08
Type: improvement

Change-Id: Id864c80ac0c9e6f3514a99e516fed82a998effff
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-08-26 11:42:33 +00:00
Benoît Ganne
cd631b5ba0 rdma: bump rdma-core version to v31.0
Type: improvement

Change-Id: If02deabea1fe47bbe82c53182e24a97cff68f8ec
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-08-25 20:34:51 +00:00
Damjan Marion
94f3295d38 dpdk: bump to DPDK v20.05
Type: improvement
Change-Id: I5f89fc3d994bd85d2c5138069ea2c58661814228
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-05-27 16:09:06 +00:00
Chenmin Sun
1d61c2194d 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
2020-05-13 11:33:52 +00:00
Lijian.Zhang
88d6ce2bee 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>
2020-05-08 07:21:30 +00:00
Chenmin Sun
7f83738b46 dpdk: DPDK 20.05 iavf flow director backporting to DPDK 20.02
0001 ~ 0014 patches are for virtual channel and PMD
0015 is the iavf fdir framework
0016 ~ 0017 are for the iavf fidr driver

Type: feature

Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: I38e69ca0065a71cc6ba0b44ef7c7db51193a0899
2020-04-22 08:44:56 +00:00
MathiasRaoul
ffdc72da4f quic: Check quicly version tag at compile time
- updates the quicly version to 0.1.0-vpp
- adds workaround for quicly_send()/assert_consistency() failure
Type: feature

Change-Id: I4c7e0ffc720ad9a685b89046a83646d59febd6cd
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2020-03-27 17:43:33 +00:00
Lijian.Zhang
1690dcb495 dpdk: false link down issue with ixgbe NIC
This issue is observed with X520-2 NICs on FD.io lab Taishan server.
After VPP booting up and bringing up  the interfaces with command "set
interface state <interface> up", it still shows link down status from
the command "show hardware-interfaces". However, the hardware link
status is actually up. dpdk_process() cannot get the hardware link
status correctly via rte_eth_link_get_nowait().

In ixgbe_dev_link_update_share(), if the media type is fiber and the
link is down, a flag (IXGBE_FLAG_NEED_LINK_CONFIG) is set. A callback to
ixgbe_dev_setup_link_alarm_handler() is scheduled trying to set up the
link and clear the flag afterwards.

If the device is started or stopped before the flag is cleared, the
scheduled callback is canceled. This causes the flag to remain set and
subsequent calls to ixgbe_dev_link_update_share() return without trying
to retrieve the link state because the flag is set.

When the callback is canceled by either interface start or stop
operation, in ixgbe_dev_cancel_link_thread(), after cancelling the
callback/thread, unset the flag on the device to avoid this condition.

Type: fix

Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
Reviewed-by: Jieqiang Wang <Jieqiang.Wang@arm.com>
Change-Id: I04de377dc048307a78a5b7109ebdfaf376d5e029
2020-03-22 17:01:54 +00:00
Benoît Ganne
e7e1b32520 rdma: cleanup rdma-core build
Type: improvement

Change-Id: I298bbb81c753d60288ac63bebf2bdfea323af68b
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-03-12 21:29:47 +00:00
Damjan Marion
eb89b9093b rdma: bunp rdma-core version to v28.0
Type: feature
Change-Id: I85deba9572585745a3f8f8d2f1fe9b62055727b8
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-02-26 14:58:00 +00:00
Damjan Marion
76be887d84 dpdk: bump dpdk version to 20.02
Type: feature
Change-Id: I44c7a4e4dc91daa517296257bfc1f6a7f7cd360b
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-02-26 14:58:00 +00:00
Matthew Smith
0860b2e193 dpdk: patch ixgbe driver to solve race condition
Type: fix

Some fiber ports that are managed by the ixgbe PMD have the
possibility to get into a state where link can never be brought up.

This patch should fix it and will be submitted to upstream DPDK.

Change-Id: Ia4d0df2e70d098b2151e513b96e8bd742151e8ce
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-02-04 09:43:43 +00:00
MathiasRaoul
62b1cea6ed quic: update quicly to v0.0.10-vpp
Type: feature

Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Change-Id: I5452f8bbd0ff9e2a57f7bd7d134a8824efa5f30a
2020-01-31 10:48:40 +00:00
MathiasRaoul
84def7cb75 quic: update quicly to v0.0.9-vpp
Type: feature

Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Change-Id: I5cef549de8380b9b9534b8774819e42988f6b784
2020-01-06 18:01:43 +00:00
MathiasRaoul
ecb9d18c59 quic: update quicly to v0.0.8-vpp
Type: feature

Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Change-Id: I7470d79d1e39716ff83ba2d2b320813d79e2554c
2019-12-17 05:05:41 +00:00
MathiasRaoul
69885b72a9 quic: update quicly to v0.0.7-vpp
Type: feature

Change-Id: Ieeb9abb59b4d094bbd7bfc04a9007d3cebd645d7
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
2019-12-06 22:37:42 +00:00
MathiasRaoul
3afac8f818 quic: update quicly to v0.0.6-vpp
Type: feature

Change-Id: Ib604cfdd55b72f0bc605d1d1e8b387e532b0a255
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
2019-11-25 15:10:19 +00:00
Fan Zhang
d35fefe8bb crypto-ipsecmb: bump to intel-ipsec-mb version 0.53
This patch bumps the engine's intel-ipsec-mb version from 0.52 to
0.53, to avail performance improvement brought by the library.

Type: feature
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I939803015dece91ca59a7fe2120e2131d29e1c55
2019-11-22 12:59:42 +00:00
Dave Wallace
504d023d3b quic: replace quicly patch with upstreamed fix
- Replace the solution to the quicly time skew assert
  with h2o/quicly PR#222 which was merged upstream
  after verification that it resolved the vpp issue.

Type: refactor

Change-Id: I26df08e4108b054a28f50c964ddff1c80a592339
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-11-16 14:23:38 +00:00
Andy Gospodarek
c3731ac89d dpdk: Enable bnxt PMD
This adds support to compile the bnxt PMD that supports Broadcom's
10/25/40/50/100/200 Gbps NICs.  Tested with modified DPDK driver on
x86_64 and aarch64 targets that is pending upstream acceptance, but
should compile just fine today.

Type: feature

Signed-off-by: Andy Gospodarek <gospo@broadcom.com>
Change-Id: I735a991c4cae4fa77e5605094facea54b781a1db
2019-11-14 19:31:50 +00:00
Dave Wallace
caa52f3f93 quic: fix quicly rtt time skew
- This patch to quicly fixes an intermittent failure
  in the rtt calculation when there is a time skew

Type: fix

Change-Id: If89c47401ee75c88f0eb65ae888b6914695b2aec
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-11-04 22:46:34 +00:00
Damjan Marion
3edd1bbe6a build: bump rdma-core version to 26.0
Type: make
Change-Id: I642cff93c4935d6ba7948f0e38761c64007ae0c2
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-11-01 00:09:05 +00:00
Damjan Marion
597354c1d4 build: bump nasm version to 2.14.02
Type: make
Change-Id: I9b598ce17c058709553a45524e18a64de642a8db
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-10-31 22:47:53 +00:00
Damjan Marion
1f8daefd98 build: remove obsolete dpdk patches
Type: refactor
Change-Id: I2bad8d4e7b9d7868c949856d0bbabeccb6825273
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-10-31 22:47:35 +00:00
MathiasRaoul
72c159e64d quic: update quicly to v0.0.5
-Update quicly patches
-Remove event logger (removed from quicly).
-Update quicly functions calls

Type: feature

Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Change-Id: I0355befeb5ce961928f17225c83890ba87cf6ebc
2019-10-04 14:09:10 +00:00
Burt Silverman
839a7bce38 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
2019-09-30 22:02:56 +00:00
Damjan Marion
b6103105f9 dpdk: bump DPDK version to 19.08
Type: feature

Change-Id: I16b8cdf0b6af6715a5f01ad84365a8c8a1b76237
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-08-21 14:32:29 +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