numam-dpdk/drivers
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
..
baseband baseband/null: add in meson build 2018-09-18 22:53:35 +02:00
bus bus/pci: avoid call to DMA mask check 2018-11-05 01:02:08 +01:00
common common/qat: fix for invalid response from firmware 2018-10-27 02:13:29 +02:00
compress compress/isal: fix uncleared compression states 2018-11-02 12:26:06 +01:00
crypto crypto/caam_jr: fix check before job ring freeing 2018-11-02 12:26:06 +01:00
event fix global variable issues 2018-10-29 02:34:27 +01:00
mempool add missing static keyword to globals 2018-10-29 02:01:08 +01:00
net net/mlx5: add E-switch VXLAN tunnel devices management 2018-11-05 15:01:25 +01:00
raw drivers: prefix global variables with module name 2018-10-29 02:34:21 +01:00
Makefile drivers: add common as dependency for bus 2018-10-16 14:54:25 +02:00
meson.build build: change default driver installation directory 2018-10-27 23:22:12 +02:00