Allow multicast packets to be received in promiscious mode, in mlx4en(4).

Make sure we disable the multicast filter in promiscious mode aswell as when
the all multicast flag is set.

MFC after:	1 week
Found by:	Tycho Nightingale <tychon@freebsd.org>
Sponsored by:	Mellanox Technologies
This commit is contained in:
Hans Petter Selasky 2020-06-17 11:12:10 +00:00
parent aba2397e74
commit a26df270c9
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=362271

View File

@ -850,9 +850,11 @@ static void mlx4_en_do_multicast(struct mlx4_en_priv *priv,
int err = 0;
u64 mcast_addr = 0;
/* Enable/disable the multicast filter according to IFF_ALLMULTI */
if (dev->if_flags & IFF_ALLMULTI) {
/*
* Enable/disable the multicast filter according to
* IFF_ALLMULTI and IFF_PROMISC:
*/
if (dev->if_flags & (IFF_ALLMULTI | IFF_PROMISC)) {
err = mlx4_SET_MCAST_FLTR(mdev->dev, priv->port, 0,
0, MLX4_MCAST_DISABLE);
if (err)