| Submitter | Eric Dumazet |
|---|---|
| Date | Dec. 30, 2012, 2:26 a.m. |
| Message ID | <1356834370.21409.6234.camel@edumazet-glaptop> |
| Download | mbox | patch |
| Permalink | /patch/208707/ |
| State | Accepted |
| Delegated to: | David Miller |
| Headers | show |
Comments
From: Eric Dumazet <erdnetdev@gmail.com> Date: Sat, 29 Dec 2012 18:26:10 -0800 > From: Eric Dumazet <edumazet@google.com> > > veth is lacking most modern facilities, like SG, checksums, TSO. > > It makes sense to extend dev->features to get them, or GRO aggregation > is defeated by a forced segmentation. > > Reported-by: Andrew Vagin <avagin@parallels.com> > Signed-off-by: Eric Dumazet <edumazet@google.com> > Cc: Michał Mirosław <mirq-linux@rere.qmqm.pl> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Patch
diff --git a/drivers/net/veth.c b/drivers/net/veth.c index 95814d9..ccf211f 100644 --- a/drivers/net/veth.c +++ b/drivers/net/veth.c @@ -259,6 +259,10 @@ static const struct net_device_ops veth_netdev_ops = { .ndo_set_mac_address = eth_mac_addr, }; +#define VETH_FEATURES (NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_ALL_TSO | \ + NETIF_F_HW_CSUM | NETIF_F_RXCSUM | NETIF_F_HIGHDMA | \ + NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX) + static void veth_setup(struct net_device *dev) { ether_setup(dev); @@ -269,9 +273,10 @@ static void veth_setup(struct net_device *dev) dev->netdev_ops = &veth_netdev_ops; dev->ethtool_ops = &veth_ethtool_ops; dev->features |= NETIF_F_LLTX; + dev->features |= VETH_FEATURES; dev->destructor = veth_dev_free; - dev->hw_features = NETIF_F_HW_CSUM | NETIF_F_SG | NETIF_F_RXCSUM; + dev->hw_features = VETH_FEATURES; } /*