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

cni: Use correct route MTU for various cloud cidrs #32244

Merged
merged 1 commit into from
May 3, 2024

Conversation

learnitall
Copy link
Contributor

This commit corrects the MTU that is used by the cilium-cni plugin when creating routes for CIDRs received from ENI, Azure or Alibaba Cloud.

The cilium-agent daemon returns two MTUs to the cilium-cni plugin: a "device" MTU, which is used to set the MTU on a Pod's interface in its network namespace, and a "route" MTU, which is used to set the MTU on the routes created inside the Pod's network namespace that handle traffic leaving the Pod. The "route" MTU is adjusted based on the Cilium configuration to account for any configured encapsulation protocols, such as VXLAN or WireGuard. Before this commit, when ENI, Azure or Alibaba Cloud IPAM was enabled, the routes created in a Pod's network namespace were using the "device" MTU, rather than the "route" MTU, leading to fragmentation issues.

cni: Use correct route MTU when ENI, Azure or Alibaba Cloud IPAM is enabled

This commit corrects the MTU that is used by the cilium-cni plugin when
creating routes for CIDRs received from ENI, Azure or Alibaba Cloud.

The cilium-agent daemon returns two MTUs to the cilium-cni plugin: a
"device" MTU, which is used to set the MTU on a Pod's interface in
its network namespace, and a "route" MTU, which is used to set the MTU
on the routes created inside the Pod's network namespace that handle
traffic leaving the Pod. The "route" MTU is adjusted based on the Cilium
configuration to account for any configured encapsulation protocols,
such as VXLAN or WireGuard. Before this commit, when ENI, Azure or Alibaba
Cloud IPAM was enabled, the routes created in a Pod's network namespace
were using the "device" MTU, rather than the "route" MTU, leading to
fragmentation issues.

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
@maintainer-s-little-helper maintainer-s-little-helper bot added the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Apr 29, 2024
@learnitall learnitall added the release-note/bug This PR fixes an issue in a previous release of Cilium. label Apr 29, 2024
@maintainer-s-little-helper maintainer-s-little-helper bot removed the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Apr 29, 2024
@learnitall learnitall added area/cni Impacts the Container Networking Interface between Cilium and the orchestrator. dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. labels Apr 29, 2024
@maintainer-s-little-helper maintainer-s-little-helper bot removed the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Apr 29, 2024
@learnitall learnitall marked this pull request as ready for review April 29, 2024 20:58
@learnitall learnitall requested a review from a team as a code owner April 29, 2024 20:58
@learnitall learnitall requested a review from joamaki April 29, 2024 20:58
@learnitall learnitall added needs-backport/1.13 This PR / issue needs backporting to the v1.13 branch affects/v1.13 This issue affects v1.13 branch affects/v1.14 This issue affects v1.14 branch needs-backport/1.14 This PR / issue needs backporting to the v1.14 branch affects/v1.15 This issue affects v1.15 branch needs-backport/1.15 This PR / issue needs backporting to the v1.15 branch labels Apr 30, 2024
@maintainer-s-little-helper maintainer-s-little-helper bot added this to Needs backport from main in 1.15.5 Apr 30, 2024
@maintainer-s-little-helper maintainer-s-little-helper bot added this to Needs backport from main in 1.14.11 Apr 30, 2024
@maintainer-s-little-helper maintainer-s-little-helper bot added this to Needs backport from main in 1.13.16 Apr 30, 2024
@learnitall
Copy link
Contributor Author

/test

@maintainer-s-little-helper maintainer-s-little-helper bot added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label May 1, 2024
@youngnick youngnick added this pull request to the merge queue May 3, 2024
Merged via the queue into cilium:main with commit 29a340e May 3, 2024
65 checks passed
@pippolo84 pippolo84 mentioned this pull request May 6, 2024
14 tasks
@pippolo84 pippolo84 added backport-pending/1.15 The backport for Cilium 1.15.x for this PR is in progress. and removed needs-backport/1.15 This PR / issue needs backporting to the v1.15 branch labels May 6, 2024
@maintainer-s-little-helper maintainer-s-little-helper bot moved this from Needs backport from main to Backport pending to v1.15 in 1.15.5 May 6, 2024
@pippolo84 pippolo84 mentioned this pull request May 6, 2024
7 tasks
@github-actions github-actions bot added backport-done/1.14 The backport for Cilium 1.14.x for this PR is done. backport-done/1.13 The backport for Cilium 1.13.x for this PR is done. and removed backport-pending/1.13 The backport for Cilium 1.13.x for this PR is in progress. labels May 8, 2024
@maintainer-s-little-helper maintainer-s-little-helper bot added this to Backport done to v1.15 in 1.15.5 May 8, 2024
@maintainer-s-little-helper maintainer-s-little-helper bot moved this from Backport pending to v1.14 to Backport done to v1.14 in 1.14.11 May 8, 2024
@maintainer-s-little-helper maintainer-s-little-helper bot removed this from Backport pending to v1.13 in 1.13.16 May 8, 2024
learnitall added a commit to learnitall/cilium that referenced this pull request Jun 20, 2024
The PR cilium#32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue cilium#33303.

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
learnitall added a commit to learnitall/cilium that referenced this pull request Jun 20, 2024
The PR cilium#32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue cilium#33303.

Fixes: cilium#33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
github-merge-queue bot pushed a commit that referenced this pull request Jun 24, 2024
The PR #32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue #33303.

Fixes: #33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
YutaroHayakawa pushed a commit that referenced this pull request Jun 25, 2024
[ upstream commit a31dcbd ]

The PR #32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue #33303.

Fixes: #33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
YutaroHayakawa pushed a commit that referenced this pull request Jun 25, 2024
[ upstream commit a31dcbd ]

The PR #32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue #33303.

Fixes: #33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
YutaroHayakawa pushed a commit that referenced this pull request Jun 25, 2024
[ upstream commit a31dcbd ]

The PR #32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue #33303.

Fixes: #33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
YutaroHayakawa pushed a commit that referenced this pull request Jun 25, 2024
[ upstream commit a31dcbd ]

The PR #32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue #33303.

Fixes: #33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
YutaroHayakawa pushed a commit that referenced this pull request Jun 25, 2024
[ upstream commit a31dcbd ]

The PR #32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue #33303.

Fixes: #33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
YutaroHayakawa pushed a commit that referenced this pull request Jun 25, 2024
[ upstream commit a31dcbd ]

The PR #32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue #33303.

Fixes: #33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
YutaroHayakawa pushed a commit to YutaroHayakawa/cilium that referenced this pull request Jun 25, 2024
[ upstream commit a31dcbd ]

The PR cilium#32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue cilium#33303.

Fixes: cilium#33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
YutaroHayakawa pushed a commit that referenced this pull request Jun 25, 2024
[ upstream commit a31dcbd ]

The PR #32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue #33303.

Fixes: #33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
YutaroHayakawa pushed a commit that referenced this pull request Jun 25, 2024
[ upstream commit a31dcbd ]

The PR #32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue #33303.

Fixes: #33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
YutaroHayakawa pushed a commit that referenced this pull request Jun 25, 2024
[ upstream commit a31dcbd ]

The PR #32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue #33303.

Fixes: #33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
YutaroHayakawa pushed a commit that referenced this pull request Jun 27, 2024
[ upstream commit a31dcbd ]

The PR #32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue #33303.

Fixes: #33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
YutaroHayakawa pushed a commit that referenced this pull request Jun 27, 2024
[ upstream commit a31dcbd ]

The PR #32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue #33303.

Fixes: #33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
YutaroHayakawa pushed a commit that referenced this pull request Jun 27, 2024
[ upstream commit a31dcbd ]

The PR #32244, that was merged with commit 29a340e, was intended to fix
IP fragmentation with WireGuard deployments, causing poor network
throughput and increased network latency. Unfortunately, after this PR
was merged, users began reporting issues with Cilium modifying the MTU
of the default interface of the node. This commit reverts the blamed
commit in an attempt to fix said issues.

The surfaced side-effect is tracked in issue #33303.

Fixes: #33258

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/cni Impacts the Container Networking Interface between Cilium and the orchestrator. backport-done/1.13 The backport for Cilium 1.13.x for this PR is done. backport-done/1.14 The backport for Cilium 1.14.x for this PR is done. backport-done/1.15 The backport for Cilium 1.15.x for this PR is done. ready-to-merge This PR has passed all tests and received consensus from code owners to merge. release-note/bug This PR fixes an issue in a previous release of Cilium.
Projects
No open projects
1.14.11
Backport done to v1.14
1.15.5
Backport done to v1.15
Status: Released
Status: Released
Status: Released
Development

Successfully merging this pull request may close these issues.

None yet

5 participants