You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
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>
This commit is contained in:
committed by
David S. Miller
parent
7bece8155b
commit
289c79a4bd
+2
-8
@@ -387,14 +387,8 @@ static void vlan_transfer_features(struct net_device *dev,
|
||||
{
|
||||
unsigned long old_features = vlandev->features;
|
||||
|
||||
if (dev->features & NETIF_F_VLAN_TSO) {
|
||||
vlandev->features &= ~VLAN_TSO_FEATURES;
|
||||
vlandev->features |= dev->features & VLAN_TSO_FEATURES;
|
||||
}
|
||||
if (dev->features & NETIF_F_VLAN_CSUM) {
|
||||
vlandev->features &= ~NETIF_F_ALL_CSUM;
|
||||
vlandev->features |= dev->features & NETIF_F_ALL_CSUM;
|
||||
}
|
||||
vlandev->features &= ~dev->vlan_features;
|
||||
vlandev->features |= dev->features & dev->vlan_features;
|
||||
|
||||
if (old_features != vlandev->features)
|
||||
netdev_features_change(vlandev);
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
#define VLAN_GRP_HASH_SIZE (1 << VLAN_GRP_HASH_SHIFT)
|
||||
#define VLAN_GRP_HASH_MASK (VLAN_GRP_HASH_SIZE - 1)
|
||||
|
||||
#define VLAN_TSO_FEATURES (NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_SG)
|
||||
|
||||
/* Find a VLAN device by the MAC address of its Ethernet device, and
|
||||
* it's VLAN ID. The default configuration is to have VLAN's scope
|
||||
* to be box-wide, so the MAC will be ignored. The mac will only be
|
||||
|
||||
@@ -663,10 +663,7 @@ static int vlan_dev_init(struct net_device *dev)
|
||||
(1<<__LINK_STATE_DORMANT))) |
|
||||
(1<<__LINK_STATE_PRESENT);
|
||||
|
||||
if (real_dev->features & NETIF_F_VLAN_TSO)
|
||||
dev->features |= real_dev->features & VLAN_TSO_FEATURES;
|
||||
if (real_dev->features & NETIF_F_VLAN_CSUM)
|
||||
dev->features |= real_dev->features & NETIF_F_ALL_CSUM;
|
||||
dev->features |= real_dev->features & real_dev->vlan_features;
|
||||
|
||||
/* ipv6 shared card related stuff */
|
||||
dev->dev_id = real_dev->dev_id;
|
||||
|
||||
Reference in New Issue
Block a user