Re: mlx5en issue with SR-IOV when using in the bridge

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Sun, 11 Feb 2024 03:50:36 UTC
On Sat, Feb 10, 2024 at 09:23:36AM +0000, Benoit Chesneau wrote:
> I have tested the following scenario:
> 
> Setup the mellanox driver with SRIOV:
> 
> ```
> $ sudo more /etc/iov/mce0.conf
> PF {
> device: "mlx5_core0";
> num_vfs: 8;
> }
> 
> DEFAULT {
> passthrough: true;
> }
> 
> VF-0 {
> mac-addr: "02:01:02:02:01:00";
> }
> 
> VF-1 {
> mac-addr: "02:01:02:02:01:01";
> }
> 
> VF-2 {
> passthrough: false;}
> 
> ```
> 
> With one VF in the vm answering to a specific vlan, and one jail on the host using vnet with the PF in a bridge and a epair interface added to this bridge.
> 
> When I am pinging from the jail to the VF in the vm , the vm receive the ping or arp requests. But the jail doesn't receive the response. In a same manner , when I ping from the VM to the jail, the host is not found. bridge arp doesn't return the vm mac address.
> 
> All the hosts has the PF interface set in promiscuous mode but this doesn't seem to be enough to allows the bridge to learn other mac ids. When I directly add the IP to PF, Ping works from the vm to the PF, the reverse is also true.
> 
> Do I miss a setting? Is this expected with mellanox cards? What shoudl I look for?
> 

Do you have the port plugged into a switch and the port enabled?
I suspect VFs do not have enough hairpin code to do proper loopback
communications, and I certain that multicast loopback does not work.