|
@@ -307,9 +307,11 @@ static void vlan_sync_address(struct net_device *dev,
|
|
static void vlan_transfer_features(struct net_device *dev,
|
|
static void vlan_transfer_features(struct net_device *dev,
|
|
struct net_device *vlandev)
|
|
struct net_device *vlandev)
|
|
{
|
|
{
|
|
|
|
+ struct vlan_dev_priv *vlan = vlan_dev_priv(vlandev);
|
|
|
|
+
|
|
vlandev->gso_max_size = dev->gso_max_size;
|
|
vlandev->gso_max_size = dev->gso_max_size;
|
|
|
|
|
|
- if (dev->features & NETIF_F_HW_VLAN_CTAG_TX)
|
|
|
|
|
|
+ if (vlan_hw_offload_capable(dev->features, vlan->vlan_proto))
|
|
vlandev->hard_header_len = dev->hard_header_len;
|
|
vlandev->hard_header_len = dev->hard_header_len;
|
|
else
|
|
else
|
|
vlandev->hard_header_len = dev->hard_header_len + VLAN_HLEN;
|
|
vlandev->hard_header_len = dev->hard_header_len + VLAN_HLEN;
|