]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
net: aquantia: Fix IFF_ALLMULTI flag functionality
authorDmitry Bogdanov <dmitry.bogdanov@aquantia.com>
Wed, 8 Aug 2018 11:06:32 +0000 (14:06 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 9 Aug 2018 02:12:58 +0000 (19:12 -0700)
It was noticed that NIC always pass all multicast traffic to the host
regardless of IFF_ALLMULTI flag on the interface.
The rule in MC Filter Table in NIC, that is configured to accept any
multicast packets, is turning on if IFF_MULTICAST flag is set on the
interface. It leads to passing all multicast traffic to the host.
This fix changes the condition to turn on that rule by checking
IFF_ALLMULTI flag as it should.

Fixes: b21f502f84be ("net:ethernet:aquantia: Fix for multicast filter handling.")
Signed-off-by: Dmitry Bogdanov <dmitry.bogdanov@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c

index 956860a697970ab427be0357d8541e929a85c489..3bdab972420bce0e846b707136268fe155dc3290 100644 (file)
@@ -762,7 +762,7 @@ static int hw_atl_b0_hw_packet_filter_set(struct aq_hw_s *self,
 
        hw_atl_rpfl2promiscuous_mode_en_set(self, IS_FILTER_ENABLED(IFF_PROMISC));
        hw_atl_rpfl2multicast_flr_en_set(self,
-                                        IS_FILTER_ENABLED(IFF_MULTICAST), 0);
+                                        IS_FILTER_ENABLED(IFF_ALLMULTI), 0);
 
        hw_atl_rpfl2_accept_all_mc_packets_set(self,
                                               IS_FILTER_ENABLED(IFF_ALLMULTI));