Konstantin Ananyev [Thu, 10 May 2018 10:23:07 +0000 (11:23 +0100)]
bpf: introduce basic Rx/Tx filters
Introduce API to install BPF based filters on ethdev RX/TX path.
Current implementation is pure SW one, based on ethdev RX/TX
callback mechanism.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Konstantin Ananyev [Thu, 10 May 2018 10:23:06 +0000 (11:23 +0100)]
bpf: add JIT compilation for x86_64 ISA
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Konstantin Ananyev [Thu, 10 May 2018 10:23:05 +0000 (11:23 +0100)]
bpf: add more checks
Add checks for:
- all instructions are valid ones
(known opcodes, correct syntax, valid reg/off/imm values, etc.)
- no unreachable instructions
- no loops
- basic stack boundaries checks
- division by zero
Still need to add checks for:
- use/return only initialized registers and stack data.
- memory boundaries violation
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Konstantin Ananyev [Thu, 10 May 2018 10:23:04 +0000 (11:23 +0100)]
bpf: add ability to load eBPF program from ELF object file
Introduce rte_bpf_elf_load() function to provide ability to
load eBPF program from ELF object file.
It also adds dependency on libelf.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Konstantin Ananyev [Thu, 10 May 2018 10:23:03 +0000 (11:23 +0100)]
bpf: add BPF loading and execution framework
librte_bpf provides a framework to load and execute eBPF bytecode
inside user-space dpdk based applications.
It supports basic set of features from eBPF spec
(https://www.kernel.org/doc/Documentation/networking/filter.txt).
Not currently supported features:
- JIT
- cBPF
- tail-pointer call
- eBPF MAP
- skb
- function calls for 32-bit apps
- mbuf pointer as input parameter for 32-bit apps
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Rosen Xu [Fri, 11 May 2018 08:31:31 +0000 (16:31 +0800)]
raw/ifpga: add Intel FPGA bus rawdev driver
Add Intel FPGA BUS Rawdev Driver which is based on
librte_rawdev library.
Signed-off-by: Rosen Xu <rosen.xu@intel.com>
Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
Tianfei Zhang [Fri, 11 May 2018 08:31:30 +0000 (16:31 +0800)]
raw/ifpga/base: add Intel FPGA OPAE share code
This patch adds Intel FPGA Open Programmable Acceleration
Engine (OPAE)[1] base driver code, in order to support Intel
FPGA devices under DPDK. The base code currently supports
Intel FPGA solutions including integrated solution (Intel(R)
Xeon(R) CPU with FPGAs) and discrete solution (Intel(R)
Programmable Acceleration Card with Intel(R) Arria(R) 10 FPGA)
and it could be extended to support more FPGA devices in the
future. Please refer to [1][2] for more introduction on OPAE
and Intel FPGAs.
[1] https://01.org/OPAE
[2] https://www.altera.com/solutions/acceleration-hub/overview.html
Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
Signed-off-by: Hao Wu <hao.wu@intel.com>
Signed-off-by: Yilun Xu <yilun.xu@intel.com>
Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
Rosen Xu [Fri, 11 May 2018 08:31:29 +0000 (16:31 +0800)]
bus/ifpga: add Intel FPGA bus library
Defined FPGA-BUS for Acceleration Drivers of AFUs
1. FPGA PCI Scan (1st Scan) follows DPDK UIO/VFIO PCI Scan Process,
probe Intel FPGA Rawdev Driver, it will be covered in following patches.
2. AFU Scan(2nd Scan) bind DPDK driver to FPGA Partial-Bitstream.
This scan is trigged by hotplug of IFPGA Rawdev probe, in this scan
the AFUs will be created and their drivers are also probed.
This patch will introduce rte_afu_device which describe the AFU device
listed in the FPGA-BUS.
Signed-off-by: Rosen Xu <rosen.xu@intel.com>
Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
Ravi Kumar [Thu, 10 May 2018 09:20:10 +0000 (05:20 -0400)]
crypto/ccp: support run-time CPU based auth
CCP PMD supports authentication offload to either of CCP or CPU.
The earlier version of patch provides this option as compile time.
This patch changes this option from compile time to run time.
User can pass "ccp_auth_opt=1" as an additional arguments to vdev
parameter to enable authentication operations on CPU.
Signed-off-by: Ravi Kumar <ravi1.kumar@amd.com>
Kamil Chalupnik [Thu, 26 Apr 2018 14:31:14 +0000 (16:31 +0200)]
bbdev: change names of baseband devices
Change baseband device name:
- from turbo_sw to baseband_turbo_sw
- from bbdev_null to baseband_null
To keep backwards compatibility the old names are still valid
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Lee Daly [Wed, 9 May 2018 16:14:35 +0000 (17:14 +0100)]
doc: add compression driver and ISA-L PMD guides
This adds general compression drivers feature guide
as well as the ISA-L PMD documentation and guide.
Signed-off-by: Lee Daly <lee.daly@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Lee Daly [Wed, 9 May 2018 16:14:34 +0000 (17:14 +0100)]
compress/isal: add ISA-L decomp functionality
Adds decompression functionality, similar to compression,
this sets internal ISA-L structures, provides input & output mbuf
addresses, executes decompression, which ISA-L calls inflate and
finally error checks.
Signed-off-by: Lee Daly <lee.daly@intel.com>
Acked-by: Greg Tucker <greg.b.tucker@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Lee Daly [Wed, 9 May 2018 16:14:33 +0000 (17:14 +0100)]
compress/isal: add ISA-L compression functionality
Adds compression functionality, this sets internal ISA-L
structures, provides input & output mbuf addresses,
executes compression, which ISA-L calls deflate,
and finally error checks.
Signed-off-by: Lee Daly <lee.daly@intel.com>
Acked-by: Greg Tucker <greg.b.tucker@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Lee Daly [Wed, 9 May 2018 16:14:32 +0000 (17:14 +0100)]
compress/isal: add stats related ops
Add functions for statistic retrieval and resetting.
Signed-off-by: Lee Daly <lee.daly@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Lee Daly [Wed, 9 May 2018 16:14:31 +0000 (17:14 +0100)]
compress/isal: support burst enqueue/dequeue
This patchs adds support for the compressdev enqueue_burst
and dequeue_burst API operations.
Signed-off-by: Lee Daly <lee.daly@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Lee Daly [Wed, 9 May 2018 16:14:30 +0000 (17:14 +0100)]
compress/isal: add queue pair related ops
This adds queue pair operations such as setup and release.
Signed-off-by: Lee Daly <lee.daly@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Lee Daly [Wed, 9 May 2018 16:14:29 +0000 (17:14 +0100)]
compress/isal: add private xform related ops
This patch creates, configures and frees the private xform, taking the
applications xform and using it to populate the PMDs own private xform
with the information which will be required for the compress/decompress
functions. This information includes the level, algorithm,
type of huffman code, type of checksum etc.
Signed-off-by: Lee Daly <lee.daly@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Lee Daly [Wed, 9 May 2018 16:14:28 +0000 (17:14 +0100)]
compress/isal: add basic PMD ops
Add basic device poll mode driver operations to
give ability to start, stop, close device etc.
Signed-off-by: Lee Daly <lee.daly@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Lee Daly [Wed, 9 May 2018 16:14:27 +0000 (17:14 +0100)]
compress/isal: add device init and de-init
This patch adds device initialization functionality such as
probe and create, also adding deinitialize functionality.
Dynamic logging component also added.
Signed-off-by: Lee Daly <lee.daly@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Lee Daly [Wed, 9 May 2018 16:14:26 +0000 (17:14 +0100)]
compress/isal: add skeleton ISA-L compression PMD
Adding basic skeleton of the ISA-L compression driver.
No compression functionality, but lays the foundation for
operations in the rest of the patchset.
The ISA-L compression driver utilizes Intel's ISA-L compression
library and compressdev API.
Signed-off-by: Lee Daly <lee.daly@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Kamil Chalupnik [Wed, 9 May 2018 14:55:02 +0000 (16:55 +0200)]
doc: update bbdev test app guide
Update the test app documentation:
- description of tests added
- usage of test app updated
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Kamil Chalupnik [Wed, 9 May 2018 14:51:04 +0000 (16:51 +0200)]
doc: add shared lib building instructions for bbdev
Added a note to enable building as a shared lib.
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Kamil Chalupnik [Wed, 9 May 2018 14:46:39 +0000 (16:46 +0200)]
doc: update bbdev guide
Update the documentation describing Wireless Baseband Device:
- device capabilities updated
- input/output data buffers description added
- details about implementation of turbo encode/decode
operation added
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Kamil Chalupnik [Wed, 9 May 2018 14:42:10 +0000 (16:42 +0200)]
app/bbdev: improve readability
Improve readability of test application by replacing
int values with rte_bbdev_event_type enum.
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Kamil Chalupnik [Wed, 9 May 2018 14:39:13 +0000 (16:39 +0200)]
app/bbdev: add new test vectors
Creation of new vectors to test and validate BBDevice capabilities
Test app documentation updated accordingly
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Kamil Chalupnik [Wed, 9 May 2018 14:37:01 +0000 (16:37 +0200)]
app/bbdev: update default test vectors
Update test vectors directory for Wireless Baseband Device:
- update test vectors names
- python script used for tests execution updated
Update the test app documentation:
- vector test names updated
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Kamil Chalupnik [Wed, 9 May 2018 14:35:03 +0000 (16:35 +0200)]
bbdev: split queue groups
Splitting Queue Groups into UL/DL Groups in Turbo Software
Driver. They are independent for Decode/Encode.
Release note updated accordingly.
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Kamil Chalupnik [Wed, 9 May 2018 14:30:02 +0000 (16:30 +0200)]
bbdev: measure offload cost
New test created to measure offload cost.
Changes were introduced in API, turbo software driver
and test application
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Kamil Chalupnik [Wed, 9 May 2018 14:28:03 +0000 (16:28 +0200)]
baseband/turbo_sw: support optional CRC overlap
Support for optional CRC overlap in decode processing implemented
in Turbo Software driver
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Kamil Chalupnik [Wed, 9 May 2018 14:25:55 +0000 (16:25 +0200)]
baseband/turbo_sw: increase internal buffers
Sizes of the internal buffers used by decoding were increased due to
problem with memory for large vectors
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Kamil Chalupnik [Wed, 9 May 2018 14:23:16 +0000 (16:23 +0200)]
baseband/turbo_sw: scale likelihood ratio input
Update Turbo Software driver for Wireless Baseband Device:
- function scaling input LLR values to specific range [-16, 16] added
- new test vectors to check device capabilities added
- release note updated accordingly
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Kamil Chalupnik [Wed, 9 May 2018 14:20:22 +0000 (16:20 +0200)]
baseband/turbo_sw: move macros to bbdev library
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Kamil Chalupnik [Wed, 9 May 2018 14:17:56 +0000 (16:17 +0200)]
baseband/turbo_sw: optimize memory copy
Optimization of Turbo Software driver by limiting or changing
usage of memory copying function.
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Kamil Chalupnik [Wed, 9 May 2018 14:14:29 +0000 (16:14 +0200)]
baseband/turbo_sw: support FlexRAN 1.4.0
Adjusting BaseBand drivers code to changes in FlexRAN 1.4.0:
- update usage of crc functions after API changes
Update the documentation describing Wireless Baseband Device:
- FlexRAN releases mapping table added
- download and build instructions for BBDEV turbo_sw driver in
compliance with FlexRAN 1.4.0 release added
Signed-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>
Acked-by: Amr Mokhtar <amr.mokhtar@intel.com>
Radu Nicolau [Wed, 9 May 2018 08:58:41 +0000 (09:58 +0100)]
examples/ipsec-secgw: limit inflight packets count
Revert previous patch that introduce a performance
degradation in certain scenarios and add a configurable
limit for number inflight packets.
Revert
commit
84d4b5e4ec48 ("examples/ipsec-secgw: improve IPsec dequeue logic")
Cc: stable@dpdk.org
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Pablo de Lara [Wed, 9 May 2018 09:44:21 +0000 (10:44 +0100)]
app/crypto-perf: check minimum lcore number
The crypto performance application requires at least
two cores: one master core that launches the other slaves
and one core acting as slave running the crypto device.
Fixes:
f8be1786b1b8 ("app/crypto-perf: introduce performance test application")
Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Reshma Pattan [Fri, 13 Apr 2018 09:00:26 +0000 (10:00 +0100)]
test/crypto: enhance scheduler unit tests
Unit test cases for Multi-core mode, Fail-over mode,
anf Packet distribution mode are added to improve code coverage.
Signed-off-by: Jananee Parthasarathy <jananeex.m.parthasarathy@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Hemant Agrawal [Wed, 9 May 2018 12:43:24 +0000 (18:13 +0530)]
crypto/dpaa2_sec: remove IOVA conversion for fle address
fle is already in virtual addressing mode - no need to perform
address conversion for it.
Fixes:
8d1f3a5d751b ("crypto/dpaa2_sec: support crypto operation")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Tomasz Jozwiak [Thu, 26 Apr 2018 09:05:49 +0000 (11:05 +0200)]
app/crypto-perf: fix burst size calculation
This patch fixes segmentation fault in pmd_cyclecount_bench_ops
function in case when state->opts->nb_descriptors is not
natural multiple of burst size.
To reproduce run: dpdk-test-crypto-perf with params:
--ptest pmd-cyclecount --pmd-cyclecount-delay-ms 5 \
--devtype crypto_qat --optype cipher-then-auth \
--cipher-algo aes-cbc --cipher-op encrypt \
--cipher-key-sz 16 --cipher-iv-sz 16 \
--auth-algo sha2-256-hmac \
--auth-op generate --auth-key-sz 64 --digest-sz 32 \
--total-ops 10000 --burst-sz 255 --buffer-sz 1024 --silent
Fixes:
96dfeb609be1 ("app/crypto-perf: add new PMD benchmarking mode")
Cc: stable@dpdk.org
Signed-off-by: Tomasz Jozwiak <tomaszx.jozwiak@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Nipun Gupta [Tue, 8 May 2018 11:24:55 +0000 (16:54 +0530)]
crypto/dpaa_sec: update maximum queue pairs to 8
The underlying hardware can support multiple queue pairs.
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Pablo de Lara [Fri, 4 May 2018 10:22:18 +0000 (11:22 +0100)]
test/compress: add invalid configuration tests
Add tests that check if device configuration
is not successful when providing invalid parameters.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Lee Daly <lee.daly@intel.com>
Pablo de Lara [Fri, 4 May 2018 10:22:17 +0000 (11:22 +0100)]
test/compress: add multi xform test
Add test that checks if multiple xforms can be
handled on a single enqueue call.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Lee Daly <lee.daly@intel.com>
Pablo de Lara [Fri, 4 May 2018 10:22:16 +0000 (11:22 +0100)]
test/compress: add multi level test
Add test that checks if all compression levels
are supported and compress a buffer correctly.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Lee Daly <lee.daly@intel.com>
Pablo de Lara [Fri, 4 May 2018 10:22:15 +0000 (11:22 +0100)]
test/compress: add multi op test
Add test that checks if multiple operations with
different buffers can be handled on a single enqueue call.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Lee Daly <lee.daly@intel.com>
Pablo de Lara [Fri, 4 May 2018 10:22:14 +0000 (11:22 +0100)]
test/compress: add initial unit tests
This commit introduces the initial tests for compressdev,
performing basic compression and decompression operations
of sample test buffers, using the Zlib library in one direction
and compressdev in another direction, to make sure that
the library is compatible with Zlib.
Due to the use of Zlib API, the test is disabled by default,
to avoid adding a new dependency on DPDK.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Lee Daly <lee.daly@intel.com>
Ashish Gupta [Fri, 27 Apr 2018 13:24:07 +0000 (14:24 +0100)]
doc: add compressdev library guide
Add section in programmer’s guide for Compressdev library.
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Signed-off-by: Sunila Sahu <sunila.sahu@caviumnetworks.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Fiona Trahe [Fri, 27 Apr 2018 13:24:06 +0000 (14:24 +0100)]
compressdev: get device id from name
Added API to retrieve the device id provided the device name.
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Fiona Trahe [Fri, 27 Apr 2018 13:24:05 +0000 (14:24 +0100)]
compressdev: add device capabilities
Added structure which each PMD will fill out,
providing the capabilities of each driver
(containing mainly which compression services
it supports).
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Fiona Trahe [Fri, 27 Apr 2018 13:24:04 +0000 (14:24 +0100)]
compressdev: add device stats
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Fiona Trahe [Fri, 27 Apr 2018 13:24:03 +0000 (14:24 +0100)]
compressdev: add compression service feature flags
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Fiona Trahe [Fri, 27 Apr 2018 13:24:02 +0000 (14:24 +0100)]
compressdev: add device feature flags
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Shally Verma [Fri, 27 Apr 2018 13:24:01 +0000 (14:24 +0100)]
compressdev: support hash operations
- Added hash algo enumeration and params in xform and rte_comp_op
- Updated compress/decompress xform to input hash algorithm
- Updated struct rte_comp_op to input hash buffer
User in capability query will know about support hashes via
device info comp_feature_flag. If supported, application can initialize
desired algorithm enumeration in xform structure and pass valid hash
buffer during enqueue_burst().
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Signed-off-by: Sunila Sahu <sunila.sahu@caviumnetworks.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Fiona Trahe [Fri, 27 Apr 2018 13:24:00 +0000 (14:24 +0100)]
compressdev: support stateful operations
Added stream data (stream) in compression operation,
which will contain the private data from each PMD
to support stateful operations.
Also, added functions to create/free this data.
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Fiona Trahe [Fri, 27 Apr 2018 13:23:59 +0000 (14:23 +0100)]
compressdev: support stateless operations
Added private transform data (priv_xform) in compression
operation, which will contain the private data from each
PMD to support stateless operations.
Also, added functions to create/free this data.
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Fiona Trahe [Fri, 27 Apr 2018 13:23:58 +0000 (14:23 +0100)]
compressdev: add operation management
Added functions to allocate and free compression operations.
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Fiona Trahe [Fri, 27 Apr 2018 13:23:57 +0000 (14:23 +0100)]
compressdev: add enqueue/dequeue functions
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Fiona Trahe [Fri, 27 Apr 2018 13:23:56 +0000 (14:23 +0100)]
compressdev: add compression specific data
Added structures and enums specific to compression,
including the compression operation structure and the
different supported algorithms, checksums and compression
levels.
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Fiona Trahe [Fri, 27 Apr 2018 13:23:55 +0000 (14:23 +0100)]
compressdev: add queue pair management
Add functions to manage device queue pairs.
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Fiona Trahe [Fri, 27 Apr 2018 13:23:54 +0000 (14:23 +0100)]
compressdev: add basic device management
Add basic functions to manage compress devices,
including driver and device allocation, and the basic
interface with compressdev PMDs.
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Shally Verma <shally.verma@caviumnetworks.com>
Signed-off-by: Ashish Gupta <ashish.gupta@caviumnetworks.com>
Pablo de Lara [Thu, 26 Apr 2018 15:09:50 +0000 (16:09 +0100)]
crypto/scheduler: fix memory leak
If private context creation fails, the memory
allocated for it and for some of the rings created
was being leaked.
In case of failure, it must be freed.
Fixes:
4c07e0552f0a ("crypto/scheduler: add multicore scheduling mode")
Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
Pablo de Lara [Thu, 26 Apr 2018 15:09:49 +0000 (16:09 +0100)]
crypto/scheduler: set null pointer after freeing
When freeing memory, pointers should be set to NULL,
to avoid memory corruption/segmentation faults.
Fixes:
31439ee72b2c ("crypto/scheduler: add API implementations")
Fixes:
50e14527b9d1 ("crypto/scheduler: improve parameters parsing")
Fixes:
57523e682bb7 ("crypto/scheduler: register operation functions")
Fixes:
a783aa634410 ("crypto/scheduler: add packet size based mode")
Fixes:
4c07e0552f0a ("crypto/scheduler: add multicore scheduling mode")
Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
Tomasz Duszynski [Tue, 8 May 2018 08:14:04 +0000 (10:14 +0200)]
crypto/mrvl: rename PMD to mvsam
Picking a company stock ticker for a PMD name might not be a best approach
in a long run since name is too generic.
This patch addresses that and renames mrvl to mvsam.
Signed-off-by: Natalie Samsonov <nsamsono@marvell.com>
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Nikhil Rao [Wed, 9 May 2018 20:52:40 +0000 (02:22 +0530)]
eventdev: make ethdev port identifiers 16-bit
Ethernet port ID data size has been extended to 16 bits size 17.11
Update the Rx event adapter interface and implementation accordingly.
This commit bumps the library version to refect the ABI change
caused by extending the ethernet port parameter in Rx adapter
functions from 8 to 16 bits.
Fixes:
9c38b704d280 ("eventdev: add eth Rx adapter implementation")
Cc: stable@dpdk.org
Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Abhinandan Gujjar [Wed, 9 May 2018 08:18:01 +0000 (13:48 +0530)]
doc: add event crypto adapter guide
Add entries in the programmer's guide, API index, maintainer's file
and release notes for the event crypto adapter.
Signed-off-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Abhinandan Gujjar [Wed, 9 May 2018 09:20:34 +0000 (14:50 +0530)]
test: add event crypto adapter auto-test
Added testsuite to test the crypto adapter functionality.
The testsuite detects the HW/SW event & crypto devices and
their capabilities. Depending upon the capability, adapter
is confgured and modes are tested.
Signed-off-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Abhinandan Gujjar [Wed, 9 May 2018 08:17:59 +0000 (13:47 +0530)]
eventdev: add crypto adapter implementation
This patch adds common code for the crypto adapter to support
SW and HW based transfer mechanisms. The adapter uses an EAL
service core function for SW based packet transfer and uses
the eventdev PMD functions to configure HW based packet
transfer between the crypto device and the event device.
This patch also adds adapter to the meson build system &
updates the necessary makefile & map file.
Signed-off-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Signed-off-by: Gage Eads <gage.eads@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Abhinandan Gujjar [Wed, 9 May 2018 08:17:58 +0000 (13:47 +0530)]
eventdev: add driver interface of crypto adapter
This patch defines capabilities & functions to be called
for eventdev PMDs.
Signed-off-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Abhinandan Gujjar [Wed, 9 May 2018 08:17:57 +0000 (13:47 +0530)]
eventdev: introduce event crypto adapter
This patch introduces event crypto adapter APIs. It
also provides information on working model/adapter
modes & their usage. Application is expected to use
this interface to transfer packets between the crypto
device & the event device.
Signed-off-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Signed-off-by: Gage Eads <gage.eads@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Ashish Jain [Wed, 9 May 2018 09:20:53 +0000 (14:50 +0530)]
event/dpaa2: remove link from info structure
Removing use of link data under evq_info_t structure which was
used to check whether the the associated evq has been linked
or not. Since, an evq can be linked to multiple event ports,
thus setting the link variable only allowed the first event
port to be associated with the evq. This led to huge performance
drop in case of multiple event ports as I/O only worked on
first event port associated with the evq.
Fixes:
0ce3ce7c275c ("event/dpaa2: add configuration functions")
Cc: stable@dpdk.org
Signed-off-by: Ashish Jain <ashish.jain@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Nipun Gupta [Wed, 9 May 2018 09:20:52 +0000 (14:50 +0530)]
event/dpaa2: remove check on epoll return
Driver shouldn't take decision on signals received. The return
from epoll was blocking on EINTR which is not the right use-case.
Fixes:
36d87bb92230 ("event/dpaa2: handle timeout using interrupts in dequeue")
Cc: stable@dpdk.org
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Erik Gabriel Carrillo [Mon, 7 May 2018 19:12:52 +0000 (14:12 -0500)]
test: fix build with gcc 4.8.5
Build errors occur on CentOS 7 with GCC 4.8.5
20150623 in the
event_timer_adapter_test autotest; the
-Werror=missing-field-initializers option causes the compiler to emit
messages like "error: missing initializer for field ‘priority’ of
‘struct <anonymous>’" in several places.
Add -Wno-missing-field-initializers to the test's CFLAGS to allow the
current syntax if we are using GCC 5.0 or lower.
Fixes:
d1f3385d0076 ("test: add event timer adapter auto-test")
Signed-off-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Mon, 7 May 2018 12:30:42 +0000 (18:00 +0530)]
mk: disable OcteonTx for buggy compilers
Disable octeontx for gcc 4.8.5 as compiler is emitting "internal
compiler error" for aarch64.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Tested-by: Ali Alnubani <alialnu@mellanox.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Mon, 23 Apr 2018 12:38:33 +0000 (18:08 +0530)]
event/octeontx: fix SPDX tag placement
Fixes:
fd5baf09cdf9 ("event/octeontx: probe timvf PCIe devices")
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Nikhil Rao [Tue, 24 Apr 2018 22:32:21 +0000 (04:02 +0530)]
eventdev: convert eth Rx adapter files to SPDX license tag
Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Pavan Nikhilesh [Fri, 20 Apr 2018 08:08:33 +0000 (13:38 +0530)]
doc: update release notes for OcteonTx TIM driver
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
Pavan Nikhilesh [Tue, 8 May 2018 21:26:00 +0000 (02:56 +0530)]
event/octeontx: fix build with clang 6
Clang 6 & 7 fail to naturally align packed structs due to this clang
can't use 8byte atomic primitives and splits them into lesser atomic
primitives. To use lesser atomic primitives we need to link libatomic
(-latomic), instead supply alignment attribute to the compiler.
timvf_worker.c:(.text+0x498): undefined reference to `__atomic_fetch_add_8'
timvf_worker.c:(.text+0x525): undefined reference to `__atomic_store_2'
timvf_worker.c:(.text+0x557): undefined reference to `__atomic_fetch_add_4'
timvf_worker.c:(.text+0x5de): undefined reference to `__atomic_store_2'
Fixes:
f874c1eb1519 ("event/octeontx: create and free timer adapter")
Reported-by: Andrew Rybchenko <arybchenko@solarflare.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Jasvinder Singh [Tue, 8 May 2018 14:17:18 +0000 (15:17 +0100)]
table: add dedicated params struct for cuckoo hash
Add dedicated parameter structure for cuckoo hash. The cuckoo hash from
librte_hash uses slightly different prototype for the hash function (no
key_mask parameter, 32-bit seed and return value) that require either
of the following approaches:
1/ Function pointer conversion: gcc 8.1 warning [1], misleading [2]
2/ Union within the parameter structure: pollutes a very generic API
parameter structure with some implementation dependent detail
(i.e. key mask not available for one of the available
implementations)
3/ Using opaque pointer for hash function: same issue from 2/
4/ Different parameter structure: avoid issue from 2/; hopefully,
it won't be long before librte_hash implements the key mask feature,
so the generic API structure could be used.
[1] http://www.dpdk.org/ml/archives/dev/2018-April/094950.html
[2] http://www.dpdk.org/ml/archives/dev/2018-April/096250.html
Fixes:
5a80bf0ae613 ("table: add cuckoo hash")
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Jasvinder Singh [Tue, 17 Apr 2018 13:17:19 +0000 (14:17 +0100)]
examples/ip_pipeline: replace strncpy with strlcpy
The destination string may not have a null termination if
the source string's length is equal to the sizeof.
Fix by replacing strncpy with strlcpy that guarantees NULL-termination.
[merged several commits]
Coverty issue: 272606
Fixes:
d75c371e9b46 ("examples/ip_pipeline: add pipeline object")
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Coverty issue: 272594
Fixes:
133c2c6565d6 ("examples/ip_pipeline: add link object")
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Coverty issue: 272603
Fixes:
2f74ae28e23f ("examples/ip_pipeline: add tap object")
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Coverity issue: 272588
Fixes:
6bfe74f8c93e ("examples/ip_pipeline: add mempool object")
Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>
Coverity issue: 272592
Fixes:
25961ff3bcb9 ("examples/ip_pipeline: add traffic manager object")
Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>
Coverity issue: 272562
Fixes:
9a408cc8ac ("examples/ip_pipeline: add KNI object")
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>
Coverity issue: 272580
Fixes:
719374345c ("examples/ip_pipeline: add action profile objects")
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>
Coverity issue: 272572
Fixes:
719374345cee ("examples/ip_pipeline: add action profile objects")
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Coverity issue: 272563
Fixes:
8245472c58c8 ("examples/ip_pipeline: add sw queue object")
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Fan Zhang [Mon, 16 Apr 2018 10:58:20 +0000 (11:58 +0100)]
examples/ip_pipeline: remove dead code in table command
Coverity issue: 272567
Fixes:
d75c371e9b46 ("examples/ip_pipeline: add pipeline object")
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>
Reshma Pattan [Wed, 18 Apr 2018 16:58:07 +0000 (17:58 +0100)]
examples/ip_pipeline: fix uninitialized KNI parameter
Using uninitialized value p.thread_id when calling kni_create.
Initialize the kni_params object to 0.
Coverity issue: 272569
Fixes:
9a408cc8ac ("examples/ip_pipeline: add KNI object")
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>
Fan Zhang [Fri, 20 Apr 2018 14:39:21 +0000 (15:39 +0100)]
examples/ip_pipeline: fix uninitialized link parameter
Coverity issue: 272575
Fixes:
133c2c6565d6 ("examples/ip_pipeline: add link object")
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>
Jasvinder Singh [Mon, 16 Apr 2018 16:03:11 +0000 (17:03 +0100)]
examples/ip_pipeline: fix leak on DSCP parsing
Close the file stream before returning from the function to avoid
memory leak.
Coverity issue: 272605
Fixes:
2b82ef4861c0 ("examples/ip_pipeline: add DSCP table update command")
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Reshma Pattan [Wed, 18 Apr 2018 16:58:09 +0000 (17:58 +0100)]
examples/ip_pipeline: fix leak on tap creation failure
Close tap device fd before returning upon failures.
Coverity issue: 272576
Fixes:
2f74ae28e2 ("examples/ip_pipeline: add tap object")
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>
Kevin Laatz [Thu, 19 Apr 2018 11:04:18 +0000 (12:04 +0100)]
examples/ip_pipeline: fix leak on connection error
Closing the fd_server file descriptor on error to fix the resource leak.
Coverity issue: 272587
Fixes:
4bbf8e30aa5e ("examples/ip_pipeline: add CLI interface")
Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>
Tomasz Duszynski [Mon, 19 Feb 2018 07:46:19 +0000 (08:46 +0100)]
app/testpmd: add command to resume a TM node
Traffic manager provides an API for resuming
an arbitrary node in a hierarchy.
This commit adds support for calling this API
from testpmd.
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>
Tomasz Duszynski [Mon, 19 Feb 2018 07:46:18 +0000 (08:46 +0100)]
app/testpmd: add command to suspend a TM node
Traffic manager provides an API for suspending
an arbitrary node in a hierarchy.
This commit adds support for calling this API from testpmd.
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>
Jasvinder Singh [Fri, 4 May 2018 14:10:12 +0000 (15:10 +0100)]
sched: add post-init pipe profile API
Add new API function to add more pipe configuration profiles
post initialization to the set of exisitng profiles specified during
the creation of scheduler port.
This API removes the current limitation that forces the user
to define the full set of pipe profiles as the part of port parameters
while port is being created.
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Nikhil Rao [Tue, 20 Feb 2018 13:30:53 +0000 (08:30 -0500)]
ethdev: support WRED thresholds in bytes
WRED thresholds can be specified in bytes if the TM leaf
node supports it. Also extend WRED thresholds to 32 bits from 16.
TM capability (port/level/queue) fields cman_wred_packet_mode_supported and
cman_wred_byte_mode_supported, when non-zero, indicate support for WRED
thresholds in packets and bytes respectively.
The packet_mode member of struct rte_tm_wred_params, when non-zero,
indicates that the min and max thresholds are specified in
packets and when zero, indicates that the min and max thresholds
are specified in bytes.
Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Ben Shelton [Wed, 21 Mar 2018 15:45:33 +0000 (10:45 -0500)]
ethdev: fix TM API comment
The rte_tm_node_wfq_weight_mode_update() API function operates on
non-leaf nodes, not leaf nodes.
Signed-off-by: Ben Shelton <benjamin.h.shelton@intel.com>
Qi Zhang [Mon, 7 May 2018 09:50:44 +0000 (17:50 +0800)]
app/testpmd: fix copy of raw flow item
When calculate memory size of an RTE_FLOW_ITEM_TYPE_RAW 's mask
mask->length is not the real size of binary pattern, it should take
spec->length, or memory size will be over counted (0xffff) and invalid
memory be access during following memcpy.
Fixes:
d0ad8648b1c5 ("app/testpmd: fix RSS flow action configuration")
Cc: stable@dpdk.org
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Anatoly Burakov [Thu, 3 May 2018 08:28:00 +0000 (09:28 +0100)]
mem: add argument to memory event callback
It may be useful to pass arbitrary data to the callback (such
as device pointers), so add this to the mem event callback API.
Suggested-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Tested-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Olivier Matz [Mon, 7 May 2018 08:18:01 +0000 (10:18 +0200)]
mempool: fix alignment of memzone length when populating
When populating a mempool with the default function, if there is not
enough virtually contiguous memory for the whole mempool, it will be
populated with several chunks. A chunk of the maximum available length
is requested with:
mz = rte_memzone_reserve_aligned(..., len=0, ..., align=x)
If align is smaller than the page size, the address and the length of
the memzone may not be a multiple of the page size. This makes
rte_mempool_populate_virt() to fail because it requires them to be
page-aligned. This patch fixes that.
The problem can be reproduced easily by allocating more than available
memory:
./build/app/testpmd -l 0,1 -- --total-num-mbufs=65536
...
Cause: Creation of mbuf pool for socket 0 failed: Invalid argument
After the patch, the error code is correct:
./build/app/testpmd -l 0,1 -- --total-num-mbufs=65536
...
Cause: Creation of mbuf pool for socket 0 failed: Cannot allocate memory
Fixes:
ba0009560c30 ("mempool: support new allocation methods")
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Nipun Gupta [Fri, 4 May 2018 10:11:29 +0000 (15:41 +0530)]
doc: add DPAA2 CMDIF rawdev guide
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Nipun Gupta [Fri, 4 May 2018 10:11:28 +0000 (15:41 +0530)]
raw/dpaa2_cmdif: support enqueue/dequeue operations
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Nipun Gupta [Fri, 4 May 2018 10:11:27 +0000 (15:41 +0530)]
raw/dpaa2_cmdif: add attribute get functionality
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Nipun Gupta [Fri, 4 May 2018 10:11:26 +0000 (15:41 +0530)]
raw/dpaa2_cmdif: introduce DPAA2 command interface driver
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Nipun Gupta [Fri, 4 May 2018 10:11:25 +0000 (15:41 +0530)]
bus/fslmc: keep Tx queues information for DPCI devices
The DPCI devices have both Tx and Rx queues. Event devices use
DPCI Rx queues only, but CMDIF (AIOP) uses both Tx and Rx queues.
This patch enables Tx queues configuration too.
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Nipun Gupta [Fri, 4 May 2018 10:11:24 +0000 (15:41 +0530)]
bus/fslmc: expose API to free DPCI device
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Nipun Gupta [Fri, 4 May 2018 10:11:23 +0000 (15:41 +0530)]
mempool/dpaa2: add functions for CMDIF
There are two API's which are required by NXP specific Command Interface
Application (AIOP CMDIF). This patch exposes these two API's.
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Nipun Gupta [Thu, 3 May 2018 16:06:10 +0000 (21:36 +0530)]
doc: add DPAA2 QDMA rawdev guide
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>