diff options
Diffstat (limited to 'net/8021q')
-rw-r--r-- | net/8021q/Kconfig | 19 | ||||
-rw-r--r-- | net/8021q/vlan.c | 8 |
2 files changed, 27 insertions, 0 deletions
diff --git a/net/8021q/Kconfig b/net/8021q/Kconfig new file mode 100644 index 00000000000..c4a382e450e --- /dev/null +++ b/net/8021q/Kconfig @@ -0,0 +1,19 @@ +# +# Configuration for 802.1Q VLAN support +# + +config VLAN_8021Q + tristate "802.1Q VLAN Support" + ---help--- + Select this and you will be able to create 802.1Q VLAN interfaces + on your ethernet interfaces. 802.1Q VLAN supports almost + everything a regular ethernet interface does, including + firewalling, bridging, and of course IP traffic. You will need + the 'vconfig' tool from the VLAN project in order to effectively + use VLANs. See the VLAN web page for more information: + <http://www.candelatech.com/~greear/vlan.html> + + To compile this code as a module, choose M here: the module + will be called 8021q. + + If unsure, say N. diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c index 1f6d31670bc..91e412b0ab0 100644 --- a/net/8021q/vlan.c +++ b/net/8021q/vlan.c @@ -578,6 +578,14 @@ static int vlan_device_event(struct notifier_block *unused, unsigned long event, if (!vlandev) continue; + if (netif_carrier_ok(dev)) { + if (!netif_carrier_ok(vlandev)) + netif_carrier_on(vlandev); + } else { + if (netif_carrier_ok(vlandev)) + netif_carrier_off(vlandev); + } + if ((vlandev->state & VLAN_LINK_STATE_MASK) != flgs) { vlandev->state = (vlandev->state &~ VLAN_LINK_STATE_MASK) | flgs; |