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

MTU is subtracted twice: from kube-bridge and tun- interface #1033

Closed
zerkms opened this issue Feb 15, 2021 · 3 comments
Closed

MTU is subtracted twice: from kube-bridge and tun- interface #1033

zerkms opened this issue Feb 15, 2021 · 3 comments
Labels

Comments

@zerkms
Copy link
Contributor

zerkms commented Feb 15, 2021

What happened?
As it is implemented now: with auto MTU enabled - kube-bridge is configured with -20 of the physical interface. Then tun- ip-ip interfaces are configured with further -20 of the kube-bridge.

So we end up having kube-bridge with 1480, and tun- with 1460.

I believe kube-bridge's MTU should simply match the physical link MTU.

What did you expect to happen?
I think kube-bridge should always (?) match the physical link MTU.

How can we reproduce the behavior you experienced?
Steps to reproduce the behavior:

  1. Deploy kube-router v1.1.1 to the aws cluster (with at least one node in different AZ)
  2. Check MTUs for kube-bridge and tun-

**Screenshots / Architecture Diagrams / Network Topologies **
If applicable, add those here to help explain your problem.

** System Information (please complete the following information):**

  • Kube-Router Version (kube-router --version): v1.1.1
  • Kube-Router Parameters: [e.g. --run-router --run-service-proxy --enable-overlay --overlay-type=full etc.] all default
  • Kubernetes Version (kubectl version) : [e.g. 1.18.3] 1.19.5
  • Cloud Type: [e.g. AWS, GCP, Azure, on premise] aws
  • Kubernetes Deployment Type: [e.g. EKS, GKE, Kops, Kubeadm, etc.] kubeadm
  • Kube-Router Deployment Type: [e.g. DaemonSet, System Service] daemonset
  • Cluster Size: [e.g. 200 Nodes] 10

** Logs, other output, metrics **
Please provide logs, other kind of output or observed metrics here.

Additional context
Add any other context about the problem here.

@zerkms zerkms added the bug label Feb 15, 2021
@zerkms
Copy link
Contributor Author

zerkms commented Feb 15, 2021

UPD:

what's interesting, if I disable auto-mtu and set 1500 for kube-bridge manually, it still creates the following tunnel interfaces:

6: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
7: tun-10703247@ens5: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1460 qdisc noqueue state UNKNOWN group default qlen 1000
8: tun-10702180@ens5: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1460 qdisc noqueue state UNKNOWN group default qlen 1000
9: tun-10702199@ens5: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1460 qdisc noqueue state UNKNOWN group default qlen 1000
10: tun-10703135@ens5: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1460 qdisc noqueue state UNKNOWN group default qlen 1000

@murali-reddy
Copy link
Member

Not sure why I felt MTU has to be adjusted explicitly on IP-IP tunnel interface in this PR.

#109

Tunnel intefaces MTU are automatically deducted with 20 bytes to accomidate IP-IP tunnel header.

@zerkms
Copy link
Contributor Author

zerkms commented Feb 23, 2021

@murali-reddy does it mean db1bd56#diff-0c7a66931bb103d41704081acb720a2e87222dbd9732538d0bd911cb3106e9bcR136 this very change return lintMTU - 20, nil should not exist either? eg: kube-bridge should be auto-configured to have MTU matching the physical interface, regardless if ipip

aauren added a commit to aauren/kube-router that referenced this issue May 17, 2021
aauren added a commit to aauren/kube-router that referenced this issue May 17, 2021
aauren added a commit to aauren/kube-router that referenced this issue Jun 11, 2022
aauren added a commit to aauren/kube-router that referenced this issue Jun 24, 2022
@aauren aauren closed this as completed in f97eb7c Jun 24, 2022
aauren added a commit to aauren/kube-router that referenced this issue Jul 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants