aboutsummaryrefslogtreecommitdiffstats
path: root/dpdk/Makefile
AgeCommit message (Collapse)AuthorFilesLines
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>
2016-05-17dpdk/Makefile - Allow dpdk target to be set according to the platformChristophe Fontaine1-1/+10
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-07Switch to using nexus.fd.io for dpdk tarballEd Warnicke1-1/+1
Change-Id: I9751cbb9137627491ee4bd03e0318429327c0bd8 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-04-26Fix compile errors reported by clangDamjan Marion1-3/+10
For using clang as a compiler it is enough to specify CC=clang in the make command line Change-Id: I06f1c1d418b68768f8119de5bdc8748c51f90c02 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-26Build vpp w/ dpdk-16.04 by defaultDave Barach1-1/+1
Change-Id: I82cdd82213517c51064eb439c44068d8977e5619 Signed-off-by: Dave Barach <dave@barachs.net>
2016-04-26Gernerate dpdk config out of target specific filesDamjan Marion1-7/+2
DPDK 16.04 introduced new config parameter RTE_ARCH_X86 which was missing in the dpdk/Makefile That caused issues with virtio devices on older kernels (observed on 3.13.0). This patch changes the source of generated config so it will also include all defines in config/defconfig_TARGET file. Change-Id: Idc6ccbef1d01da84235281ea1078c081846446de Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-12Add support for DPDK 16.04 release, rebase some of 2.2.0 patchesDamjan Marion1-1/+1
Change-Id: I08292ba39dc6012c2edbcdaed0b02a8ebe07aec4 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-11Bump DPDK 16.04 to RC4Damjan Marion1-1/+1
Change-Id: Ia9affeee54e860b6039d7ee0f411bd022b1dc76c Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-29Add DPDK 16.04-rc2 supportDamjan Marion1-1/+4
Can be used by specifying DPDK_VERSION=16.04-rc2 in the make command line Change-Id: I657b44d7ca22f1ef57756e7703088020fab12bc6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-29Add abbility to specify dpdk tarball download base urlDamjan Marion1-1/+2
Change-Id: Ieceb0b1f4ab69609961d8946f627dd9311963da5 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-25Use rte_mempool private data for storing vlib_buffer_tDamjan Marion1-1/+1
Change-Id: If3fc88a35bc0b736376113a39667caea42802ea1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-14dpdk: fix link errorJean-Mickael Guerin1-1/+1
/usr/bin/ld: -f may not be used without -shared collect2: error: ld returned 1 exit status Indeed an extra "-fPIC" is given to ld, see the -Wl,-fPIC below: gcc -pie -fPIC -pthread -march=native -DRTE_MACHINE_CPUFLAG_SSE -DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSE3 -DRTE_MACHINE_CPUFLAG_SSSE3 -DRTE_MACHINE_CPUFLAG_SSE4_1 -DRTE_MACHINE_CPUFLAG_SSE4_2 -DRTE_MACHINE_CPUFLAG_AES -DRTE_MACHINE_CPUFLAG_PCLMULQDQ -DRTE_MACHINE_CPUFLAG_AVX -DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX -I/home/jmg/dev/vpp/build-root/install-vpp_debug-native/dpdk/include -include /home/jmg/dev/vpp/build-root/install-vpp_debug-native/dpdk/include/rte_config.h -O3 -W -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -D_GNU_SOURCE -Wl,-Map=test.map,--cref -o test commands.o test.o test_pci.o test_prefetch.o test_byteorder.o test_per_lcore.o test_atomic.o test_malloc.o test_cycles.o test_spinlock.o test_memory.o test_memzone.o test_ring.o test_ring_perf.o test_pmd_perf.o test_rwlock.o test_mempool.o test_mempool_perf.o test_mbuf.o test_logs.o test_memcpy.o test_memcpy_perf.o test_hash.o test_thash.o test_hash_perf.o test_hash_functions.o test_hash_scaling.o test_debug.o test_errno.o test_tailq.o test_string_fns.o test_cpuflags.o test_mp_secondary.o test_eal_flags.o test_eal_fs.o test_alarm.o test_interrupts.o test_version.o test_func_reentrancy.o test_cmdline.o test_cmdline_num.o test_cmdline_etheraddr.o test_cmdline_portlist.o test_cmdline_ipaddr.o test_cmdline_cirbuf.o test_cmdline_string.o test_cmdline_lib.o test_red.o test_sched.o test_meter.o test_kni.o test_common.o test_devargs.o virtual_pmd.o packet_burst_generator.o test_link_bonding.o test_link_bonding_mode4.o test_link_bonding_rssconf.o test_pmd_ring.o test_pmd_ring_perf.o test_cryptodev_perf.o test_cryptodev.o test_kvargs.o -Wl,-pie -Wl,-fPIC -Wl,--no-as-needed -Wl,-export-dynamic -L/home/jmg/dev/vpp/build-root/install-vpp_debug-native/dpdk/lib -Wl,-g -L/home/jmg/dev/vpp/build-root/install-vpp_debug-native/dpdk/lib -Wl,--whole-archive -Wl,-ldpdk -Wl,--start-group -Wl,-lrt -Wl,-lm -Wl,-ldl -Wl,--end-group -Wl,--no-whole-archive Fixed by unsetting the flags -pie -fPIC out of LDFLAGS, these are not options for the linker. $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.3.1-10ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 5.3.1 20160225 (Ubuntu 5.3.1-10ubuntu2) Change-Id: Iffbebfbb625e8831822ec092bea88dea42f12930 Signed-off-by: Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
2016-02-25Add support of Ethernet link bonding utilizing DPDK link bondingJohn Lo1-2/+2
poll mode driver library. The bonded interfaces to be created on VPP startup is specified in the dpdk section of startup.conf or qn.conf, using DPDK EAL command. Following is an example of a dpdk section white listing PCI addressses of 4 ethernet interfacess to be under VPP control plus two bonded interface and the PCI addresses of the slaves in each: dpdk { socket-mem 1024,1024 dev 0000:0f:00.0 dev 0000:10:00.0 dev 0000:11:00.0 dev 0000:12:00.0 vdev eth_bond0,mode=2,slave=0000:0f:00.0,slave=0000:11:00.0,xmit_policy=l34 vdev eth_bond1,mode=2,slave=0000:10:00.0,slave=0000:12:00.0,xmit_policy=l34 } Note that only balance XOR (mode 2) is supported and "xmit_policy=l34" specifies to use layer 3 SIP/DIP and layer 4 Sport/Dport for load balance. Using "xmit_policy=l2" for SMAC/DMAC or "xmit_policy=l23" for SMAC/DMAC and SIP/DIP should also work. Change-Id: Iaf6438686fa20cce893cb5a823b76e2886b4360b Signed-off-by: John Lo <loj@cisco.com>
2016-02-13Increase number of dpdk lcores to 256Damjan Marion1-0/+1
Change-Id: Ia0e228d02fd9f180ed9ca468074ab38d575e415e Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-02Change default dpdk version to 2.2Damjan Marion1-1/+1
Change-Id: Iea686ed26d37539d60e52ac1205517512091edab Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-16Introduce support for DPDK 2.2Damjan Marion1-3/+4
Change-Id: Id2c7c4a949363a448a6715463dd81f701f046b93 Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-08Initial commit of vpp code.Ed Warnicke1-0/+174
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17 Signed-off-by: Ed Warnicke <eaw@cisco.com>