Do not explicitly configure Calico MTU#670
Do not explicitly configure Calico MTU#670bvsravikiran wants to merge 2 commits intorancher:main-sourcefrom
Conversation
This change removes explicit configuration of Calico MTU to let Calico auto-detect host MTU and use it for workload interfaces. For context, Calico auto-detects host network interface MTU and uses it to configure the MTU for workload interfaces. When a non-zero MTU value is explicitly passed to Calico, it overrides the auto-detected MTU value. If the passed MTU value is greater than the host interface value, it could lead to fragmentation and packet loss.
|
cc @manuelbuil |
|
I don't know if Calico MTU autodetection will work fine with Canal that is using Flannel to forward the traffic between the pods. |
|
Just want to add that I have noticed that both Calico and Flannel are auto-detecting the host MTU. While Calico monitors continuously with a background thread, Flannel does it once at startup. For example, when the host external network interface MTU is 9001, |
|
Flannel considers the overhead required for VxLan header. I tried to configure 0 to get Calico autodetection and it seems that it's configuring the pod MTU to 1500 and the packets are fragmented on the tunnel. |
This change removes explicit configuration of Calico MTU to let Calico auto-detect host MTU and use it for workload interfaces.
For context, Calico auto-detects host network interface MTU and uses it to configure the MTU for workload interfaces [1][2]. When a non-zero MTU value is explicitly passed to Calico, it overrides the auto-detected MTU value. If the passed MTU value is greater than the host interface value, it could lead to fragmentation and packet loss.
[1] https://docs.tigera.io/calico/latest/networking/configuring/mtu#mtu-and-calico-defaults
[2] https://github.com/projectcalico/calico/blob/bda71ce13268ee63be485b0689ddeb5ff48f209f/manifests/canal.yaml#L59-L62