aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBreno Leitao <leitao@linux.vnet.ibm.com>2011-05-22 23:36:35 -0400
committerDavid S. Miller <davem@davemloft.net>2011-05-23 16:33:31 -0400
commita4910b744486254cfa61995954c118fb2283c4fd (patch)
tree7bfbb023769fdd777d7ec61a4b59c11560f31b00
parent418f275ed5b03c48e0e6c3401466660dfe894f76 (diff)
ehea: Fix multicast registration on semi-promiscuous mode
Ehea will not register multicast groups in phyp if the physical interface is in promiscuous mode. But it should register if the logical port is in promiscuous mode, but the physical port is not. Ehea physical promiscuous mode is defined by ehea_port->promisc, while logical port is defined by IFF_PROMISC. So currently, if the user set the interface in promiscuous mode, IGMP will not be registred in PHYP, and PHYP will never pass the multicast packet to the logical port, which is bad So, this patch just fixes it, assuring that we register in phyp if the physical port is not on promiscuous mode. Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ehea/ehea_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index 6a0a8fca62b..3fd5a240034 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -2083,7 +2083,7 @@ static void ehea_set_multicast_list(struct net_device *dev)
2083 struct netdev_hw_addr *ha; 2083 struct netdev_hw_addr *ha;
2084 int ret; 2084 int ret;
2085 2085
2086 if (dev->flags & IFF_PROMISC) { 2086 if (port->promisc) {
2087 ehea_promiscuous(dev, 1); 2087 ehea_promiscuous(dev, 1);
2088 return; 2088 return;
2089 } 2089 }