Slow network outbound throughput with tso enabled in veth pair with newer kernels
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
Undecided
|
Unassigned | ||
neutron |
Expired
|
Medium
|
Unassigned |
Bug Description
Hi all,
first of, this isn't really a bug report but a request for a workaround.
With (obviously) kernels below 3.8 and OpenVSwitch < 2.0.0 the tcp segmentaion offload was off by default:
$ ethtool -k qvb056d020b-d6
Offload parameters for qvb056d020b-d6:
rx-checksumming: off
tx-checksumming: off
scatter-gather: off
tcp-segmentatio
udp-fragmentati
generic-
generic-
large-receive-
rx-vlan-offload: off
tx-vlan-offload: off
ntuple-filters: off
receive-hashing: off
With newer kernels (3.16.3-
Features for qvb5979dad2-b3:
rx-checksumming: on
tx-checksumming: on
tx-checksum-ipv4: off [fixed]
tx-checksum-
tx-checksum-ipv6: off [fixed]
tx-checksum-
tx-checksum-sctp: off [fixed]
scatter-gather: on
tx-scatter-gather: on
tx-scatter-
tcp-segmentatio
tx-tcp-
tx-tcp-
tx-tcp6-
udp-fragmentati
generic-
generic-
large-receive-
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: on
rx-vlan-filter: off [fixed]
vlan-challenged: off [fixed]
tx-lockless: on [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-
tx-gre-
tx-ipip-
tx-sit-
tx-udp_
tx-mpls-
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-
rx-vlan-
rx-vlan-
l2-fwd-offload: off [fixed]
busy-poll: off [fixed]
Another workaround would be to disable tso in every VM which is using the virtio net driver which is often impossible since VMs are managed by customers.
After creation of the veth pair a ethtool -K qvbXXX tso off should be triggered.
Relevant used versions:
kernel-
openvswitch-
qemu-system-
Changed in nova: | |
status: | New → Invalid |
Changed in neutron: | |
importance: | Undecided → High |
assignee: | nobody → Eugene Nikanorov (enikanorov) |
Changed in neutron: | |
assignee: | Eugene Nikanorov (enikanorov) → nobody |
status: | New → Confirmed |
Is this still a relevant bug? It hasn't seen any updates since November, 2014.