Cannot set MTU higher than 1500 in Xen instance
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
High
|
Stefan Bader | ||
Bionic |
Fix Released
|
Undecided
|
Kamal Mostafa |
Bug Description
[Impact]
The latest Xenial update has broken MTU functionality in Xen: specifically,
setting MTUs larger than 1500 fails. This prevents Jumbo Frames and other
features which require larger than 1500 byte MTUs from being used. This can
lead to a failure to sync/connect to other components in the cluster/cloud
which expect higher MTUs and result in unavailable services.
This can be worked around by manually using ethtool to set SCATTER/GATHER
functionality:
- $ sudo ethtool -K $interface_name sg on
The issue is caused by the following commit to the xen-netfront driver:
"xen-netfront: Fix race between device setup and open"
commit f599c64fdf7d9c1
Introduced: v4.16-rc1
Reverting the above fix has confirmed that the problem goes away.
The following commits fix this issue in the mainline kernel:
"xen-netfront: Fix mismatched rtnl_unlock"
commit cb257783c2927b7
Introduced: v4.18-rc3
"xen-netfront: Update features after registering netdev"
commit 45c8184c1bed1ca
Introduced: v4.18-rc3
[Test Case]
1. Launch a Xen instance using the latest kernel version (e.g. 4.4.0-130,
or 4.4.0-1062-aws)
2. Change MTU to 9000 or other value > 1500.
[Regression Potential]
The kernel patch might not be able to set MTU.
Changed in linux (Ubuntu Xenial): | |
status: | Incomplete → Fix Committed |
importance: | Undecided → High |
assignee: | nobody → Stefan Bader (smb) |
Changed in linux (Ubuntu Bionic): | |
status: | New → In Progress |
assignee: | nobody → Kamal Mostafa (kamalmostafa) |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1781413
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.