HomeFreeBSD

mlx5: Add raw ethernet local loopback support.

Description

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

Sponsored by: NVIDIA Networking

(cherry picked from commit ea00d7e8cab97f818c9793a112249ab79a2f8322)

Details

Provenance
hselaskyAuthored on Feb 8 2022, 3:08 PM
Parents
rG7fb8dd15fa24: mlx5: Implement mlx5_nic_vport_update_local_lb()
Branches
Unknown
Tags
Unknown