summaryrefslogtreecommitdiffstats
path: root/dpdk/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2017-11-20dpdk: add support for DPDK 17.11Damjan Marion1-1/+6
Also remove DPDK 17.05 support. Change-Id: I4f96cb3f002cd90b12d800d6904f2364d7c4e270 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-11-13Reduce number of parallel buildsDamjan Marion1-1/+1
With recent introduction of C++ code required memory for each compiler instance has significantly increased causing build issues. Currently build system spins 2 compiler instances per logical CPU core. As CPU can hardly execute more than one thread at a time, it should be pretty safe to change that formula so it doesn't multiply number of cpu cores by 2 and such change will signifucantly reduce amount of memory needed. Change-Id: Ic829fff6e45f4caf98a6d9c1c98c53ed003039ef Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-11-05dpdk: build nasm from sourceSergio Gonzalez Monroy1-1/+21
As not all distros have the minimum required nasm version (2.12.01) available, build nasm from sources when building Intel IPsec MB library. Change-Id: Iaa9da87f612c0f84da5704162c3bf430b3351076 Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-10-10dpdk: patch to support bonded interface for MLX NICSteve Shin1-1/+1
At present, creating bonding devices using --vdev is broken for PMD like mlx5 as it is neither UIO nor VFIO based and hence PMD driver is unknown to find_port_id_by_pci_addr(). This DPDK patch fixes parsing PCI ID from bonding device params by verifying it in RTE PCI bus, rather than checking dev->kdrv. Change-Id: If575f63ef31733102566610d769ddd212d74736a Signed-off-by: Steve Shin <jonshin@cisco.com>
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 Marion1-1/+1
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 Marion1-1/+1
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 Marion1-1/+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 Shin1-1/+1
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-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 Marion1-4/+122
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-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 Marion1-1/+0
Change-Id: I31244207ca5420558c6ff00b2021126ff5628e08 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-23dpdk: switch to 16.11Damjan Marion1-1/+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-08-03VPP-180 Clean up multi-socket / multi-chunk mempool discoveryDave Barach1-2/+1
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-02VPP: Fixed dpdk-16.07 BAD checksum errorSachin1-1/+1
- Updated tarball name and checksum value Change-Id: If06581285e506859bd1edb516b690e963c7de5d0 Signed-off-by: Sachin <sachin.saxena@nxp.com>
2016-07-22Add DPDK 16.07 support (rc3 based)Damjan Marion1-1/+1
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-02Enable PCI extended tags in the DPDK configDamjan Marion1-1/+3
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-06-05dpdk: download from dpdk.orgThomas Monjalon1-6/+6
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-05-19Add support for multiple microarchitectures in single binaryDamjan Marion1-1/+2
* 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>