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
bpf: small CT cleanups #24686
Merged
julianwiedmann
merged 3 commits into
cilium:master
from
julianwiedmann:1.14-ct-cleanups-v2
Apr 5, 2023
Merged
bpf: small CT cleanups #24686
julianwiedmann
merged 3 commits into
cilium:master
from
julianwiedmann:1.14-ct-cleanups-v2
Apr 5, 2023
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
Quite a few fields in the ct_state struct are not relevant to CT entries created with CT_SERVICE. Ignore them, for both the entry creation and when returning the result of a CT lookup. This is mostly a readability improvement, I'm not aware that it's helping with any complexity troubles. Signed-off-by: Julian Wiedmann <jwi@isovalent.com>
lb*_local() always calls ct_create*() with these three parameters set to `false`. So it's safe to ignore them for CT_SERVICE entries. Signed-off-by: Julian Wiedmann <jwi@isovalent.com>
When bpf_lxc does a CT_SERVICE lookup, it propagates the result across the subsequent tail-call with lb*_ctx_store_state() and restores it afterwards for use by the ct_create(..., CT_EGRESS) call. This currently propagates the backend_id (as returned by the CT_SERVICE lookup). As ct_create*(..., CT_EGRESS) ignores ct_state->backend_id, this isn't necessary. Signed-off-by: Julian Wiedmann <jwi@isovalent.com>
julianwiedmann
added
sig/datapath
Impacts bpf/ or low-level forwarding details, including map management and monitor messages.
release-note/misc
This PR makes changes that have no direct user impact.
labels
Apr 2, 2023
/test |
opened #24687 for the |
/test-1.26-net-next |
@YutaroHayakawa hoping you still have some context on this 🙂 |
YutaroHayakawa
approved these changes
Apr 5, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
julianwiedmann
added
the
ready-to-merge
This PR has passed all tests and received consensus from code owners to merge.
label
Apr 5, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
ready-to-merge
This PR has passed all tests and received consensus from code owners to merge.
release-note/misc
This PR makes changes that have no direct user impact.
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.
Clarify the semantics of some field in the ct_entry / ct_state struct. Callers of lb_local() re-use the result of the
CT_SERVICE
lookup (or parts of it), so it's important to understand which fields are relevant and which ones are guaranteed to be 0.We started to pay more attention to this in #24212, let's now also clean up the backlog of existing fields.