aboutsummaryrefslogtreecommitdiffstats
path: root/net/8021q/vlan.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2008-05-23 03:22:04 -0400
committerDavid S. Miller <davem@davemloft.net>2008-05-23 03:27:50 -0400
commit289c79a4bd350e8a25065102563ad1a183d1b402 (patch)
tree2067cb054704c62c3debfe92a3f00dc551ff7162 /net/8021q/vlan.c
parent7bece8155be133cd67c41eed2b31c60a310609de (diff)
vlan: Use bitmask of feature flags instead of seperate feature bits
Herbert Xu points out that the use of seperate feature bits for features to be propagated to VLAN devices is going to get messy real soon. Replace the VLAN feature bits by a bitmask of feature flags to be propagated and restore the old GSO_SHIFT/MASK values. Signed-off-by: Patrick McHardy <kaber@trash.net> Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/8021q/vlan.c')
-rw-r--r--net/8021q/vlan.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index 51961300b586..ab2225da0ee2 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -387,14 +387,8 @@ static void vlan_transfer_features(struct net_device *dev,
387{ 387{
388 unsigned long old_features = vlandev->features; 388 unsigned long old_features = vlandev->features;
389 389
390 if (dev->features & NETIF_F_VLAN_TSO) { 390 vlandev->features &= ~dev->vlan_features;
391 vlandev->features &= ~VLAN_TSO_FEATURES; 391 vlandev->features |= dev->features & dev->vlan_features;
392 vlandev->features |= dev->features & VLAN_TSO_FEATURES;
393 }
394 if (dev->features & NETIF_F_VLAN_CSUM) {
395 vlandev->features &= ~NETIF_F_ALL_CSUM;
396 vlandev->features |= dev->features & NETIF_F_ALL_CSUM;
397 }
398 392
399 if (old_features != vlandev->features) 393 if (old_features != vlandev->features)
400 netdev_features_change(vlandev); 394 netdev_features_change(vlandev);