** 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 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 * attach VM's interfaces to the created bridges (qbrvm1 / qbrvm2) * 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 + NOTE: the fixed kernel needs to be on the _hypervisor_ -- 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: Fix Committed 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 * attach VM's interfaces to the created bridges (qbrvm1 / qbrvm2) * 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 NOTE: the fixed kernel needs to be on the _hypervisor_ -- 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 -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp