Go to file
Shiri Kuzin 247ad1305a crypto/mlx5: add memory region management
Mellanox user space drivers don't deal with physical addresses as part
of a memory protection mechanism.
The device translates the given virtual address to a physical address
using the given memory key as an address space identifier.
That's why any mbuf virtual address is moved directly to the HW
descriptor(WQE).

The mapping between the virtual address to the physical address is saved
in MR configured by the kernel to the HW.

Each MR has a key that should also be moved to the WQE by the SW.

When the SW sees an unmapped address, it extends the address range and
creates a MR using a system call.

Add memory region cache management:
	- 2 level cache per queue-pair - no locks.
	- 1 shared cache between all the queues using a lock.

Using this way, the MR key search per data-path address is optimized.

Signed-off-by: Shiri Kuzin <shirik@nvidia.com>
Signed-off-by: Michael Baum <michaelba@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
2021-07-20 22:27:00 +02:00
.ci build: update minimum required Meson version 2021-04-16 18:51:51 +02:00
.github/workflows eal: handle compressed firmware 2021-07-07 16:41:53 +02:00
app test/crypto: fix mempool size for session-less 2021-07-20 10:32:05 +02:00
buildtools build: support drivers symlink on Windows 2021-07-09 17:22:42 +02:00
config config/arm: fix SVE build with GCC 8.3 2021-07-09 22:25:24 +02:00
devtools build: use platform for generic and native builds 2021-07-09 14:50:54 +02:00
doc crypto/mlx5: add memory region management 2021-07-20 22:27:00 +02:00
drivers crypto/mlx5: add memory region management 2021-07-20 22:27:00 +02:00
examples examples/ipsec-secgw: support inline UDP encapsulation 2021-07-20 10:32:05 +02:00
kernel kni: fix crash on userspace VA for segmented packets 2021-06-24 10:04:25 +02:00
lib pipeline: fix selector freeing 2021-07-21 13:51:17 +02:00
license lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
usertools raw/cnxk_bphy: add baseband PHY skeleton driver 2021-07-05 23:08:11 +02:00
.editorconfig doc: add Meson coding style to contributors guide 2021-04-21 14:04:09 +02:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore doc: add flow API features tables 2021-05-18 19:06:56 +02:00
.travis.yml eal: handle compressed firmware 2021-07-07 16:41:53 +02:00
ABI_VERSION version: 21.08-rc0 2021-05-21 20:07:04 +02:00
MAINTAINERS crypto/mlx5: introduce Mellanox crypto driver 2021-07-20 21:45:58 +02:00
Makefile build: create dummy Makefile 2020-09-07 23:51:57 +02:00
meson_options.txt build: use platform for generic and native builds 2021-07-09 14:50:54 +02:00
meson.build lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 21.08-rc1 2021-07-10 12:01:52 +02:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org