be2net: Fix to receive Multicast Packets when Promiscuous mode is enabled on certain devices
When a user requests Promiscuous mode on SkyHawk-R devices, the FW enables Desparate Promiscuous mode. Due to this, we need to explicitly enable Multicast Promiscuous mode so that Multicast packets are received as well. This patch fixes that. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b5adffc472
commit
c5dae588fd
|
@ -1764,10 +1764,12 @@ int be_cmd_rx_filter(struct be_adapter *adapter, u32 flags, u32 value)
|
|||
req->if_id = cpu_to_le32(adapter->if_handle);
|
||||
if (flags & IFF_PROMISC) {
|
||||
req->if_flags_mask = cpu_to_le32(BE_IF_FLAGS_PROMISCUOUS |
|
||||
BE_IF_FLAGS_VLAN_PROMISCUOUS);
|
||||
BE_IF_FLAGS_VLAN_PROMISCUOUS |
|
||||
BE_IF_FLAGS_MCAST_PROMISCUOUS);
|
||||
if (value == ON)
|
||||
req->if_flags = cpu_to_le32(BE_IF_FLAGS_PROMISCUOUS |
|
||||
BE_IF_FLAGS_VLAN_PROMISCUOUS);
|
||||
BE_IF_FLAGS_VLAN_PROMISCUOUS |
|
||||
BE_IF_FLAGS_MCAST_PROMISCUOUS);
|
||||
} else if (flags & IFF_ALLMULTI) {
|
||||
req->if_flags_mask = req->if_flags =
|
||||
cpu_to_le32(BE_IF_FLAGS_MCAST_PROMISCUOUS);
|
||||
|
|
Loading…
Reference in New Issue