]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
virtio-net: enable TSO/checksum offloads for Q-in-Q vlans
authorVlad Yasevich <vyasevich@gmail.com>
Tue, 23 May 2017 17:38:43 +0000 (13:38 -0400)
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Tue, 27 Jun 2017 13:16:16 +0000 (10:16 -0300)
BugLink: http://bugs.launchpad.net/bugs/1697001
[ Upstream commit 2836b4f224d4fd7d1a2b23c3eecaf0f0ae199a74 ]

Since virtio does not provide it's own ndo_features_check handler,
TSO, and now checksum offload, are disabled for stacked vlans.
Re-enable the support and let the host take care of it.  This
restores/improves Guest-to-Guest performance over Q-in-Q vlans.

Acked-by: Jason Wang <jasowang@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Vladislav Yasevich <vyasevic@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
drivers/net/virtio_net.c

index bcc492103863c92d460b8bbcd64aab9ac85e9190..1ec121d7a93f285b6eebbb6238fa5516e1fd3547 100644 (file)
@@ -1475,6 +1475,7 @@ static const struct net_device_ops virtnet_netdev = {
 #ifdef CONFIG_NET_RX_BUSY_POLL
        .ndo_busy_poll          = virtnet_busy_poll,
 #endif
+       .ndo_features_check     = passthru_features_check,
 };
 
 static void virtnet_config_changed_work(struct work_struct *work)