numam-dpdk/drivers/net/mlx5
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
..
Makefile net/mlx5: prepare makefile for adding E-Switch VXLAN 2018-11-05 15:01:25 +01:00
meson.build net/mlx5: prepare meson build for adding E-Switch VXLAN 2018-11-05 15:01:25 +01:00
mlx5_defs.h net/mlx5: fix minimum number of Multi-Packet RQ buffers 2018-08-05 13:29:34 +02:00
mlx5_ethdev.c mk: build with _GNU_SOURCE defined by default 2018-10-22 11:28:27 +02:00
mlx5_flow_dv.c net/mlx5: add caching of encap/decap actions 2018-11-05 15:01:25 +01:00
mlx5_flow_tcf.c net/mlx5: add E-switch VXLAN tunnel devices management 2018-11-05 15:01:25 +01:00
mlx5_flow_verbs.c net/mlx5: fix flow counters deletion in Verbs 2018-11-05 15:01:25 +01:00
mlx5_flow.c net/mlx5: fix validation of MLPS-in-GRE 2018-11-05 15:01:25 +01:00
mlx5_flow.h net/mlx5: add necessary structures for E-Switch VXLAN 2018-11-05 15:01:25 +01:00
mlx5_glue.c net/mlx5: add flow action functions to glue 2018-11-05 15:01:25 +01:00
mlx5_glue.h net/mlx5: add flow action functions to glue 2018-11-05 15:01:25 +01:00
mlx5_mac.c net/mlx5: always use representor ifindex for ioctl 2018-10-11 18:56:02 +02:00
mlx5_mr.c net/mlx5: support externally allocated static memory 2018-10-11 18:53:49 +02:00
mlx5_mr.h net/mlx5: clean-up developer logs 2018-07-03 01:35:57 +02:00
mlx5_nl.c net/mlx5: fix invalid network interface index 2018-07-26 14:05:52 +02:00
mlx5_prm.h net/mlx5: support metadata as flow rule criteria 2018-10-26 22:14:06 +02:00
mlx5_rss.c net/mlx5: use a macro for the RSS key size 2018-07-12 12:10:03 +02:00
mlx5_rxmode.c net/mlx5: preserve allmulticast flag for flow isolation mode 2018-08-05 08:47:41 +02:00
mlx5_rxq.c net/mlx5: enable loopback by configured mode 2018-11-05 15:01:25 +01:00
mlx5_rxtx_vec_neon.h net/mlx5: support metadata as flow rule criteria 2018-10-26 22:14:06 +02:00
mlx5_rxtx_vec_sse.h net/mlx5: support metadata as flow rule criteria 2018-10-26 22:14:06 +02:00
mlx5_rxtx_vec.c net/mlx5: support metadata as flow rule criteria 2018-10-26 22:14:06 +02:00
mlx5_rxtx_vec.h net/mlx5: support metadata as flow rule criteria 2018-10-26 22:14:06 +02:00
mlx5_rxtx.c net/mlx5: support metadata as flow rule criteria 2018-10-26 22:14:06 +02:00
mlx5_rxtx.h net/mlx5: support externally allocated static memory 2018-10-11 18:53:49 +02:00
mlx5_socket.c mk: build with _GNU_SOURCE defined by default 2018-10-22 11:28:27 +02:00
mlx5_stats.c net/mlx5: always use representor ifindex for ioctl 2018-10-11 18:56:02 +02:00
mlx5_trigger.c net/mlx5: fix queue rollback when starting device 2018-07-26 14:05:52 +02:00
mlx5_txq.c net/mlx5: support metadata as flow rule criteria 2018-10-26 22:14:06 +02:00
mlx5_utils.h net/mlx5: add hardware flow debug dump 2018-04-27 18:00:56 +01:00
mlx5_vlan.c align SPDX Mellanox copyrights 2018-04-11 01:47:47 +02:00
mlx5.c net/mlx5: add 128B padding of Rx completion entry 2018-11-05 15:01:25 +01:00
mlx5.h net/mlx5: add caching of encap/decap actions 2018-11-05 15:01:25 +01:00
rte_pmd_mlx5_version.map mlx5: introduce new driver for Mellanox ConnectX-4 adapters 2015-10-30 22:03:42 +01:00