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>
This commit is contained in:
Родитель
418f275ed5
Коммит
a4910b7444
|
@ -2083,7 +2083,7 @@ static void ehea_set_multicast_list(struct net_device *dev)
|
||||||
struct netdev_hw_addr *ha;
|
struct netdev_hw_addr *ha;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (dev->flags & IFF_PROMISC) {
|
if (port->promisc) {
|
||||||
ehea_promiscuous(dev, 1);
|
ehea_promiscuous(dev, 1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче