Subject: Re: [patch net-next] mlxsw: spectrum_switchdev: Allow port enslavement to a VLAN-unaware bridge

From: Ido Schimmel <[email-masked]>
Date: Thu, 22 Feb 2018 22:55:43 +0200

On Thu, Feb 22, 2018 at 12:27:35PM -0700, David Ahern wrote:
> Ido:
> 
> IPv4 works at boot; IPv6 requires the mcast snooping disable. For this
> vlan-unaware bridges can that be set automatically?

Can you please try the following patch?

diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
index bbd238e50f05..54262af4e98f 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c
@@ -112,11 +112,11 @@ static const int mlxsw_sp_sfgc_bc_packet_types[MLXSW_REG_SFGC_TYPE_MAX] = {
 	[MLXSW_REG_SFGC_TYPE_UNREGISTERED_MULTICAST_NON_IP]	= 1,
 	[MLXSW_REG_SFGC_TYPE_IPV4_LINK_LOCAL]			= 1,
 	[MLXSW_REG_SFGC_TYPE_IPV6_ALL_HOST]			= 1,
+	[MLXSW_REG_SFGC_TYPE_UNREGISTERED_MULTICAST_IPV6]	= 1,
 };
 
 static const int mlxsw_sp_sfgc_mc_packet_types[MLXSW_REG_SFGC_TYPE_MAX] = {
 	[MLXSW_REG_SFGC_TYPE_UNREGISTERED_MULTICAST_IPV4]	= 1,
-	[MLXSW_REG_SFGC_TYPE_UNREGISTERED_MULTICAST_IPV6]	= 1,
 };
 
 static const int *mlxsw_sp_packet_type_sfgc_types[] = {

It should fix your problem.

The real problem that I can then address in net-next is the fact that
the Linux bridge tries to be smart and only resorts to flooding
unregistered multicast packets in case its querier is disabled and in
case it didn't detect any other querier in the network. This isn't
currently reflected to underlying drivers. Only mcast snooping on/off.

Anyway, it's not related to the patch in question. You'd get the same
behavior with VLAN-aware bridges.

> And then, what are the options for lldp?

Didn't understand the question. Can you clarify?