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 b661f47..f0e335a 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 4bf014e..97688cd 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;