Go to file
Viacheslav Ovsiienko 95a464cecc net/mlx5: add E-switch VXLAN tunnel devices management
VXLAN interfaces are dynamically created for each local UDP port
of outer networks and then used as targets for TC "flower" filters
in order to perform encapsulation. These VXLAN interfaces are
system-wide, the only one device with given UDP port can exist
in the system (the attempt of creating another device with the
same UDP local port returns EEXIST), so PMD should support the
shared device instances database for PMD instances. These VXLAN
implicitly created devices are called VTEPs (Virtual Tunnel
End Points).

Creation of the VTEP occurs at the moment of rule applying. The
link is set up, root ingress qdisc is also initialized.

Encapsulation VTEPs are created on per port basis, the single
VTEP is attached to the outer interface and is shared for all
encapsulation rules on this interface. The source UDP port is
automatically selected in range 30000-60000.

For decapsulaton one VTEP is created per every unique UDP
local port to accept tunnel traffic. The name of created
VTEP consists of prefix "vmlx_" and the number of UDP port in
decimal digits without leading zeros (vmlx_4789). The VTEP
can be preliminary created in the system before the launching
application, it allows to share	UDP ports between primary
and secondary processes.

Suggested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
2018-11-05 15:01:25 +01:00
app app/testpmd: fix port status for new bonded devices 2018-11-05 15:01:25 +01:00
buildtools buildtools: fix build for some mktemp 2018-10-27 15:30:25 +02:00
config vfio: disable in FreeBSD build with meson 2018-10-27 17:57:55 +02:00
devtools devtools: add explicit warnings for forbidden tokens 2018-11-04 21:54:04 +01:00
doc doc: clarify TSO Tx offload prerequisite 2018-11-05 15:01:25 +01:00
drivers net/mlx5: add E-switch VXLAN tunnel devices management 2018-11-05 15:01:25 +01:00
examples examples/fips_validation: fix build 2018-11-05 21:04:18 +01:00
kernel kni: fix build on Linux < 3.14 2018-10-27 00:18:06 +02:00
lib vhost/crypto: fix inferred misuse of enum 2018-11-05 15:01:25 +01:00
license license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
mk mk: disable gcc AVX512F support 2018-11-04 21:55:17 +01:00
pkg version: 18.08.0 2018-08-09 23:11:26 +02:00
test test/compress: improve debug logs 2018-11-02 12:26:06 +01:00
usertools usertools: add client script for telemetry 2018-10-27 15:21:38 +02:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore doc: add compression driver and ISA-L PMD guides 2018-05-10 17:46:20 +01:00
GNUmakefile move kernel modules directories 2018-03-21 23:04:21 +01:00
MAINTAINERS examples/fips_validation: add crypto FIPS application 2018-11-02 12:26:06 +01:00
Makefile license: use SPDX tag in root makefile 2018-01-04 22:41:38 +01:00
meson_options.txt build: add option to override drivers install directory 2018-10-27 23:22:21 +02:00
meson.build version: 18.11-rc1 2018-10-29 04:08:26 +01:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01: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