Patchwork vlan: Match underlying dev carrier on vlan add

login
register
mail settings
Submitter Phil Oester
Date Aug. 18, 2010, 4:45 a.m.
Message ID <20100818044508.GA23361@linuxace.com>
Download mbox | patch
Permalink /patch/61988/
State Accepted
Delegated to: David Miller
Headers show

Comments

Phil Oester - Aug. 18, 2010, 4:45 a.m.
When adding a new vlan, if the underlying interface has no carrier,
then the newly added vlan interface should also have no carrier.
At present, this is not true - the newly added vlan is added with
carrier up.  Fix by checking state of real device.

Signed-off-by: Phil Oester <kernel@linuxace.com>
David Miller - Aug. 19, 2010, 7:27 a.m.
From: Phil Oester <kernel@linuxace.com>
Date: Tue, 17 Aug 2010 21:45:08 -0700

> When adding a new vlan, if the underlying interface has no carrier,
> then the newly added vlan interface should also have no carrier.
> At present, this is not true - the newly added vlan is added with
> carrier up.  Fix by checking state of real device.
> 
> Signed-off-by: Phil Oester <kernel@linuxace.com>

Applied, thanks Phil.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
index 3d59c9b..3bccdd1 100644
--- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c
@@ -510,7 +510,8 @@  static int vlan_dev_open(struct net_device *dev)
 	if (vlan->flags & VLAN_FLAG_GVRP)
 		vlan_gvrp_request_join(dev);
 
-	netif_carrier_on(dev);
+	if (netif_carrier_ok(real_dev))
+		netif_carrier_on(dev);
 	return 0;
 
 clear_allmulti: