Fetch MTU from the nodeIP interface#10635
Fetch MTU from the nodeIP interface#10635joestringer merged 1 commit intocilium:masterfrom manuelbuil:mtuSolution
Conversation
|
Please set the appropriate release note label. |
|
Travis failure seems relevant: |
|
test-me-please |
vadorovsky
left a comment
There was a problem hiding this comment.
One nit. Otherwise looks good.
|
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 |
|
@tgraf PTAL |
|
restart-ginkgo |
|
@mrostecki Be aware there are at least three different types of issues with some of the services /nodeports tests , make sure you check the exit code and ensure it matches the corresponding issue. I can't tell if the failure seen before was #10882 because there's no link any more, but that one saw exit code 7 and was only seen in PRs that updated the cilium-runtime image so I suspect this saw a different issue, such as #10942 . |
|
Yes, this looks to be the case:
I'm aware there has been some provider issues combined with this particular job having more tests than the others which can lead to this situation. Given the code changes here I think it's fairly unlikely to actually introduce a kernel-specific regression on net-next; it's also passed all the other jobs so as long as we're fine with the latest code changes then this should be good to merge. |
|
@manuelbuil are you still making any changes? If not, please mark "ready to review". |
No, patch is ready to review. I can't add or remove any label, so not sure how to mark it as ready to review or change the draft status. Can you help me? |
|
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 |
joestringer
left a comment
There was a problem hiding this comment.
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.
manuelbuil
left a comment
There was a problem hiding this comment.
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: #XXXline 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