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

Clarify potential for connection disruption due to --native-routing-cidr flag #11369

Closed
3 tasks
joestringer opened this issue May 6, 2020 · 0 comments · Fixed by #11892
Closed
3 tasks

Clarify potential for connection disruption due to --native-routing-cidr flag #11369

joestringer opened this issue May 6, 2020 · 0 comments · Fixed by #11892
Assignees
Labels
area/documentation Impacts the documentation, including textual changes, sphinx, or other doc generation code.
Milestone

Comments

@joestringer
Copy link
Member

joestringer commented May 6, 2020

In Cilium 1.8, we intend to change the masquerade logic to more accurately determine when to apply masquerade (ie SNAT) to traffic in direct-routing mode, to ensure that traffic is only masqueraded when the destination is not directly reachable. To do this, we solicit the directly routable CIDR range from the user via the --native-routing-cidr option.

The upgrade docs already describe this briefly:
https://github.com/cilium/cilium/blob/master/Documentation/install/upgrade.rst#important-changes-required-before-upgrading-to-180

By my understanding, if this option is not configured, this will result in behaviour change for direct routing users which may lead to connection disruption. We should briefly extend it to clearly define the consequences of failing to configure the option to ensure that users treat this option with the severity it requires.

Questions to guide this documentation:

  • Are all existing direct-routing users already explicitly configuring --ipv4-cluster-cidr-mask-size or is it automatically configured? If it is automatically configured, users may not be aware that they were running with this option.
    • By my initial grep for this option in the Cilium-1.7 codebase, it looks like no instructions inform the user that they must specify this CIDR.
    • If it's autodetected today, then we should make this clear that users who have no knowledge of this setting, but are running --tunnel=disabled will still need to read the paragraph and take action. This can be achieved with a short sentence that states what the default behaviour is, eg "Cilium 1.7 and below inferred the setting for this value if it was not explicitly set."
  • What are the consequences of failing to configure this option?
    • For example, cilium-managed pods may be unable to establish connections to the outside world(?), (or to non-Cilium-managed IPs within the cluster?).
  • Why does the user need to consider this now?
    • For example, "Previous Cilium versions inferred the cluster range to choose when to perform masquerading, however in some cases it would mistakenly masquerade traffic that is destined outside the cluster".
@joestringer joestringer added area/documentation Impacts the documentation, including textual changes, sphinx, or other doc generation code. priority/release-blocker labels May 6, 2020
@joestringer joestringer added this to the 1.8 milestone May 6, 2020
tgraf added a commit that referenced this issue Jun 4, 2020
Fixes: #11369

Signed-off-by: Thomas Graf <thomas@cilium.io>
tgraf added a commit that referenced this issue Jun 5, 2020
Fixes: #11369

Signed-off-by: Thomas Graf <thomas@cilium.io>
tgraf added a commit that referenced this issue Jun 5, 2020
Fixes: #11369

Signed-off-by: Thomas Graf <thomas@cilium.io>
tklauser pushed a commit that referenced this issue Jun 5, 2020
[ upstream commit c1b3e32 ]

Fixes: #11369

Signed-off-by: Thomas Graf <thomas@cilium.io>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
joestringer pushed a commit that referenced this issue Jun 6, 2020
[ upstream commit c1b3e32 ]

Fixes: #11369

Signed-off-by: Thomas Graf <thomas@cilium.io>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/documentation Impacts the documentation, including textual changes, sphinx, or other doc generation code.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants