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
daemon: Remove defunct --single-cluster-route
flag
#18426
Closed
Closed
+7
−153
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
gandro
added
sig/datapath
Impacts bpf/ or low-level forwarding details, including map management and monitor messages.
release-note/minor
This PR changes functionality that users may find relevant to operating Cilium.
kind/cleanup
This includes no functional changes.
labels
Jan 10, 2022
gandro
force-pushed
the
pr/gandro/remove-single-cluster-route
branch
from
January 10, 2022 15:09
406c3ea
to
1845b41
Compare
The `single-cluster-route` flag was intended to instruct Cilium to use a single route covering the entire cluster CIDR to point to the `cilium_host` interface in tunnel mode, instead of per-host or per-endpoint routes. However, the underlying concept of a cluster prefix used for routing was removed in PR cilium#10194. It seems the `single-cluster-route` flag was likely even broken prior to that and accidentally used the per-node mask instead of the per-cluster mask for the route. In summary, this flag has not been functional for almost two years. As no one seems to have noticed, it should be safe to remove this defunct flag without a deprecation period. Signed-off-by: Sebastian Wicki <sebastian@isovalent.com>
gandro
force-pushed
the
pr/gandro/remove-single-cluster-route
branch
from
January 10, 2022 15:12
1845b41
to
6ea28d4
Compare
gandro
changed the title
daemon: Remove defuct
daemon: Remove defunct Jan 10, 2022
--single-cluster-route
flag--single-cluster-route
flag
Apparently, the implementation always used the node-local allocation CIDR. So it is not technically defunct and works as originally intended, even though that behavior is not what I expect given its description which clearly talks about a cluster CIDR. Closing this for now, as I still don't fully understand it's intended usage. Might remove it later. |
gandro
added a commit
to gandro/cilium
that referenced
this pull request
Nov 16, 2023
This commit removes the ``single-cluster-route` flag. Contrary to it's description, it never [1] installed a cluster-wide route for `cilium_host`. Instead, it installed a route for the local alloc CIDR (aka local PodCIDR), virtually identical to the (enabled by default) `enable-local-node-route`. The only difference being that `single-cluster-route` sets the MTU. This means that the flag (which has not been referenced anywhere in the last four years) likely never worked as described. Marco Iorio recently tested the flag and found that the flag (when enabled) breaks node-to-pod and nodeport traffic. In addition, since the route conflicts with the local node route, we also found that the "single cluster route" was in fact overwritten by the "local node route". The only other effect the flag has is that it disables per-node routes, but those are needed for node-to-pod traffic. Removal has already been discussed two years ago [1]. Given that the flag has remained broken ever since and there have not been any bug reports at all, it is assumed that no one is actually using it. It is also not documented anywhere outside of the cmdref. Therefore, it is removed without prior deprecation. [1] cilium#18426 Signed-off-by: Sebastian Wicki <sebastian@isovalent.com>
gandro
added a commit
to gandro/cilium
that referenced
this pull request
Nov 16, 2023
This commit removes the `single-cluster-route` flag. Contrary to it's description, it never [1] installed a cluster-wide route for `cilium_host`. Instead, it installed a route for the local alloc CIDR (aka local PodCIDR), virtually identical to the (enabled by default) `enable-local-node-route`. The only difference being that `single-cluster-route` sets the MTU. This means that the flag (which has not been referenced anywhere in the last four years) likely never worked as described. Marco Iorio recently tested the flag and found that the flag (when enabled) breaks node-to-pod and nodeport traffic. In addition, since the route conflicts with the local node route, we also found that the "single cluster route" was in fact overwritten by the "local node route". The only other effect the flag has is that it disables per-node routes, but those are needed for node-to-pod traffic. Removal has already been discussed two years ago [1]. Given that the flag has remained broken ever since and there have not been any bug reports at all, it is assumed that no one is actually using it. It is also not documented anywhere outside of the cmdref. Therefore, it is removed without prior deprecation. [1] cilium#18426 Signed-off-by: Sebastian Wicki <sebastian@isovalent.com>
gandro
added a commit
that referenced
this pull request
Nov 20, 2023
This commit removes the `single-cluster-route` flag. Contrary to it's description, it never [1] installed a cluster-wide route for `cilium_host`. Instead, it installed a route for the local alloc CIDR (aka local PodCIDR), virtually identical to the (enabled by default) `enable-local-node-route`. The only difference being that `single-cluster-route` sets the MTU. This means that the flag (which has not been referenced anywhere in the last four years) likely never worked as described. Marco Iorio recently tested the flag and found that the flag (when enabled) breaks node-to-pod and nodeport traffic. In addition, since the route conflicts with the local node route, we also found that the "single cluster route" was in fact overwritten by the "local node route". The only other effect the flag has is that it disables per-node routes, but those are needed for node-to-pod traffic. Removal has already been discussed two years ago [1]. Given that the flag has remained broken ever since and there have not been any bug reports at all, it is assumed that no one is actually using it. It is also not documented anywhere outside of the cmdref. Therefore, it is removed without prior deprecation. [1] #18426 Signed-off-by: Sebastian Wicki <sebastian@isovalent.com>
pjablonski123
pushed a commit
to pjablonski123/cilium
that referenced
this pull request
Dec 15, 2023
This commit removes the `single-cluster-route` flag. Contrary to it's description, it never [1] installed a cluster-wide route for `cilium_host`. Instead, it installed a route for the local alloc CIDR (aka local PodCIDR), virtually identical to the (enabled by default) `enable-local-node-route`. The only difference being that `single-cluster-route` sets the MTU. This means that the flag (which has not been referenced anywhere in the last four years) likely never worked as described. Marco Iorio recently tested the flag and found that the flag (when enabled) breaks node-to-pod and nodeport traffic. In addition, since the route conflicts with the local node route, we also found that the "single cluster route" was in fact overwritten by the "local node route". The only other effect the flag has is that it disables per-node routes, but those are needed for node-to-pod traffic. Removal has already been discussed two years ago [1]. Given that the flag has remained broken ever since and there have not been any bug reports at all, it is assumed that no one is actually using it. It is also not documented anywhere outside of the cmdref. Therefore, it is removed without prior deprecation. [1] cilium#18426 Signed-off-by: Sebastian Wicki <sebastian@isovalent.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
kind/cleanup
This includes no functional changes.
release-note/minor
This PR changes functionality that users may find relevant to operating Cilium.
sig/datapath
Impacts bpf/ or low-level forwarding details, including map management and monitor messages.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
single-cluster-route
flag was intended to instruct Cilium to use asingle route covering the entire cluster CIDR to point to the
cilium_host
interface in tunnel mode, instead of per-host orper-endpoint routes.
However, the underlying concept of a cluster prefix used for routing was
removed in PR #10194. It seems the
single-cluster-route
flag was likely even broken prior to that and accidentally used the
per-node mask instead of the per-cluster mask for the route. In summary,
this flag has not been functional for almost two years. As no one seems
to have noticed, it should be safe to remove this defunct flag without a
deprecation period.