vmware: Disable UDP offload for primary interface #2850
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue number:
N/A
Depends on #2829
Description of changes:
We've had reports of Bottlerocket in VMware having networking issues that we've traced back to the combination of our 5.10 kernel and the
vmxnet3
driver. This driver enables UDP offload which has caused conflicts with NSX-T in certain environments.This PR adds a systemd unit to VMware variants only. The systemd unit disables UDP offload via
ethtool
commands for the default primary interface in VMware:eth0
.The unit does reference
eth0
. Given thateth0
is the default primary interface in VMware, and changing it isn't trivial (especially with EKS-A), this felt pretty safe and should cover the 98% use case.If a user does opt to do their own networking shenanigans, and runs into an issue where UDP offload is a problem, they are able to use a bootstrap container to run this same set of commands for their preferred interface.
Testing done:
aws-k8s-1.24
image and ensure the unit does not exist and is not runvmware-k8s-1.24
image and ensure the unit runs and the settings are applied for the interface.Without the systemd unit - the settings show as "on":
Terms of contribution:
By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.