summaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorBrandon Philips <bphilips@suse.de>2010-09-15 09:24:24 +0000
committerDavid S. Miller <davem@davemloft.net>2010-09-15 22:32:29 -0700
commit16c3ea785fe4a383c6675dfe7316f3c815755bdd (patch)
tree4eeae9f3d64d53ffa30acf0223df70acb1e2a253 /net/core
parentb1cbd5f980863eb97f687baba95850c334c83a47 (diff)
net: enable GRO by default for vlan devices
Currently vlan devices don't have GRO by default as none of the Ethernet drivers add NETIF_F_GRO to their vlan_features. As GRO is a software feature add GRO to dev->vlan_features in register_netdevice() and let vlan_dev_init() take care that it gets enabled only when dev->features has NETIF_F_GRO too. Signed-off-by: Brandon Philips <bphilips@suse.de> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 5bdce97b817..09b3742c4c8 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -5057,6 +5057,11 @@ int register_netdevice(struct net_device *dev)
if (dev->features & NETIF_F_SG)
dev->features |= NETIF_F_GSO;
+ /* Enable GRO for vlans by default if dev->features has GRO also.
+ * vlan_dev_init() will do the dev->features check.
+ */
+ dev->vlan_features |= NETIF_F_GRO;
+
ret = call_netdevice_notifiers(NETDEV_POST_INIT, dev);
ret = notifier_to_errno(ret);
if (ret)