Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

troubleshooting.md: add ethtool -K flannel.1 tx-checksum-ip-generic off for NAT #1929

Merged
merged 1 commit into from
Apr 24, 2024

Conversation

AkihiroSuda
Copy link
Contributor

Description

When the public IP is behind NAT, the UDP checksum fields of the VXLAN packets can be corrupted. In that case, try running the following commands to avoid corrupted checksums:

/usr/sbin/ethtool -K flannel.1 tx-checksum-ip-generic off

To automate the command above via udev, create /etc/udev/rules.d/90-flannel.rules as follows:

SUBSYSTEM=="net", ACTION=="add|change|move", ENV{INTERFACE}=="flannel.1", RUN+="/usr/sbin/ethtool -K flannel.1 tx-checksum-ip-generic off"

ref:

Todos

(None)

Release Note

None required

@AkihiroSuda AkihiroSuda force-pushed the docs-tx-checksum branch 2 times, most recently from fa2f7ab to d3d58f2 Compare April 4, 2024 06:21
@manuelbuil
Copy link
Collaborator

manuelbuil commented Apr 8, 2024

Hey, thanks for the PR. This is a workaround for a bug in some kernels or? If we do this, we would be creating a performance penalty in the kernels which fixed this, or?

@AkihiroSuda
Copy link
Contributor Author

Hey, thanks for the PR. This is a workaround for a bug in some kernels or? If we do this, we would be creating a performance penalty in the kernels which fixed this, or?

I'm not sure if this is a bug or a designed behavior on the kernel's side, but I guess the behavior may potentially change in a future version of kernel, perhaps with some sysctl.

So I added the command only in troubleshooting.md.

@manuelbuil
Copy link
Collaborator

Hey, thanks for the PR. This is a workaround for a bug in some kernels or? If we do this, we would be creating a performance penalty in the kernels which fixed this, or?

I'm not sure if this is a bug or a designed behavior on the kernel's side, but I guess the behavior may potentially change in a future version of kernel, perhaps with some sysctl.

So I added the command only in troubleshooting.md.

Yes, it is supposed to be a kernel problem: kubernetes/kubernetes#88986 (comment) but TBH, I haven't seen a real fix in those versions stated in the comment

@thomasferrandiz
Copy link
Contributor

@AkihiroSuda can you please fix the merge conflict ?

…off` for NAT

When the public IP is behind NAT, the UDP checksum fields of the VXLAN packets can be corrupted.
In that case, try running the following commands to avoid corrupted checksums:

```bash
/usr/sbin/ethtool -K flannel.1 tx-checksum-ip-generic off
```

To automate the command above via udev, create `/etc/udev/rules.d/90-flannel.rules` as follows:

```
SUBSYSTEM=="net", ACTION=="add|change|move", ENV{INTERFACE}=="flannel.1", RUN+="/usr/sbin/ethtool -K flannel.1 tx-checksum-ip-generic off"
```

ref:
- flannel-io/flannel issue 1279
- kubernetes/kops PR 9074
- karmab/kcli@b1a8eff

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
@AkihiroSuda
Copy link
Contributor Author

@AkihiroSuda can you please fix the merge conflict ?

done

@thomasferrandiz thomasferrandiz merged commit 2db55b4 into flannel-io:master Apr 24, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants