83 Commits

Author SHA1 Message Date
Damjan Marion
0f60ff8af3 dpdk: add support for Mellanox ConnectX-5 devices
Change-Id: I3ed2834a326eac50a7cb4faa592f42fd06325d5a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-31 12:22:28 +00:00
Sergio Gonzalez Monroy
fa80f2e421 dpdk: fix plugin linking with sw crypto libraries
Change-Id: I3e3bf786ab3c7672ff2cc7acd221421072e3ac8b
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-03-22 10:47:22 +00:00
Damjan Marion
f7c379403a dpdk: retire support for dpdk 16.07
Change-Id: I8585552c026415340fe9fd0458cb8450da3c4ae2
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-02-28 23:26:30 +01:00
Radu Nicolau
2e3677bb20 cryptodev: Automatically download and build ISA-L Crypto library
Change-Id: I5454053461e6fb98e7f58f9562efde3590bb7cb5
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
2017-02-21 22:21:57 +00:00
Radu Nicolau
6ca42d333b dpdk: updated build to automatically download Intel(R) Multi-Buffer Crypto for IPsec Library
Change-Id: I58182edb7b0d314bb6dfa1daf7b00012196fd3e1
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
2017-02-20 10:53:37 +00:00
Damjan Marion
4983e47c37 dpdk: bump to DPDK 17.02
Change-Id: I4563208d97c43a200fcee948db491706a8d3e211
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-02-17 00:26:17 +00:00
Damjan Marion
78edb8e722 Multiple platofrm support for dpdk/Makefile, fix optimizations
Using -march=native was causing SIGILLs on Atoms.

Change-Id: I98c7fdaa139e3db70c972950dc9c167bf5803656
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-02-07 20:24:49 +00:00
Steve Shin
460bc633b1 ENIC driver patch to fix MAC address add and remove
The mac_addr_add callback function was simply replacing the primary MAC
address instead of adding new ones and the mac_addr_remove callback would
only remove the primary MAC form the adapter. Fix the functions to add or
remove new address. Allow up to 64 MAC addresses per port.

Change-Id: Ieff396ae27505c4c09f028911eff907757b03c7d
Signed-off-by: Steve Shin <jonshin@cisco.com>
2017-02-02 12:36:45 +00:00
Steve Shin
676112f81e Bump up PKG_SUFFIX to vpp3
Change-Id: Ib5e95d5e5a3da5fb395b26177f7dd17e90afd69d
Signed-off-by: Steve Shin <jonshin@cisco.com>
2017-01-31 09:19:18 +00:00
Steve Shin
d03798c4eb This patch fixes a bug in replaying MAC address to the hardware
in rte_eth_dev_config_restore() routine. Added default MAC replay as well.

Fixes: 4bdefaade6d1 ("ethdev: VMDQ enhancements")

Change-Id: I646799477e9a6f2fdeff7a52a76d216ef91115e9
Signed-off-by: Steve Shin <jonshin@cisco.com>
2017-01-30 09:32:00 -08:00
Sergio Gonzalez Monroy
d04b60bfa9 dpdk: rework cryptodev ipsec build and setup
Build Cryptodev IPsec support by default when DPDK is enabled but only build
hardware Cryptodev PMDs.

To enable Cryptodev support, a new startup.conf option for dpdk has been
introduced 'enable-cryptodev'.

During VPP init, if Cryptodev support is not enabled or not enough cryptodev
resources are available then default to OpenSSL ipsec implementation.

Change-Id: I5aa7e0d5c2676bdb41d775ef40364536a081956d
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-01-27 20:52:17 +00:00
Damjan Marion
248968be0f Fix cosmetic issue in dpdk/Makefile
Change-Id: I95684396e3dad53ddf7479467a36a5b68e5703cf
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-01-21 16:24:02 +00:00
Damjan Marion
2ce7f9834a Add dpdk development packaging
Change-Id: I6aa2a6709241d99ce734c29e47487eb456907351
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-01-20 15:02:12 +00:00
Damjan Marion
68fda1c47c dpdk: do not build igb_uio module
igb_uio is anyway build out of source from dkms package
so there is no need to build it here.

Also, this creates issues in cases where kernel headers are not
available (i.e. building inside containers).

Change-Id: I270598a94dc67ad0b31e7f0db9ed6bd6fc8cfe30
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-01-02 13:22:24 +00:00
Damjan Marion
696f1adec0 dpdk: Add support for Mellanox ConnectX-4 devices
Due to external library dependency support for Mellanox
devices is disabled. To enable it uncoment following line:

vpp_uses_dpdk_mlx5_pmd = yes

in build-data/platforms/vpp.mk and install OFED libraries.

Change-Id: I131d52b5d449a958349f31f9cc04311948f78b71
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-26 14:53:35 +00:00
Pierre Pfister
865d6ba8a3 dpdk patch: virtio: tx with can_push when VERSION_1 is set
This patch for dpdk 16.11 enables the use of shallow
virtio descriptors when VERSION_1 is set.

More info on DPDK patchwork:
  http://dpdk.org/dev/patchwork/patch/17340/

Change-Id: I28cde77ed5a3588921d00da50678debfe0338b08
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-11-30 21:06:45 +00:00
Sergio Gonzalez Monroy
a10f62b11e dpdk: add ipsec cryptodev support
DPDK Cryptodev support and related IPsec ESP nodes using DPDK Cryptodev APIs.

When DPDK Cryptodev support is enabled, the node graph is modified by adding
and replacing some of the nodes.

The following nodes are replaced:
* esp-encrypt -> dpdk-esp-encrypt
* esp-decrypt -> dpdk-esp-decrypt

The following nodes are added:
* dpdk-crypto-input : polling input node
* dpdk-esp-encrypt-post : internal node
* dpdk-esp-decrypt-post : internal node

Change-Id: I6dca9a890abaf4fb2a4fffce3fd08ac013e4d701
Signed-off-by: Zhang, Roy Fan <roy.fan.zhang@intel.com>
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2016-11-28 11:29:50 +00:00
Damjan Marion
f3ebeda1da dpdk: remove old patches
Change-Id: I31244207ca5420558c6ff00b2021126ff5628e08
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-24 09:24:05 +00:00
Damjan Marion
e0a2d1796a dpdk: switch to 16.11
Change-Id: Icf9de5b89e5c2cda763e52d528fb70091860a754
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-23 22:39:02 +00:00
Damjan Marion
d4895d5415 dpdk: add build support for DPDK 16.11 release
Change-Id: Icec79bfc5d786cd293520b1dcc6b8dccd1419acb
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-14 20:48:54 +00:00
Damjan Marion
66bcab2fff dpdk: bump to 16.11-rc3 release
Tarball available at:
 http://dpdk.org/browse/dpdk/snapshot/dpdk-16.11-rc3.tar.xz

Change-Id: Ib34f32206d866888c4b5bf6609b8ae53f570daaa
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-09 13:08:30 +00:00
Damjan Marion
39162275f6 dpdk: enable building with dpdk 16.11-rc1
Works with:

http://dpdk.org/browse/dpdk/snapshot/dpdk-16.11-rc1.tar.xz

placed into dpdk/ or ~/Downloads

Change-Id: I17f6a721529dbefc796f555e2525d157b9bf8740
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-26 20:14:17 +00:00
Pierre Pfister
019481ba1d DPDK virtio patch: Enable indirect descriptor features
http://dpdk.org/dev/patchwork/patch/15610/

This change only includes patch for DPDK 16.07 as
DPDK 16.04 doesn't seem to compile for me.

Change-Id: I18d84456ef6a15aa308d5e14673a24cb4a7b6909
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-09-12 09:37:30 +00:00
Sean Chandler
dc731bd4b1 VPP-345: pull in upstream checksum patch for ICMP packets
http://www.dpdk.org/dev/patchwork/patch/15216/

Change-Id: I91b67f3e5c0abff52626e504e2707814ae0c3ed0
Signed-off-by: Sean Chandler <seandchandler@gmail.com>
2016-08-25 00:30:37 +00:00
Sachin
3f0cb9efad VPP: NXP dpaa2 platform porting to dpdk-16.07
This patch will temporary add the "dpaa2" driver support in VPP in-built DPDK v16.07

Change-Id: Ieb7005c73bdb72e5eac88e17c21474479ad087f0
Signed-off-by: Sachin <sachin.saxena@nxp.com>
2016-08-12 07:48:38 +00:00
John Lo
e262ff10d4 Rename DPDK-16.07 patch file from 0007... to 0008... to avoid conflict
There are now two 0007... patch files. So renaming one to 0008...

Change-Id: I82ab883db3436b1fce6b169065b257df052fe63c
Signed-off-by: John Lo <loj@cisco.com>
2016-08-11 07:30:06 +00:00
Ray Kinsella
2bd44b7cdd DPDK: Fix a crash in igb_uio driver when the device is removed.
This crash happens because the device still has MSI configured,
the fix is to free the IRQ. Adding pending further investigation.

Change-Id: Ifcd3404fcc25fe27dcccc67d0dcf9d8f0ec18582
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
2016-08-10 12:51:18 +00:00
John Lo
348c3b70a4 Temporarily disable unthrottled log message from DPDK 16.07
Patch to prevent the unthrottled message from spilling to syslog and
fill up disk space.

Change-Id: I239ca27a7568182217a675692e0be966fc3486f5
Signed-off-by: John Lo <loj@cisco.com>
2016-08-10 11:24:25 +00:00
Ray
3a9b5d97ca dpdk: allow applications to override rte delay
Some applications may wish to define their own implentation of
usec delay other than the existing blocking one. The default
behavior remains unchanged.

Change-Id: I6cb626e7a5d9d985928aa266e522a849d264a2b2
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
2016-08-09 21:56:52 +00:00
Ray
54360750d3 DPDK: adding patch to init ptype in vmxnet3, e1000 and virtio PMDs
Ensure the packet_type is reset before the buffer is used.
This can cause packets to be mishandled in systems with more than one type of driver in use.

Change-Id: I14ef9bd6be834d66d19bae36122b648450a9f7e6
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-08-09 13:01:38 +00:00
Ray
a581f20e5a DPDK: adding patch to revert ptype change to ixgbe vpmd
Commit d9a2009a81089093645fea2e04b51dd37edf3e6f on DPDK.org, reverted the ptype functionality
from the ixgbe vPMD. Reverting this change pending a deeper analysis.

Change-Id: I2515f3d700b2a4922495ba9e63f202d679543d01
Signed-off-by: Ray <ray.kinsella@intel.com>
2016-08-08 12:03:43 +00:00
John Lo
c08f5a7aef ENIC driver patch for PKT_RX_VLAN_PKT packet flag backward compatibility
The PKT_RX_VLAN_PKT flag will be totally obsolete by 16.11. We still need
this ENIC driver patch for 16.07.

Change-Id: I287035525d2d1b5313e88e9e74b6310536de2c32
Signed-off-by: John Lo <loj@cisco.com>
2016-08-04 12:13:05 +00:00
Dave Barach
3389bbcad0 VPP-180 Clean up multi-socket / multi-chunk mempool discovery
Change the default DPDK version to 16.07, and rename the indicated
patch directory. Use the native vhost-user driver.

Change-Id: Ie3d17e90e363ce86f0233b58c152de683b5d9456
Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-03 15:18:37 +00:00
Sachin
734d291c2e VPP: Fixed dpdk-16.07 BAD checksum error
- Updated tarball name and checksum value

Change-Id: If06581285e506859bd1edb516b690e963c7de5d0
Signed-off-by: Sachin <sachin.saxena@nxp.com>
2016-08-02 11:35:48 +05:30
Shesha Sreenivasamurthy
819e0f4845 enic: fix bug introduced with scatter rx
Author: Nelson Escobar <neescoba@cisco.com>
    Date:   Mon Jun 13 17:24:41 2016 -0700

    We did not properly set the rq pointers we pass up to dpdk when
    rx scatter was introduced.  This resulted in segfaults whenever
    more than one rq was being used.

Change-Id: I77a9793ea9035baa1ada77d3af7bc83baf58d097
Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-07-29 14:35:33 -07:00
Damjan Marion
1f0da170e8 Add DPDK 16.07 support (rc3 based)
DPDK vhost-user support is disabled due to significan changes
in the DPDK vhost-user code which are not compatible with current
VPP code.

Change-Id: I3f0d28cb75f6370282ec7e33d57cbfb77e1a3ce1
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-22 09:10:58 +02:00
John Lo
84bde8dc13 ENIC driver update to init mbuf data offset to RTE_PKTMBUF_HEADROOM
Change-Id: I19e3e2b28c45d9f7efdd791d6dab126f6508df3e
Signed-off-by: John Lo <loj@cisco.com>
2016-07-20 16:14:57 -04:00
Damjan Marion
7d6b81e319 Add DPDK patches for i40e vPMD (ptype and ip checksum offload)
Change-Id: Idf38ee8f8cfc31be62fcf0b828832b2f06876815
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-16 17:02:03 +00:00
John Lo
3190f7ea3a ENIC driver update to allow bonded interface admin down/up to pass traffic
When ENIC ports are used as slaves to a bonded interface, these patches
enable traffic on bonded interface to resume properly on admin down and
then up of the bonded interface.

Change-Id: I339926010da614068417c72009b7af2f892890ce
Signed-off-by: John Lo <loj@cisco.com>
2016-07-12 00:55:20 +00:00
John Lo
55bf5c9385 ENIC driver patches to address various issues
Also clear x-bit for old patch files 0013-xxx and 0014-xxx.

Change-Id: I217fdbfb32cef1ae575c668270d3baf593e688c6
Signed-off-by: John Lo <loj@cisco.com>
2016-07-05 16:21:35 +00:00
Damjan Marion
a15568029a Enable PCI extended tags in the DPDK config
This change should improve DPDK performance on 40G+ NICs
with small packets.
It also removes ITR setting for i40e devices, allowing driver to set default.

Change-Id: I70761b155e48fb0281f7c231516d83027bd16ca2
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-02 12:22:43 +00:00
Sachin
bd05e17d79 NXP DPAA2 Poll Mode Driver Support in DPDK
Upstreaming of DPAA2 driver changes is in progress.This patch will
 temporary add the support in VPP in built DPDK.

 Two types of changes:
     1. Driver specfic independent files. No impact on any other functionality.
     2. Changes in common EAL framework. These changes are done in compile time DPAA2
        specific flag, so no impact is expected on other existing features if not
	compiling for DPAA2.

Change-Id: I02abe7189313835b51ff654b4d7e566bc0fb8327
Signed-off-by: Sachin <sachin.saxena@nxp.com>
2016-06-17 12:33:43 +00:00
Dave Barach
3f3b085c8e VPP-106: fix performance hit due to unprefetched data read
Change-Id: I1325b60b6deadcb51631e178011a31ee70c06cc7
Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-09 13:41:58 +00:00
Damjan Marion
19414deeaa Rebase DPDK patches
Change-Id: I3ef9faceb085bd06b55e3ba7800389eaae56177a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-07 16:34:44 +00:00
Thomas Monjalon
96e10b554f dpdk: download from dpdk.org
The tarball repository fast.dpdk.org is fast and reliable enough
to be used in VPP build process.

Change-Id: Ifaae57d6f8308127b93fc51b2a2a863da5766cd2
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-06-05 08:45:40 +00:00
John Lo
4cd850e7b2 VPP-106: Patch e40i driver to support VLAN sub-interface
Check packet for presence of VLAN tag in the MAC header and set
the PKT_RX_VLAN_PKT flag to trigger sub-interface lookup in VPP
ethernet-input node.

Change-Id: Iadbfc59d08ef85efb936c88323a90194f3cd656f
Signed-off-by: John Lo <loj@cisco.com>
2016-06-02 20:46:12 +00:00
John Lo
1220afe52a VPP-96 ENID driver update for rx of jumbo pkts using muliple mbuf's
Change-Id: I0e985b079da3224f4886e3ee2cece4d046e291eb
Signed-off-by: John Lo <loj@cisco.com>
2016-05-28 15:47:11 +00:00
Damjan Marion
1c80e831b7 Add support for multiple microarchitectures in single binary
* compiler -march= parameter is changed from native to corei7
   so code is always genereted with instructions which are available
   on the Nehalem microarchitecture (up to SSE4.2)

 * compiler -mtune= parameter is added so code is optimized for
   corei7-avx which equals to Sandy Bridge microarchitecture

 * set of macros is added which allows run-time detection of available
   cpu instructions (e.g. clib_cpu_supports_avx())

 * set of macros is added which allows us to clone graph node funcitons
   where cloned function is optmized for different microarchitecture
   Those macros are using following attributes:
     __attribute__((flatten))
     __attribute__((target("arch=core-avx2)))

   I.e. If applied to foo_node_fn() macro will generate cloned
   functions foo_node_fn_avx2() and foo_node_fn_avx512() (future)
   It will also generate function void * foo_node_fn_multiarch_select()
   which detects available instruction set and returns pointer to the
   best matching function clone.

Change-Id: I2dce0ac92a5ede95fcb56f47f3d1f3c4c040bac0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-19 18:14:38 +02:00
Christophe Fontaine
737547efc3 dpdk/Makefile - Allow dpdk target to be set according to the platform
Allows DPDK parameters to be overriden from the platform
definition.

$(PLATFORM)_dpdk_arch = "armv7a"
$(PLATFORM)_dpdk_target = "arm-armv7a-linuxapp-gcc"
$(PLATFORM)_dpdk_make_extra_args = "CONFIG_RTE_EAL_IGB_UIO=y"

Change-Id: I8c0f233942744cb82ca3ed2d65e33acee845cb4e
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-05-17 19:39:25 +00:00
Ed Warnicke
59611303fb Switch to using nexus.fd.io for dpdk tarball
Change-Id: I9751cbb9137627491ee4bd03e0318429327c0bd8
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-07 13:02:42 +00:00