aboutsummaryrefslogtreecommitdiffstats
path: root/dpdk
AgeCommit message (Collapse)AuthorFilesLines
2017-10-05dpdk/ipsec: rework plus improved cli commandsSergio Gonzalez Monroy1-2/+2
This patch reworks the DPDK ipsec implementation including the cryptodev management as well as replacing new cli commands for better usability. For the data path: - The dpdk-esp-encrypt-post node is not necessary anymore. - IPv4 packets in the decrypt path are sent to ip4-input-no-checksum instead of ip4-input. The DPDK cryptodev cli commands are replaced by the following new commands: - show dpdk crypto devices - show dpdk crypto placement [verbose] - set dpdk crypto placement (<device> <thread> | auto) - clear dpdk crypto placement <device> [<thread>] - show dpdk crypto pools Change-Id: I47324517ede82d3e6e0e9f9c71c1a3433714b27b Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-09-12Add option to build without multi-buffer crypto.Thomas F Herbert1-2/+3
JIRA VPP-498 This patch also allows RPMs to be built without multi- buffer crypto for some RPM based downstream distros that don't have sufficiently new nasm or don't have an USA export license for multi-buffer crypto. The default is to build WITH multi-buffer crypto for x86-64. This patch allows optional building without multi-buffer crypto. To build without multi-buffer crypto, set the AESNI environment variable to n. To build rpm packages without multi-buffer crypto, build the rpms with the option turned off. make build AESNI=n or.. make pkg-rpm --without aesni ---How to test this patch on a Centos build.--- Build as above and verify that nasm isn't executed during the build process. vpp may be installed and the dpdk plugin may be inspected to verify that the multi-buffer code isn't present. Change-Id: I8c5cfd4cdd9eb2b96772a687eaa54560806e001b Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2017-09-11Improved arm64 chip detectionBrian Brooks1-11/+46
Use ARMv8 Main ID Register (exposed thru /proc/cpuinfo) to identify the CPU implementor and part number. For further details, see the ARMv8 ARM D7.2.66. Change-Id: I2b0d0b165cda4ab9fc57c645af90e9e354b73f44 Signed-off-by: Brian Brooks <brian.brooks@arm.com> Signed-off-by: Jeremy Linton <jeremy.linton@arm.com> Signed-off-by: Ola Liljedahl <ola.liljedahl@arm.com> Reviewed-by: Song Zhu <song.zhu@arm.com>
2017-08-31Native arm64 build: dpdk/Makefile changeBrian Brooks1-2/+11
With this change, the status of `make build': Huawei D02, Linux 4.4.0, gcc 5.4.1 - success AMD Seattle, Linux 4.4.6, gcc 5.3.1 - compiler ICEs Cavium ThunderX, Linux 4.4.49, gcc 5.4.0 - success Before: Huawei D02, Linux 4.4.0, gcc 5.4.1 - fail AMD Seattle, Linux 4.4.6, gcc 5.3.1 - fail Cavium ThunderX, Linux 4.4.49, gcc 5.4.0 - success Change-Id: I49db34a33f9ca0725c7511d4f796706892b5b2da Signed-off-by: Brian Brooks <brian.brooks@arm.com>
2017-08-25dpdk: bump to dpdk 17.08, remove support for dpdk 17.02Damjan Marion1-3/+2
Change-Id: I674fb1212e48693939045523df085326a4dd1809 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-08-25dpdk: required changes for 17.08Sergio Gonzalez Monroy1-14/+33
DPDK 17.08 breaks ethdev and cryptodev APIs. Address those changes while keeping backwards compatibility for DPDK 17.02 and 17.05. Change-Id: Idd6ac264d0d047fe586c41d4c4ca74e8fc778a54 Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-08-22dpdk: define MACHINE before it is usedDamjan Marion1-2/+1
This fixes build on non-x86 platforms like arm64. Change-Id: I7ff5df92f89e34c27889d82f35924dc28cde8c39 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-08-21dpdk: disable tun/tap PMDDamjan Marion1-0/+1
Beside the fact that we don't need it, it fails to build on ARM64. Change-Id: Iefae8bf234b588d8005df5e053b9152b6611929c Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-08-15Previous version was still downloading, unpacking and building IPSEC / AESMarco Varlese1-6/+12
libraries. This patch addresses the misbehaviour. Change-Id: I41f1ece3ca21c5a8f2c95533ed3d77a535233ea6 Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-08-14dpdk: force libdir for isa-l crypto librarySergio Gonzalez Monroy1-1/+2
Depending on the OS, the default libdir might change. RHEL/Ubuntu: libdir={exec_prefix}/lib OpenSUSE: libdir={exec_prefix}/lib64 Change-Id: I5f1672e5815ad821e6ac5fff95de5232ab735b67 Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-08-14Added MD5SUM for DPDK 17.08 tarball as a first step towards migrationMarco Varlese1-0/+1
Change-Id: Ic73b857c4e3d5a3f695e93924de5a5bed0af5019 Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-08-09dpdk: only build SW crypto for x86_64 platformsSergio Gonzalez Monroy1-3/+10
Change-Id: If559747ad59c82c81d15734f27e15548eca0962b Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-07-14dpdk: update buildSergio Gonzalez Monroy1-28/+31
Current optional DPDK PMDs are: - AESNI MB PMD (SW crypto) - AESNI GCM PMD (SW crypto) - MLX4 PMD - MLX5 PMD This change will always build DPDK SW crypto PMDs and required SW crypto libraries, while MLX PMDs are still optional and the user has to build required libraries. Now the configure script detects if any of the optional DPDK PMDs were built and link against their required libraries/dependencies. Change-Id: I1560bebd71035d6486483f22da90042ec2ce40a1 Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-06-24make: Fix parallel building with some container platforms (VPP-880)Chris Luke1-1/+7
With some Linux container platforms /proc/cpuinfo reads as an empty file. (Aside: stat on /proc/cpuinfo always indicates a length of zero bytes, regardless of its content). This has the effect that the make '-j' parameter being passed the unhelpful value of '0' both in build-root/Makefile and dpdk/Makefile. Make complains with the error: make: the '-j' option requires a positive integer argument This patch checks for '0' and replaces it with '2' as a reasonable number of jobs to run in parallel when the CPU count isn't known (and assumed to be one). It also makes the value determination consistent between VPP and DPDK (2*ncpu). Change-Id: I78b89420114a825fab4d339e4f9291d486b7b9c8 Signed-off-by: Chris Luke <chrisy@flirble.org>
2017-05-31Revert "dpdk: build sw cryptodev support with make verify"Peter Mikus1-9/+4
This reverts commit 0e2e10b77d63196bfb93ae5be1251bbc1a1b561a. Change-Id: I3c1737f391b6ed127f92416f06449216e79859bb Signed-off-by: Peter Mikus <pmikus@cisco.com>
2017-05-30dpdk: build sw cryptodev support with make verifySergio Gonzalez Monroy1-4/+9
Change-Id: Ica95b5d3d44563c93c89b2a3233171c3aa1f048d Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-05-17dpdk: disable 16-bit descriptors for X710/XL710Damjan Marion1-2/+1
This fixes issue with rx packet drops on VF. Change-Id: I8c1a35213013f8856b71e7204496f463319cbe28 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-05-15dpdk: revert dpdk 17.05 change which causes virtio issuesDamjan Marion5-244/+59
This patch is causing DPDK to provide bad MAC address for legacy virtio interfaces. Change-Id: I526cd35a38164ede80a8ab6decb9e0d1ebfad723 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-05-11dpdk: bump to dpdk 17.05Damjan Marion1-4/+5
Change-Id: I19744387859129c6b8dc104041af158bf5f1d988 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-25Add support for 32-bit x86 compilation in MakefilesDamjan Marion1-3/+5
Change-Id: Ida73678b47b685abef4e81b5cad9fc13eb330850 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-31dpdk: add support for Mellanox ConnectX-5 devicesDamjan Marion9-1/+1703
Change-Id: I3ed2834a326eac50a7cb4faa592f42fd06325d5a Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-03-22dpdk: fix plugin linking with sw crypto librariesSergio Gonzalez Monroy1-19/+26
Change-Id: I3e3bf786ab3c7672ff2cc7acd221421072e3ac8b Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-02-28dpdk: retire support for dpdk 16.07Damjan Marion12-41832/+0
Change-Id: I8585552c026415340fe9fd0458cb8450da3c4ae2 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-02-21cryptodev: Automatically download and build ISA-L Crypto libraryRadu Nicolau1-1/+20
Change-Id: I5454053461e6fb98e7f58f9562efde3590bb7cb5 Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
2017-02-20dpdk: updated build to automatically download Intel(R) Multi-Buffer Crypto ↵Radu Nicolau1-0/+22
for IPsec Library Change-Id: I58182edb7b0d314bb6dfa1daf7b00012196fd3e1 Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
2017-02-17dpdk: bump to DPDK 17.02Damjan Marion1-2/+3
Change-Id: I4563208d97c43a200fcee948db491706a8d3e211 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-02-07Multiple platofrm support for dpdk/Makefile, fix optimizationsDamjan Marion1-27/+25
Using -march=native was causing SIGILLs on Atoms. Change-Id: I98c7fdaa139e3db70c972950dc9c167bf5803656 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-02-02ENIC driver patch to fix MAC address add and removeSteve Shin2-1/+123
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-01-31Bump up PKG_SUFFIX to vpp3Steve Shin1-1/+1
Change-Id: Ib5e95d5e5a3da5fb395b26177f7dd17e90afd69d Signed-off-by: Steve Shin <jonshin@cisco.com>
2017-01-30This patch fixes a bug in replaying MAC address to the hardwareSteve Shin1-0/+83
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-27dpdk: rework cryptodev ipsec build and setupSergio Gonzalez Monroy1-5/+5
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-21Fix cosmetic issue in dpdk/MakefileDamjan Marion1-1/+1
Change-Id: I95684396e3dad53ddf7479467a36a5b68e5703cf Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-01-20Add dpdk development packagingDamjan Marion8-32/+213
Change-Id: I6aa2a6709241d99ce734c29e47487eb456907351 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-01-02dpdk: do not build igb_uio moduleDamjan Marion1-0/+1
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>
2016-12-26dpdk: Add support for Mellanox ConnectX-4 devicesDamjan Marion1-1/+3
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-11-30dpdk patch: virtio: tx with can_push when VERSION_1 is setPierre Pfister1-0/+38
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-28dpdk: add ipsec cryptodev supportSergio Gonzalez Monroy1-0/+4
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-24dpdk: remove old patchesDamjan Marion65-50996/+0
Change-Id: I31244207ca5420558c6ff00b2021126ff5628e08 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-23dpdk: switch to 16.11Damjan Marion2-2/+1
Change-Id: Icf9de5b89e5c2cda763e52d528fb70091860a754 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-14dpdk: add build support for DPDK 16.11 releaseDamjan Marion1-1/+1
Change-Id: Icec79bfc5d786cd293520b1dcc6b8dccd1419acb Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-09dpdk: bump to 16.11-rc3 releaseDamjan Marion1-1/+1
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-10-26dpdk: enable building with dpdk 16.11-rc1Damjan Marion1-0/+1
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-09-12DPDK virtio patch: Enable indirect descriptor featuresPierre Pfister1-0/+34
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-08-25VPP-345: pull in upstream checksum patch for ICMP packetsSean Chandler1-0/+18
http://www.dpdk.org/dev/patchwork/patch/15216/ Change-Id: I91b67f3e5c0abff52626e504e2707814ae0c3ed0 Signed-off-by: Sean Chandler <seandchandler@gmail.com>
2016-08-12VPP: NXP dpaa2 platform porting to dpdk-16.07Sachin1-0/+40106
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-11Rename DPDK-16.07 patch file from 0007... to 0008... to avoid conflictJohn Lo1-0/+0
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-10DPDK: Fix a crash in igb_uio driver when the device is removed.Ray Kinsella1-0/+38
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-10Temporarily disable unthrottled log message from DPDK 16.07John Lo1-0/+26
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-09dpdk: allow applications to override rte delayRay1-0/+43
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-09DPDK: adding patch to init ptype in vmxnet3, e1000 and virtio PMDsRay1-0/+70
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>