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

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Mon, 12 Feb 2024 09:54:32 UTC
On Mon, Feb 12, 2024 at 08:30:37AM +0000, Benoit Chesneau wrote:
> Hi Konstantin,
> 
> indeed the port is plugged to a switch. The port is enabled. So yes that probably is. Is this a firmware issue or can it be solved in the driver?
> 
It is driver issue, and requires some (significant) driver updates.

> 
> BenoƮt
> 
> On Sunday, February 11th, 2024 at 04:50, Konstantin Belousov <kostikbel@gmail.com> wrote:
> 
> > 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.