summaryrefslogtreecommitdiffstats
path: root/dpdk
AgeCommit message (Collapse)AuthorFilesLines
2016-07-22Add DPDK 16.07 support (rc3 based)Damjan Marion3-1/+1322
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-20ENIC driver update to init mbuf data offset to RTE_PKTMBUF_HEADROOMJohn Lo1-0/+47
Change-Id: I19e3e2b28c45d9f7efdd791d6dab126f6508df3e Signed-off-by: John Lo <loj@cisco.com>
2016-07-16Add DPDK patches for i40e vPMD (ptype and ip checksum offload)Damjan Marion2-0/+1298
Change-Id: Idf38ee8f8cfc31be62fcf0b828832b2f06876815 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-12ENIC driver update to allow bonded interface admin down/up to pass trafficJohn Lo2-0/+79
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-05ENIC driver patches to address various issuesJohn Lo10-0/+741
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-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-17NXP DPAA2 Poll Mode Driver Support in DPDKSachin1-0/+40404
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-09VPP-106: fix performance hit due to unprefetched data readDave Barach1-41/+0
Change-Id: I1325b60b6deadcb51631e178011a31ee70c06cc7 Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-07Rebase DPDK patchesDamjan Marion7-100/+139
Change-Id: I3ef9faceb085bd06b55e3ba7800389eaae56177a 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-06-02VPP-106: Patch e40i driver to support VLAN sub-interfaceJohn Lo1-0/+41
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-05-28VPP-96 ENID driver update for rx of jumbo pkts using muliple mbuf'sJohn Lo2-0/+798
Change-Id: I0e985b079da3224f4886e3ee2cece4d046e291eb Signed-off-by: John Lo <loj@cisco.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-05-04ENIC driver patch to set PKT_RX_VLAN_PKT only if pkt passed has VLAN tagJohn Lo1-0/+42
Change-Id: I72475bfe50e42886ffa8fb6e58eb8192892fa381 Signed-off-by: John Lo <loj@cisco.com>
2016-04-29Revert ixgbe driver vRX removal of packet type recognitionJohn Lo1-0/+128
VPP still needs to use packet type recognition in vRX path of the ixgbe driver so ip packet can bypass ethernet-input node processing for better performance. The shortcoming of packet type recognition in the vRX path does not affect VPP. Change-Id: Ibc96021c50402a75a8bc4f80125c664714276cef Signed-off-by: John Lo <loj@cisco.com>
2016-04-27ENIC driver updates for DPDK 16.04 and 2.2.0John Lo6-12/+3814
Change-Id: I896925ea2208d318d353d486707b97f295c78426 Signed-off-by: John Lo <loj@cisco.com>
2016-04-26Fix compile errors reported by clangDamjan Marion2-3/+42
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-20Remove execute flags from some dpdk patch filesDamjan Marion3-0/+0
Change-Id: I972b784082de45480baf1d1f07845743afddea40 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-16ENIC driver patch to fix rx miss or drop countersJohn Lo3-0/+87
Change-Id: Ic05d182a5659417e91b85c0ae20b6822a5445945 Signed-off-by: John Lo <loj@cisco.com>
2016-04-12Porting 2 dpdk patches to dpdk 16.04 patchesTodd Foggoa2-0/+106
Change-Id: If298d0ba4941b3c8ccec3b407080661b4a06ac5b Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-04-12Add support for DPDK 16.04 release, rebase some of 2.2.0 patchesDamjan Marion7-1/+318
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-04-06Fix DPDK patch files so git am works smoothlyTodd Foggoa14-99/+199
Change-Id: Ic2a6e6f1ceea81f2e34f3db370682569327b44ad Signed-off-by: Todd Foggoa <tfoggoa@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-29Update ENIC driver patches for DPDK 2.2.0John Lo12-74/+573
This includes all patches in ENIC driver which are up-streamed to DPDK to improve RX performance, fix buffer/error handling and interoperation with link bonding PMD library. Change-Id: Id4c71a350d5234834951f9261c69db5476ba396b Signed-off-by: John Lo <loj@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-23Add dpdk vmxnet3 driver patch and init.c change to allow jumbo packetsJohn Lo1-0/+171
Change-Id: I9d7f8b9a0543d885ed10908b859d52a80bf89f56 Signed-off-by: John Lo <loj@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-03-10More updated match to ENIC PMD for DPDK 2.2.0 including rx path optimization.John Lo2-14/+1366
Change-Id: I756940c9c1b2bb71d47caeb08ab34a2e954ddff6 Signed-off-by: John Lo <loj@cisco.com>
2016-02-26Fix ENIC PMD not sending the first packet on TX.John Lo1-0/+26
Change-Id: I615e9ca6f445092baa211098eb64f9553dd4c407 Signed-off-by: John Lo <loj@cisco.com>
2016-02-26Fix link bonding PMD slave status polling path used by VIC ENIC driver.John Lo1-0/+34
Change-Id: Ic9fc952b618477beb246974b33d753bf6fd47dde Signed-off-by: John Lo <loj@cisco.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-22dpdk: fix enic pmd driver tx functionYoann Desmouceaux1-0/+28
Adding a patch to fix DPDK 2.2.0 enic PMD driver TX function. The enic PMD driver send function uses a constant offset instead of relying on the data_off in the mbuf to find the start of the packet. Change-Id: Ic4f3be83865367306785a57e2694e0ccfa295c7b Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
2016-02-19dpdk: fix enic pmd driver tx functionYoann Desmouceaux1-0/+28
Adding a patch to fix DPDK enic PMD driver TX function. The enic PMD driver send function uses a constant offset instead of relying on the data_off in the mbuf to find the start of the packet. Change-Id: I74dbcce949f08e39070a369d992a90586af140a6 Signed-off-by: Yoann Desmouceaux <ydesmouc@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-09Disable EAL message spew which can easily fill /var/logDave Barach1-0/+26
Change-Id: I63da892d1c4148a54ea33c172986c854932beb01 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-05DPDK patch: Add missing init of packet_type field.Todd Foggoa1-0/+70
This can cause packets to be mishandled in systems with more than one type of driver in use. Change-Id: I73ae91ff5d7a22fa542c3b39f6ccfe50437ec71b Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-02-05DPDK patch: Allow applications to override rte_delay_us()Todd Foggoa1-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: I699b2ed460763492502d22b7e8532514e0886ecd Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-02-05DPDK patch: Fix a crash in igb_uio driver when the device is removed.Todd Foggoa1-0/+33
Change-Id: I101166ebda1c06e20a3c89cd38786ce44b7ab5d5 Signed-off-by: Todd Foggoa <tfoggoa@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>
2016-02-01remove igb_uio static pci id table patch, use new_id for all NICsDamjan Marion1-49/+0
Change-Id: I1db64d62c19c28b50f58f9d0b009e3e89e331f71 Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-16Introduce support for DPDK 2.2Damjan Marion6-3/+287
Change-Id: Id2c7c4a949363a448a6715463dd81f701f046b93 Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-08Initial commit of vpp code.v1.0.0Ed Warnicke10-0/+654
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17 Signed-off-by: Ed Warnicke <eaw@cisco.com>