From 6e22ce2c6e4315522526279365d6e86e8f67a5fa Mon Sep 17 00:00:00 2001 From: Yi Zou Date: Wed, 28 Nov 2012 13:45:24 +0000 Subject: [PATCH] 8021q: fix vlan device to inherit the unicast filtering capability flag This bug is observed on running FCoE over a VLAN device associated w/ a real device that has IFF_UNICAST_FLT set since FCoE would add unicast address such as FLOGI MAC to the VLAN interface that FCoE is on. Since currently, VLAN device is not inheriting the IFF_UNICAST_FLT flag from the parent real device even though the real device is capable of doing unicast filtering. This forces the VLAN device and its real device go to promiscuous mode unnecessarily even the added address is actually being added to the available unicast filter table in real device. Signed-off-by: Yi Zou Cc: devel@open-fcoe.org Signed-off-by: David S. Miller --- net/8021q/vlan.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c index afba51e6031..a292e8050ef 100644 --- a/net/8021q/vlan.c +++ b/net/8021q/vlan.c @@ -242,6 +242,7 @@ static int register_vlan_device(struct net_device *real_dev, u16 vlan_id) * hope the underlying device can handle it. */ new_dev->mtu = real_dev->mtu; + new_dev->priv_flags |= (real_dev->priv_flags & IFF_UNICAST_FLT); vlan_dev_priv(new_dev)->vlan_id = vlan_id; vlan_dev_priv(new_dev)->real_dev = real_dev;