diff options
author | Ido Schimmel <idosch@mellanox.com> | 2016-10-30 10:09:22 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-10-31 15:34:43 -0400 |
commit | 46d0847cdd4a3fc1920e56827b9189b9a105d362 (patch) | |
tree | 122aab319e53744db8b5b9f2c1f60678b7dadf72 /drivers/net/ethernet/mellanox/mlxsw/spectrum.h | |
parent | cbbf049a7c346180cc61ae0a9245c5d749d20a12 (diff) | |
download | lwn-46d0847cdd4a3fc1920e56827b9189b9a105d362.tar.gz lwn-46d0847cdd4a3fc1920e56827b9189b9a105d362.zip |
mlxsw: spectrum: Fix incorrect reuse of MID entries
In the device, a MID entry represents a group of local ports, which can
later be bound to a MDB entry.
The lookup of an existing MID entry is currently done using the provided
MC MAC address and VID, from the Linux bridge. However, this can result
in an incorrect reuse of the same MID index in different VLAN-unaware
bridges (same IP MC group and VID 0).
Fix this by performing the lookup based on FID instead of VID, which is
unique across different bridges.
Fixes: 3a49b4fde2a1 ("mlxsw: Adding layer 2 multicast support")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Acked-by: Elad Raz <eladr@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw/spectrum.h')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h index 9b22863a924b..97bbc1d21df8 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h @@ -115,7 +115,7 @@ struct mlxsw_sp_rif { struct mlxsw_sp_mid { struct list_head list; unsigned char addr[ETH_ALEN]; - u16 vid; + u16 fid; u16 mid; unsigned int ref_count; }; |