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

Handle networking MTUs #1095

Closed
NicolasT opened this issue May 8, 2019 · 1 comment · Fixed by #2677
Closed

Handle networking MTUs #1095

NicolasT opened this issue May 8, 2019 · 1 comment · Fixed by #2677
Assignees
Labels
topic:deployment Bugs in or enhancements to deployment stages topic:networking Networking-related issues

Comments

@NicolasT
Copy link
Contributor

NicolasT commented May 8, 2019

We currently hard-code the veth MTU to 1440 (the Calico self-hosted manifest default). However, this is a 'pessimistic' default, based on GCP deployment infrastructure.

Instead, since we don't enable IPIP by default, we should

  • Ensure the MTU as configured in the CNI configuration file is equal to the MTU of the workload-plane interface on the node, I believe, and
  • Set the MTU of the created IPIP tunnels to either a configurable value, or the MTU of the workload-plane interface minus the IPIP header size, i.e. 20 bytes

This would at least allow for 60bytes extra per packet on 'regular' ethernet networks, or 7560 bytes on networks configured with jumbo-frames.

@NicolasT NicolasT added topic:networking Networking-related issues topic:deployment Bugs in or enhancements to deployment stages moonshot labels May 8, 2019
@gdemonet
Copy link
Contributor

For reference: https://docs.projectcalico.org/networking/mtu

@TeddyAndrieux TeddyAndrieux self-assigned this Jul 23, 2020
TeddyAndrieux added a commit that referenced this issue Jul 23, 2020
Add a function in `metalk8s_network` salt module to retrieve MTU
configured on an interface from an IP (will be needed to check MTU on
workload plane network before configuring calico #1095)
TeddyAndrieux added a commit that referenced this issue Jul 23, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on service network, this value is used by calico to create the
interface for service network.
NOTE: We set the calico MTU to the configured MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 23, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on service network, this value is used by calico to create the
interface for service network.
NOTE: We set the calico MTU to the configured MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 23, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on service network, this value is used by calico to create the
interface for service network.
NOTE: We set the calico MTU to the configured MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 23, 2020
Add a function in `metalk8s_network` salt module to retrieve MTU
configured on an interface from an IP (will be needed to check MTU on
workload plane network before configuring calico #1095)
TeddyAndrieux added a commit that referenced this issue Jul 23, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on service network, this value is used by calico to create the
interface for service network.
NOTE: We set the calico MTU to the configured MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 28, 2020
Add a function in `metalk8s_network` salt module to retrieve MTU
configured on an interface from an IP (will be needed to check MTU on
workload plane network before configuring calico #1095)
TeddyAndrieux added a commit that referenced this issue Jul 28, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on Pod network, this value is used by calico to create the
interface for Pod network.
NOTE: We set the calico MTU to the workload MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 28, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on Pod network, this value is used by calico to create the
interface for Pod network.
NOTE: We set the calico MTU to the workload MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 28, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on Pod network, this value is used by calico to create the
interface for Pod network.
NOTE: We set the calico MTU to the workload MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 28, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on Pod network, this value is used by calico to create the
interface for Pod network.
NOTE: We set the calico MTU to the workload MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 28, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on Pod network, this value is used by calico to create the
interface for Pod network.
NOTE: We set the calico MTU to the workload MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 28, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on Pod network, this value is used by calico to create the
interface for Pod network.
NOTE: We set the calico MTU to the workload MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 28, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on Pod network, this value is used by calico to create the
interface for Pod network.
NOTE: We set the calico MTU to the workload MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 29, 2020
Add a function in `metalk8s_network` salt module to retrieve MTU
configured on an interface from an IP (will be needed to check MTU on
workload plane network before configuring calico #1095)
TeddyAndrieux added a commit that referenced this issue Jul 29, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on Pod network, this value is used by calico to create the
interface for Pod network.
NOTE: We set the calico MTU to the workload MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 29, 2020
Add a function in `metalk8s_network` salt module to retrieve MTU
configured on an interface from an IP (will be needed to check MTU on
workload plane network before configuring calico #1095)
TeddyAndrieux added a commit that referenced this issue Jul 29, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on Pod network, this value is used by calico to create the
interface for Pod network.
NOTE: We set the calico MTU to the workload MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 29, 2020
Add a function in `metalk8s_network` salt module to retrieve MTU
configured on an interface from an IP (will be needed to check MTU on
workload plane network before configuring calico #1095)
TeddyAndrieux added a commit that referenced this issue Jul 29, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on Pod network, this value is used by calico to create the
interface for Pod network.
NOTE: We set the calico MTU to the workload MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 30, 2020
Add a function in `metalk8s_network` salt module to retrieve MTU
configured on an interface from an IP (will be needed to check MTU on
workload plane network before configuring calico #1095)
TeddyAndrieux added a commit that referenced this issue Jul 30, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on Pod network, this value is used by calico to create the
interface for Pod network.
NOTE: We set the calico MTU to the workload MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 30, 2020
Add a function in `metalk8s_network` salt module to retrieve MTU
configured on an interface from an IP (will be needed to check MTU on
workload plane network before configuring calico #1095)
TeddyAndrieux added a commit that referenced this issue Jul 30, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on Pod network, this value is used by calico to create the
interface for Pod network.
NOTE: We set the calico MTU to the workload MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 30, 2020
Add a small paragraph about MTU value that may be provided for
workloadPlane network in BootstrapConfiguration

Refs: #1095
TeddyAndrieux added a commit that referenced this issue Jul 30, 2020
Add a changelog entry about the ability to use multiple CIDRs for
workload and control plane networks and to configure the MTU used by
Calico

Refs: #1095
TeddyAndrieux added a commit that referenced this issue Jul 31, 2020
Add a changelog entry about the ability to use multiple CIDRs for
workload and control plane networks and to configure the MTU used by
Calico

Refs: #1095
TeddyAndrieux added a commit that referenced this issue Jul 31, 2020
Add a `mtu` key in bootstrap configuration to configure the value for
MTU on Pod network, this value is used by calico to create the
interface for Pod network.
NOTE: We set the calico MTU to the workload MTU - 20 so that if IPinIP
is enabled the MTU is still valid

Fixes: #1095
TeddyAndrieux added a commit that referenced this issue Jul 31, 2020
Add a small paragraph about MTU value that may be provided for
workloadPlane network in BootstrapConfiguration

Refs: #1095
TeddyAndrieux added a commit that referenced this issue Jul 31, 2020
Add a changelog entry about the ability to use multiple CIDRs for
workload and control plane networks and to configure the MTU used by
Calico

Refs: #1095
TeddyAndrieux added a commit that referenced this issue Jul 31, 2020
Add a function in `metalk8s_network` salt module to retrieve MTU
configured on an interface from an IP (will be needed to check MTU on
workload plane network before configuring calico #1095)
TeddyAndrieux added a commit that referenced this issue Jul 31, 2020
Add a small paragraph about MTU value that may be provided for
workloadPlane network in BootstrapConfiguration

Refs: #1095
TeddyAndrieux added a commit that referenced this issue Jul 31, 2020
Add a changelog entry about the ability to use multiple CIDRs for
workload and control plane networks and to configure the MTU used by
Calico

Refs: #1095
@bert-e bert-e closed this as completed in d187309 Jul 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic:deployment Bugs in or enhancements to deployment stages topic:networking Networking-related issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants