vlan: vlan device not reading gso max size of parent.
authorAlexander Duyck <alexander.h.duyck@intel.com>
Fri, 12 Sep 2008 03:17:05 +0000 (20:17 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 12 Sep 2008 03:17:05 +0000 (20:17 -0700)
The vlan devices are not reading the gso max size of the parent device.  As
a result devices that do not support 64K max gso size are currently
failing.

This issue is seen on 2.6.26 kernels as well and the same patch should be
able to be applied without any issues.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/8021q/vlan.c
net/8021q/vlan_dev.c

index b661f47bf10a0320889f22e7e1fcf7f3496b6baa..f0e335aa20df43370d947ebbee52a23013491ae3 100644 (file)
@@ -394,6 +394,7 @@ static void vlan_transfer_features(struct net_device *dev,
 
        vlandev->features &= ~dev->vlan_features;
        vlandev->features |= dev->features & dev->vlan_features;
+       vlandev->gso_max_size = dev->gso_max_size;
 
        if (old_features != vlandev->features)
                netdev_features_change(vlandev);
index 4bf014e51f8c5ef0bf91ded6e6d074bb6291d60d..97688cdb550157287dd8a7cfb54317e1e2dc5168 100644 (file)
@@ -607,6 +607,7 @@ static int vlan_dev_init(struct net_device *dev)
                      (1<<__LINK_STATE_PRESENT);
 
        dev->features |= real_dev->features & real_dev->vlan_features;
+       dev->gso_max_size = real_dev->gso_max_size;
 
        /* ipv6 shared card related stuff */
        dev->dev_id = real_dev->dev_id;