kernel-packages team mailing list archive
-
kernel-packages team
-
Mailing list archive
-
Message #51470
[Bug 1201869] Re: poor networking throughput through veth interfaces
** Description changed:
SRU Justification:
Impact:
Users of the 3.2/3.5/3.8 series kernel will have poor network throughput when using OpenStack Neutron depending on their setup.
Fix:
These upstream patches are necessary to fix the issue:
2681128f0ced8aa4e66f221197e183cc16d244fe
8093315a91340bca52549044975d8c7f673b28a1
d0e2c55e7c940a3ee91e9e23a2683b593690f1e9
2efd32ee1b60b0b31404ca47c1ce70e5a5d24ebc
f45a5c267da35174e22cec955093a7513dc1623d
-
- Minimally 8093315a91340bca52549044975d8c7f673b28a1 provides the proper
- features to increase performance dramatically.
Testcase:
Setup OpenStack Neutron. Test throughput between internal and external nodes.
The following explains an example vlan+namespace configuration:
Internal Node: [10.x.x.2]->eth2.123->br123->tap123->qr-123[10.x.x.1] <--- netns: qrouter-123
netns: qrouter-123 ---> qg-234[10.x.y.1]->tap234->br234->eth2.234->External Node[10.x.y.2]
Where:
1) tap123+qr-123 and tap234+qg-234 are veth pairs
2) qr-123 and qg-234 reside inside the qrouter-123 namespace
Another testcase without Openstack:
* create two vms: (vm1, vm2), install iperf on those machines
* connect vms via an isolated bridge
* measure baseline performance
- iperf -s # on machine 1
- iperf -t 60 -l 4M -c <machine 1 IP> # on machine 2
* create veth pairs between vms using attached script:
- ./setup-lp1201869.sh vm1
- ./setup-lp1201869.sh vm2
* In the VM's setup static IPs
- sudo ifconfig eth0 10.10.10.1/24 up #vm1
- sudo ifconfig eth0 10.10.10.2/24 up #vm2
* measure performance now
* we expect this to be close to the existing performance
--
OpenStack Neutron does IP forwarding through a network namespace. A veth
pair is used to connect into the namespace. The veth pair appears to be
the bottleneck, independent of network namespace. In newer versions of
Linux (Ubuntu-3.9.0-7.15 / v3.9-rc1 and greater) throughput is much
higher by almost 3 times. For example with some testing throughput is
3.5 Gbps in pre 3.9-rc1 versions and 9.1 Gbps with these patches
applied.
This has been confirmed on kernels from 3.5.x-3.8.x. (Quantal and Raring
lts backports)
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1201869
Title:
poor networking throughput through veth interfaces
Status in “linux” package in Ubuntu:
Fix Released
Status in “linux” source package in Precise:
In Progress
Status in “linux” source package in Quantal:
Fix Released
Status in “linux” source package in Raring:
Fix Released
Bug description:
SRU Justification:
Impact:
Users of the 3.2/3.5/3.8 series kernel will have poor network throughput when using OpenStack Neutron depending on their setup.
Fix:
These upstream patches are necessary to fix the issue:
2681128f0ced8aa4e66f221197e183cc16d244fe
8093315a91340bca52549044975d8c7f673b28a1
d0e2c55e7c940a3ee91e9e23a2683b593690f1e9
2efd32ee1b60b0b31404ca47c1ce70e5a5d24ebc
f45a5c267da35174e22cec955093a7513dc1623d
Testcase:
Setup OpenStack Neutron. Test throughput between internal and external nodes.
The following explains an example vlan+namespace configuration:
Internal Node: [10.x.x.2]->eth2.123->br123->tap123->qr-123[10.x.x.1] <--- netns: qrouter-123
netns: qrouter-123 ---> qg-234[10.x.y.1]->tap234->br234->eth2.234->External Node[10.x.y.2]
Where:
1) tap123+qr-123 and tap234+qg-234 are veth pairs
2) qr-123 and qg-234 reside inside the qrouter-123 namespace
Another testcase without Openstack:
* create two vms: (vm1, vm2), install iperf on those machines
* connect vms via an isolated bridge
* measure baseline performance
- iperf -s # on machine 1
- iperf -t 60 -l 4M -c <machine 1 IP> # on machine 2
* create veth pairs between vms using attached script:
- ./setup-lp1201869.sh vm1
- ./setup-lp1201869.sh vm2
* In the VM's setup static IPs
- sudo ifconfig eth0 10.10.10.1/24 up #vm1
- sudo ifconfig eth0 10.10.10.2/24 up #vm2
* measure performance now
* we expect this to be close to the existing performance
--
OpenStack Neutron does IP forwarding through a network namespace. A
veth pair is used to connect into the namespace. The veth pair appears
to be the bottleneck, independent of network namespace. In newer
versions of Linux (Ubuntu-3.9.0-7.15 / v3.9-rc1 and greater)
throughput is much higher by almost 3 times. For example with some
testing throughput is 3.5 Gbps in pre 3.9-rc1 versions and 9.1 Gbps
with these patches applied.
This has been confirmed on kernels from 3.5.x-3.8.x. (Quantal and
Raring lts backports)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1201869/+subscriptions
References