summaryrefslogtreecommitdiff
path: root/config
AgeCommit message (Collapse)Author
2017-05-05config: make backtrace optionalWei Dai
When building DPDK with musl, there is need not to disable backtrace to remove some references to execinfo.h which is not supported by musl now. This also applies to some other libc implementation which doesn't support backtrace() and backtrace_symbols(). musl is an implementation of the userspace portion of the standard library functionality described in the ISO C and POSIX standards, plus common extensions. Got more details about musl from http://www.musl-libc.org . Signed-off-by: Wei Dai <wei.dai@intel.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2017-04-30config: make AVX and AVX512 configurableZhihong Wang
Making AVX and AVX512 configurable is useful for performance and power testing. The similar kernel patch at https://patchwork.kernel.org/patch/9618883/. AVX512 support like in rte_memcpy has been in DPDK since 16.04, but it's still unproven in rich use cases in hardware. Therefore it's marked as experimental for now, will enable it after enough field test and possible optimization. Signed-off-by: Zhihong Wang <zhihong.wang@intel.com> Reviewed-by: Zhiyong Yang <zhiyong.yang@intel.com> Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
2017-04-30config: set cache line as 128B for generic arm64Jerin Jacob
armv8 implementations may have 64B or 128B cache line. Setting to the maximum available cache line size in generic config to address minimum DMA alignment across all arm64 implementations. Increasing the cacheline size has no negative impact to cache invalidation on systems with a smaller cache line. The need for the minimum DMA alignment has impact on functional aspects of the platform so default config should cater the functional aspects. There is an impact on memory usage with this scheme, but that's not too important for the single image arm64 distribution use case. The arm64 linux kernel followed the similar approach for single arm64 image use case. http://lxr.free-electrons.com/source/arch/arm64/include/asm/cache.h Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Jianbo Liu <jianbo.liu@linaro.org> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
2017-04-20crypto/dpaa2_sec: introduce poll mode driverAkhil Goyal
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
2017-04-19config: add configuration for toggling physical addressingHemant Agrawal
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-04-19net/dpaa2: support debug logHemant Agrawal
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-04-19net/dpaa2: introduce NXP DPAA2 driverHemant Agrawal
add support for fsl-mc bus based dpaa2 pmd driver. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-04-19mempool/dpaa2: add hardware offloaded mempoolHemant Agrawal
DPAA2 Hardware Mempool handlers allow enqueue/dequeue from NXP's QBMAN hardware block. CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS is set to 'dpaa2', if the pool is enabled. This memory pool currently supports packet mbuf type blocks only. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-04-19bus/fslmc: introduce fsl-mc bus driverHemant Agrawal
The fslmc bus driver is a rte_bus driver which scans the fsl-mc bus for NXP DPAA2 SoCs. Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-04-19net/ixgbe: remove option to disable offload flagsKonstantin Ananyev
Having packets received without any offload flags given in the mbuf is not very useful, and performance tests with testpmd indicates little benefit is got with the current code by turning off the flags. This makes the build-time option pointless, so we can remove it. Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2017-04-19net/i40e: remove option to disable offload flagsBruce Richardson
Having packets received without any offload flags given in the mbuf is not very useful, and performance tests with testpmd indicates little to no benefit is got with the current code by turning off the flags. This makes the build-time option pointless, so we can remove it. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Jianbo Liu <jianbo.liu@linaro.org>
2017-04-19config: enable AVP driver only on x86 64-bitAllain Legacy
The AVP devices are only supported on Intel 64-bit architectures so adjusting the defconfig attributes accordingly. Fixes: 908072e9d0e6 ("net/avp: support driver registration") Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
2017-04-19net/ark: stub PMD for Atomic Rules ArkvilleEd Czeck
Enable Arkville on supported configurations Add overview documentation Minimum driver support for valid compile Arkville PMD is not supported on ARM or PowerPC at this time Signed-off-by: Ed Czeck <ed.czeck@atomicrules.com> Signed-off-by: John Miller <john.miller@atomicrules.com>
2017-04-06config: enable crypto scheduler PMD by defaultBruce Richardson
The crypto scheduler PMD has no external dependencies to enable that by default. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-04-05latency: added new library for latency statsReshma Pattan
Add a library designed to calculate latency statistics and report them to the application when queried. The library measures minimum, average and maximum latencies, and jitter in nano seconds. The current implementation supports global latency stats, i.e. per application stats. Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> Signed-off-by: Remy Horton <remy.horton@intel.com> Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
2017-04-05bitrate: add bitrate statistics libraryRemy Horton
This patch adds a library that calculates peak and average data-rate statistics. For ethernet devices. These statistics are reported using the metrics library. Signed-off-by: Remy Horton <remy.horton@intel.com>
2017-04-05metrics: add information metrics libraryRemy Horton
This patch adds a new information metrics library. This Metrics library implements a mechanism by which producers can publish numeric information for later querying by consumers. Metrics themselves are statistics that are not generated by PMDs, and hence are not reported via ethdev extended statistics. Metric information is populated using a push model, where producers update the values contained within the metric library by calling an update function on the relevant metrics. Consumers receive metric information by querying the central metric data, which is held in shared memory. Signed-off-by: Remy Horton <remy.horton@intel.com>
2017-04-05net/i40e: use dynamic log type for control logsOlivier Matz
This is an example of how a dynamic log type can be used in a PMD. Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
2017-04-04event/octeontx: add build and log infrastructureJerin Jacob
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> Acked-by: Gage Eads <gage.eads@intel.com>
2017-04-04event/sw: add new software-only eventdev driverBruce Richardson
This adds the minimal changes to allow a SW eventdev implementation to be compiled, linked and created at run time. The eventdev does nothing, but can be created via vdev on commandline, e.g. sudo ./x86_64-native-linuxapp-gcc/app/test --vdev=event_sw0 ... PMD: Creating eventdev sw device event_sw0, numa_node=0, sched_quanta=128 RTE>> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
2017-04-04event/skeleton: add skeleton eventdev driverJerin Jacob
The skeleton driver facilitates, bootstrapping the new eventdev driver and creates a platform to verify the northbound eventdev common code. The driver supports both VDEV and PCI based eventdev devices. Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2017-04-04eventdev: implement the northbound APIsJerin Jacob
This patch implements northbound eventdev API interface using southbond driver interface Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2017-04-04net/avp: support driver registrationAllain Legacy
Adds the initial framework for registering the driver against the support PCI device identifiers. Signed-off-by: Allain Legacy <allain.legacy@windriver.com> Signed-off-by: Matt Peters <matt.peters@windriver.com> Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
2017-04-04net/avp: add debug log macrosAllain Legacy
Adds a header file with log macros for the AVP PMD Signed-off-by: Allain Legacy <allain.legacy@windriver.com> Signed-off-by: Matt Peters <matt.peters@windriver.com> Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
2017-04-04net/avp: add base filesAllain Legacy
This commit introduces the AVP PMD file structure without adding any actual driver functionality. Functional blocks will be added in later patches. Signed-off-by: Allain Legacy <allain.legacy@windriver.com> Signed-off-by: Matt Peters <matt.peters@windriver.com> Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
2017-04-04net/liquidio: add logShijith Thotton
Add debug options to config file. Define macros used for log and make use of config file options to enable them. Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com> Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Signed-off-by: Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by: Venkat Koppula <venkat.koppula@caviumnetworks.com> Signed-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com> Signed-off-by: Mallesham Jatharakonda <mjatharakonda@oneconvergence.com>
2017-04-04net/liquidio: add skeletonShijith Thotton
Add makefile and config file options to compile PMD. Add feature and version map file. Update maintainers file to claim responsibility. Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com> Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Signed-off-by: Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by: Venkat Koppula <venkat.koppula@caviumnetworks.com> Signed-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com> Signed-off-by: Mallesham Jatharakonda <mjatharakonda@oneconvergence.com>
2017-04-04config: enable thunderx nicvfJerin Jacob
Enable Thunderx nicvf PMD driver in the common config as it does not have build dependency with any external library and/or architecture. Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
2017-04-04net/i40e: implement vector PMD for altivecGowrishankar Muthukrishnan
This patch enables i40e driver in PowerPC along with its altivec intrinsic support. Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com> Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
2017-04-04net/kni: add KNI PMDFerruh Yigit
Add KNI PMD which wraps librte_kni for ease of use. KNI PMD can be used as any regular PMD to send / receive packets to the Linux networking stack. Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Reviewed-by: Yong Wang <yongwang@vmware.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Yong Wang <yongwang@vmware.com>
2017-04-03mempool: move stack handler as a driverShreyansh Jain
Moved from lib/librte_mempool, stack mempool handler is an independent driver. Shared builds would now require to link in librte_mempool_stack for "stack" mempool handler. Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
2017-04-03mempool: move ring handler as a driverShreyansh Jain
Moved from lib/librte_mempool, ring mempool is now an independent driver. Shared builds would now need to add librte_mempool_ring for: * ring_mp_mc * ring_sp_sc * ring_sp_mc * ring_mp_sc Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
2017-03-29ring: remove the yield when waiting for tail updateBruce Richardson
There was a compile time setting to enable a ring to yield when it entered a loop in mp or mc rings waiting for the tail pointer update. Build time settings are not recommended for enabling/disabling features, and since this was off by default, remove it completely. If needed, a runtime enabled equivalent can be used. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
2017-03-29ring: remove debug settingBruce Richardson
The debug option only provided statistics to the user, most of which could be tracked by the application itself. Remove this as a compile time option, and feature, simplifying the code. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
2017-03-29ring: remove split cacheline build settingBruce Richardson
Users compiling DPDK should not need to know or care about the arrangement of cachelines in the rte_ring structure. Therefore just remove the build option and set the structures to be always split. On platforms with 64B cachelines, for improved performance use 128B rather than 64B alignment since it stops the producer and consumer data being on adjacent cachelines. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
2017-03-16mk: provide option to set major ABI versionChristian Ehrhardt
Downstreams might want to provide different DPDK releases at the same time to support multiple consumers of DPDK linked against older and newer sonames. Also due to the interdependencies that DPDK libraries can have applications might end up with an executable space in which multiple versions of a library are mapped by ld.so. Think of LibA that got an ABI bump and LibB that did not get an ABI bump but is depending on LibA. Application \-> LibA.old \-> LibB.new -> LibA.new That is a conflict which can be avoided by setting CONFIG_RTE_MAJOR_ABI. If set CONFIG_RTE_MAJOR_ABI overwrites any LIBABIVER value. An example might be ``CONFIG_RTE_MAJOR_ABI=16.11`` which will make all libraries librte<?>.so.16.11 instead of librte<?>.so.<LIBABIVER>. We need to cut arbitrary long stings after the .so now and this would work for any ABI version in LIBABIVER: $(Q)ln -s -f $< $(patsubst %.$(LIBABIVER),%,$@) But using the following instead additionally allows to simplify the Make File for the CONFIG_RTE_NEXT_ABI case. $(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/') Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> Reviewed-by: Jan Blunck <jblunck@infradead.org> Tested-by: Jan Blunck <jblunck@infradead.org>
2017-03-15remove unmaintained TILE-Gx architectureThomas Monjalon
The TILE-Gx architecture and its driver mpipe are not maintained. The code is removed to avoid confusion. A last update has been done in 17.05 before removal. It can be built with the updated toolchain: http://www.mellanox.com/repository/solutions/tile-scm/ and libgxio: http://www.mellanox.com/repository/solutions/tile-scm/libgxio-1.0.tar.xz Quote from http://dpdk.org/ml/archives/dev/2017-February/057940.html " Mellanox agrees to remove TILE-Gx support from DPDK.org, but will continue to support customers using DPDK. Customer that needs support should contact Mellanox directly. " Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2017-02-27tile: fix buildChris Metcalf
Re-enable CONFIG_RTE_LIBRTE_SCHED, since it is needed to build correctly. Fix a few warnings when compiling mpipe_tilegx.c. Remove an empty rte_cpu_feature_table[] array using a bogus type. Properly set RTE_OBJCOPY_{TARGET,ARCH} in mk/arch/tile/rte.vars.mk. Signed-off-by: Chris Metcalf <cmetcalf@mellanox.com>
2017-02-21kni: remove KNI vhost supportFerruh Yigit
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2017-01-30net/sfc: enable TSO by defaultAndrew Rybchenko
Remove RTE_LIBRTE_SFC_EFX_TSO config option since it is not required any more: - unreasonable limit on number of Tx queues when TSO is not actually required should be solved using per-device parameter - performance difference with and without TSO compiled in is small Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
2017-01-30app/crypto-perf: introduce performance test applicationSlawomir Mrozowicz
This patchset introduce new application which allows measuring performance parameters of PMDs available in crypto tree. The goal of this application is to replace existing performance tests in app/test. Parameters available are: throughput (--ptest throughput) and latency (--ptest latency). User can use multiply cores to run tests on but only one type of crypto PMD can be measured during single application execution. Cipher parameters, type of device, type of operation and chain mode have to be specified in the command line as application parameters. These parameters are checked using device capabilities structure. Couple of new library functions in librte_cryptodev are introduced for application use. To build the application a CONFIG_RTE_APP_CRYPTO_PERF flag has to be set (it is set by default). Example of usage: -c 0xc0 --vdev crypto_aesni_mb_pmd -w 0000:00:00.0 -- --ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth --cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo sha1-hmac --auth-op generate --auth-key-sz 64 --auth-digest-sz 12 --total-ops 10000000 --burst-sz 32 --buffer-sz 64 Signed-off-by: Declan Doherty <declan.doherty@intel.com> Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com> Signed-off-by: Marcin Kerlin <marcinx.kerlin@intel.com> Signed-off-by: Michal Kobylinski <michalx.kobylinski@intel.com>
2017-01-30crypto/scheduler: enable compilationFan Zhang
Adds Makefile for scheduler cryptodev PMD, and updates existing Makefiles. Different than other cryptodev PMDs, scheduler PMD is required to be built as shared libraries. Adds scheduler PMD enable and debug flags to config/common_base. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-01-29config: disable KNI ethtool by defaultFerruh Yigit
KNI ethtool support (KNI control path) is not commonly used, and it tends to break the build with new version of the Linux kernel. KNI ethtool feature is disabled by default. KNI datapath is not effected from this update. It is possible to enable feature explicitly with config option: "CONFIG_RTE_KNI_KMOD_ETHTOOL=y" Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2017-01-29kni: add build option for ethtool supportFerruh Yigit
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
2017-01-19crypto/armv8: add PMD optimized for ARMv8 processorsZbigniew Bodek
This patch introduces crypto poll mode driver using ARMv8 cryptographic extensions. CPU compatibility with this driver is detected in run-time and virtual crypto device will not be created if CPU doesn't provide: AES, SHA1, SHA2 and NEON. This PMD is optimized to provide performance boost for chained crypto operations processing, such as encryption + HMAC generation, decryption + HMAC validation. In particular, cipher only or hash only operations are not provided. The driver currently supports AES-128-CBC in combination with: SHA256 HMAC and SHA1 HMAC and relies on the external armv8_crypto library: https://github.com/caviumnetworks/armv8_crypto Build ARMv8 crypto PMD if compiling for ARM64 and CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO option is enable in the configuration file. ARMV8_CRYPTO_LIB_PATH environment variable will point to the appropriate library directory. Signed-off-by: Zbigniew Bodek <zbigniew.bodek@caviumnetworks.com> Reviewed-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
2017-01-18efd: new Elastic Flow Distributor libraryPablo de Lara
Elastic Flow Distributor (EFD) is a distributor library that uses perfect hashing to determine a target/value for a given incoming flow key. It has the following advantages: - First, because it uses perfect hashing, it does not store the key itself and hence lookup performance is not dependent on the key size. - Second, the target/value can be any arbitrary value hence the system designer and/or operator can better optimize service rates and inter-cluster network traffic locating. - Third, since the storage requirement is much smaller than a hash-based flow table (i.e. better fit for CPU cache), EFD can scale to millions of flow keys. Finally, with current optimized library implementation performance is fully scalable with number of CPU cores. Signed-off-by: Byron Marohn <byron.marohn@intel.com> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Signed-off-by: Saikrishna Edupuganti <saikrishna.edupuganti@intel.com> Acked-by: Christian Maciocco <christian.maciocco@intel.com>
2017-01-18config: enable nfp driver on LinuxAlejandro Lucero
Because using a NFP PMD requires specific BSP installed, the PMD support was not the default option before. This was just for making people aware of such dependency, since there is no need for such a BSP for just compiling DPDK with NFP PMD support. Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
2017-01-17net/mlx5: support ConnectX-5 devicesYongseok Koh
Add PCI device ID for ConnectX-5 and enable multi-packet send for PF and VF along with changing documentation and release note. Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-01-17net/qede: add 50G device PCI idRasesh Mody
Add 50G device support for 57980 series Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-01-17net/sfc: support firmware-assisted TSOIvan Malov
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Andrew Lee <alee@solarflare.com> Reviewed-by: Mark Spender <mspender@solarflare.com> Reviewed-by: Robert Stonehouse <rstonehouse@solarflare.com>