thunder: faulty TSO padding
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
High
|
dann frazier | ||
Xenial |
Fix Released
|
High
|
dann frazier |
Bug Description
[Impact]
Certain packet sizes will trigger spurious TCP retransmissions on Cavium Thunder-X systems when TSO is enabled (the default). This can result in excess traffic and additional latency.
[Test Case]
Connect 2 systems to a 10G switch:
- 1 ThunderX node (the client)
- 1 "other" node - doesn't have to be ThunderX (the server)
On the server, run the "receiver" command from the attached tcptest tarball:
$ ./receiver
Also on the server, run tcpdump to capture the traffic:
$ sudo tcpdump -i <iface> -w tcpdump.out
On the client, run the "sender" command from the tcptest tarball, with a 1461 packet size:
$ ./sender <ip of receiver> 1461 1461
Kill the tcpdump process, and open it in wireshark.
On failure, you'll see several "[TCP Spurious Retransmission]" packets - on success you should see none.
[Regression Risk]
Fix is upstream, so regressions will have upstream support. Fix is limited to a driver that is only applicable to the Cavium Thunder-X SoC, so risk is negligible to other platforms.
Changed in linux (Ubuntu): | |
status: | Fix Committed → In Progress |
assignee: | nobody → dann frazier (dannf) |
Changed in linux (Ubuntu Xenial): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Committed |
tags: |
added: verification-done-xenial removed: verification-needed-xenial |
Changed in linux (Ubuntu): | |
status: | Fix Committed → Fix Released |
This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification- needed- xenial' to 'verification- done-xenial' .
If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.
See https:/ /wiki.ubuntu. com/Testing/ EnableProposed for documentation how to enable and use -proposed. Thank you!