Patchwork [net] veth: add vlan features

login
register
mail settings
Submitter Flavio Leitner
Date July 18, 2013, 7:15 p.m.
Message ID <1374174911-6435-1-git-send-email-fbl@redhat.com>
Download mbox | patch
Permalink /patch/260125/
State Accepted
Delegated to: David Miller
Headers show

Comments

Flavio Leitner - July 18, 2013, 7:15 p.m.
The veth device doesn't provide the vlan features,
so TSO for example is disabled and that causes
performance issues when using tagged traffic.

The test topology looks like this:

    br0                     br1
  /   \                  /     \
vnet  veth0.10 ----- veth1.10   vnet
VM                               VM

The netperf results with current veth driver:
MIGRATED TCP STREAM TEST from 192.168.1.1 ()
port 0 AF_INET to 192.168.1.2 () port 0 AF_INET
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

 87380  16384  16384    10.01    2210.22

Now after applying the proposed patch:
MIGRATED TCP STREAM TEST from 192.168.1.1 ()
port 0 AF_INET to 192.168.1.2 () port 0 AF_INET
Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

 87380  16384  16384    10.00    13067.47

Signed-off-by: Flavio Leitner <fbl@redhat.com>
---
 drivers/net/veth.c | 1 +
 1 file changed, 1 insertion(+)
David Miller - July 20, 2013, 12:37 a.m.
From: Flavio Leitner <fbl@redhat.com>
Date: Thu, 18 Jul 2013 16:15:11 -0300

> The veth device doesn't provide the vlan features,
> so TSO for example is disabled and that causes
> performance issues when using tagged traffic.
> 
> The test topology looks like this:
> 
>     br0                     br1
>   /   \                  /     \
> vnet  veth0.10 ----- veth1.10   vnet
> VM                               VM
> 
> The netperf results with current veth driver:
> MIGRATED TCP STREAM TEST from 192.168.1.1 ()
> port 0 AF_INET to 192.168.1.2 () port 0 AF_INET
> Recv   Send    Send
> Socket Socket  Message  Elapsed
> Size   Size    Size     Time     Throughput
> bytes  bytes   bytes    secs.    10^6bits/sec
> 
>  87380  16384  16384    10.01    2210.22
> 
> Now after applying the proposed patch:
> MIGRATED TCP STREAM TEST from 192.168.1.1 ()
> port 0 AF_INET to 192.168.1.2 () port 0 AF_INET
> Recv   Send    Send
> Socket Socket  Message  Elapsed
> Size   Size    Size     Time     Throughput
> bytes  bytes   bytes    secs.    10^6bits/sec
> 
>  87380  16384  16384    10.00    13067.47
> 
> Signed-off-by: Flavio Leitner <fbl@redhat.com>

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 da86652..eee1f19 100644
--- a/drivers/net/veth.c
+++ b/drivers/net/veth.c
@@ -269,6 +269,7 @@  static void veth_setup(struct net_device *dev)
 	dev->ethtool_ops = &veth_ethtool_ops;
 	dev->features |= NETIF_F_LLTX;
 	dev->features |= VETH_FEATURES;
+	dev->vlan_features = dev->features;
 	dev->destructor = veth_dev_free;
 
 	dev->hw_features = VETH_FEATURES;