freebsd-dev/sys/dev/mlx5
Hans Petter Selasky ea00d7e8ca mlx5: Add raw ethernet local loopback support.
Currently, unicast/multicast loopback raw ethernet (non-RDMA) packets
are sent back to the vport.  A unicast loopback packet is the packet
with destination MAC address the same as the source MAC address.  For
multicast, the destination MAC address is in the vport's multicast
filter list.

Moreover, the local loopback is not needed if there is one or none
user space context.

After this patch, the raw ethernet unicast and multicast local
loopback are disabled by default. When there is more than one user
space context, the local loopback is enabled.

Note that when local loopback is disabled, raw ethernet packets are
not looped back to the vport and are forwarded to the next routing
level (eswitch, or multihost switch, or out to the wire depending on
the configuration).

Linux commits:
c85023e153e3824661d07307138fdeff41f6d86a
8978cc921fc7fad3f4d6f91f1da01352aeeeff25

MFC after:	1 week
Sponsored by:	NVIDIA Networking
2022-02-01 16:21:16 +01:00
..
mlx5_accel
mlx5_core mlx5: Add raw ethernet local loopback support. 2022-02-01 16:21:16 +01:00
mlx5_en mlx5: Add raw ethernet local loopback support. 2022-02-01 16:21:16 +01:00
mlx5_fpga
mlx5_fpga_tools Infiniband clients must be attached and detached in a specific order in ibcore. 2020-07-06 08:50:11 +00:00
mlx5_ib mlx5: Add raw ethernet local loopback support. 2022-02-01 16:21:16 +01:00
mlx5_lib
cmd.h mlx5ib: Implement support for enabling and disabling RoCE ECN. 2021-07-12 14:22:33 +02:00
cq.h Update user access region, UAR, APIs in the core in mlx5core. 2021-01-08 13:33:46 +01:00
device.h mlx5: Implement flow steering helper functions for TCP sockets. 2022-02-01 16:21:16 +01:00
diagnostics.h
doorbell.h
driver.h mlx5/mlx5en: Add SQ remap support 2022-02-01 16:21:15 +01:00
fs.h mlx5: Implement offloads flowtable namespace. 2022-02-01 16:21:16 +01:00
mlx5_ifc.h mlx5: Implement mlx5_nic_vport_update_local_lb() 2022-02-01 16:21:16 +01:00
mlx5_rdma_if.h
mlx5io.h
mpfs.h mlx5: Integrate eswitch and mpfs management code. 2020-03-18 22:33:39 +00:00
port.h mlx5en: Add missing media types for 100GBit/s, 200Gbit/s and 400Gbit/s. 2021-07-12 14:22:29 +02:00
qp.h mlx5/mlx5en: Add SQ remap support 2022-02-01 16:21:15 +01:00
srq.h ibcore: Kernel space update based on Linux 5.7-rc1. 2021-07-28 13:28:29 +02:00
tls.h mlx5en: Implement helper functions to open and close TLS TIR context. 2022-02-01 16:21:15 +01:00
vport.h mlx5: Implement mlx5_nic_vport_update_local_lb() 2022-02-01 16:21:16 +01:00