41 Commits

Author SHA1 Message Date
Mathias Raoul
db36fda74e quic: update quicly to v0.1.3
This bumps quicly version to v0.1.3 ( sha
d44c089364067dbcdfbad7fb2c821900fb4aef5e in
https://github.com/h2o/quicly )

Also simplifies the build to only make needed
dependancies, and silence compiletime warnings

Type: feature

Change-Id: Ie00ec7e408d234464871b68ddc79bb33dc4179ed
Signed-off-by: Mathias Raoul <mathias.raoul@gmail.com>
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-04-22 00:52:15 +00:00
Mathias Raoul
2e4523816c quic: quicly v0.1.2 update
- update quic plugin with new quicly/picotls API
- remove packet allocator
- remove crypto batching
- update picotls plugin
- add cli for quicly congestion control configuration

Type: feature

Change-Id: If76ef31c43b430eea2f7674539b2112aee0f351e
Signed-off-by: Mathias Raoul <mathias.raoul@gmail.com>
2021-01-22 16:06:48 +00:00
Chenmin Sun
9b8121cdc0 dpdk: dpdk i40e patch cherry-pick
This patch fixes flex payload flow creation failure issue

Type: fix

Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: I3ac0a168dadd033a668d7bd6f5e78798aedb61a5
2021-01-21 13:32:37 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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