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
Fetch MTU from the nodeIP interface #10635
Conversation
Please set the appropriate release note label. |
Travis failure seems relevant:
|
test-me-please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One nit. Otherwise looks good.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jrfastab PTAL as well
test-me-please |
2 similar comments
test-me-please |
test-me-please |
Travis hit the flake #10615. we can ignore it |
test-me-please |
test-me-please |
Hitting the flake #10882 |
test-me-please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thanks!
@tgraf PTAL |
restart-ginkgo |
Commit ac4bb90ab113c26e642764890e7d8522d75c70a1 does not contain "Signed-off-by". Please follow instructions provided in https://docs.cilium.io/en/stable/contributing/development/contributing_guide/#developer-s-certificate-of-origin |
test-me-please |
https://jenkins.cilium.io/job/Cilium-PR-K8s-newest-kernel-4.9/358 failed with
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall the idea of taking the externalIP from k8s and using that to determine which device provides 'external' connectivity (and hence governs MTU) seems like a reasonable approach. I wish there were a better way to figure this out than iterating all IPs associated with all devices, but I'm not sure the kernel gives us any better APIs.
I have a bunch of minor nits that should be easy to address below.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the review @joestringer
test-me-please |
test-me-please |
The detected MTU is always the one belonging to the interface that acts as gateway. That interface does not necessarily need to be the one that holds nodeIP and thus the one that Cilium will use to send traffic inside the k8s cluster. This patch fixes this and detects the mtu of the interface used for cluster communications The extra calculation of the correct MTU must be done before the daemon is created and thus part of the K8s initialization code must be moved before the daemon creation. The reason is that the Kubernetes IP for the node is calculated during the K8s initialization. Fixes: #10309 Signed-off-by: Manuel Buil <mbuil@suse.com>
test-me-please |
I guess that the GKE test failure can be ignored. |
The detected MTU is always the one belonging to the interface that acts
as gateway. That interface does not necessarily need to be the one that
holds nodeIP and thus the one that Cilium will use to send traffic
inside the k8s cluster. This patch fixes this and detects the mtu of the
interface used for cluster communications
Fixes: #10309
Signed-off-by: Manuel Buil mbuil@suse.com
Please ensure your pull request adheres to the following guidelines:
description and a
Fixes: #XXX
line if the commit addresses a particularGitHub issue.
The detected MTU is always the one belonging to the interface that acts
as gateway. That interface does not necessarily need to be the one that
holds nodeIP and thus the one that Cilium will use to send traffic
inside the k8s cluster. This patch fixes this and detects the mtu of the
interface used for cluster communications
Fixes: #10309