aboutsummaryrefslogtreecommitdiffstats
path: root/dpdk/Makefile
AgeCommit message (Collapse)AuthorFilesLines
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>