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
v1.7 backports 2020-04-01 #10818
Merged
Merged
v1.7 backports 2020-04-01 #10818
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
joestringer
added
backport/1.7
kind/backports
This PR provides functionality previously merged into master.
labels
Apr 1, 2020
never-tell-me-the-odds |
joestringer
force-pushed
the
pr/v1.7-backport-2020-04-01-1
branch
from
April 1, 2020 22:49
5ef5a97
to
b816ca2
Compare
never-tell-me-the-odds |
joestringer
force-pushed
the
pr/v1.7-backport-2020-04-01-1
branch
from
April 2, 2020 00:22
b816ca2
to
d00b4c1
Compare
never-tell-me-the-odds |
[ upstream commit 424ea70 ] [ Backporter's notes: Had to rebase against skb -> ctx translation, and include/bpf/api.h -> include/bpf/helpers.h move. ] ct_create{4,6}() inserts related entries into the TCP CT tables given the map is usually in the form of ct_create4(get_ct_map4(&tuple)) or ct_create6(get_ct_map6(&tuple)). Similarly, the lookup parts are in form of ct_lookup4(get_ct_map4(&tuple)) or ct_lookup6(get_ct_map6(&tuple)). However, the tuples' nexthdr usually points to the one in the packet. This means, we can /never/ find a related entry since it sits in the TCP CT tables, but their lookup is always in the ANY table instead. Fix the insertions by adding to the CT_MAP_ANY{4,6} tables and by that implicityly double the capacity of TCP CT tables. Go even beyond that by not creating related entries for CT_SERVICE entries. It does not make sense to create CT_SERVICE entries with related flag since we don't translate ICMP there anyway. Save overhead and don't add them to the maps (same for NodePort/NAT related ones). Fixes: 750b3f9 ("bpf: Split connection tracking for TCP and non-TCP") Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: Joe Stringer <joe@cilium.io>
[ upstream commit d933cfe ] Signed-off-by: Chris Tarazi <chris@isovalent.com> Signed-off-by: Joe Stringer <joe@cilium.io>
[ upstream commit 948659f ] [ Backporter's notes: Had to add 'context' to the imports ] The Kubernetes node was marked as ready after the daemon was finished initializing. There were still several operations that could fail after that point which could lead to a situation in which a node was marked ready while the Cilium agent then later errored out, leading to a ready but failing node. Move the marking of the node readiness to the very end of the bootstrapping. Fixes: #10762 Signed-off-by: Thomas Graf <thomas@cilium.io> Signed-off-by: Joe Stringer <joe@cilium.io>
[ upstream commit 912eb46 ] In case 2 allocations with the same key are being allocated at the same time one of them might retrieve the ID while the other will try to allocate the ID in the CRD store. The issue occurs when the localKeys map will ignore the 2nd key allocation since it won't accept 2 IDs for the same key. Having this failure might cause endpoints from being restored in CRD mode. Signed-off-by: André Martins <andre@cilium.io> Signed-off-by: Joe Stringer <joe@cilium.io>
[ upstream commit 2069570 ] OpenShift DNS is using non-standard labels and non-standard namespace. Signed-off-by: Thomas Graf <thomas@cilium.io> Signed-off-by: Joe Stringer <joe@cilium.io>
[ upstream commit 09eebce ] Make sure to always return an error code on failue. Signed-off-by: Thomas Graf <thomas@cilium.io> Signed-off-by: Joe Stringer <joe@cilium.io>
[ upstream commit 95529fb ] Given bpf fs wasn't mounted before, then mount it with stricter permissions than the default ones (777). Also add few other options as discussed in #10793 such as `nosuid,nodev,noexec` though at least from bpf fs side these are ignored. Fixes: #10793 Reported-by: Travis Glenn Hansen <travisghansen@yahoo.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: Joe Stringer <joe@cilium.io>
[ upstream commit 26dec4c ] Fix unit test logic for the heartbeat function mock. In some test cases this function should block until the test is finished so some of those tests were re-written to take this into account. Signed-off-by: André Martins <andre@cilium.io> Signed-off-by: Joe Stringer <joe@cilium.io>
joestringer
force-pushed
the
pr/v1.7-backport-2020-04-01-1
branch
from
April 2, 2020 03:10
d00b4c1
to
6c5c3c8
Compare
never-tell-me-the-odds |
test-upstream-k8s |
1 similar comment
test-upstream-k8s |
aanm
approved these changes
Apr 2, 2020
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 for my commits
borkmann
approved these changes
Apr 2, 2020
test-upstream-k8s |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
context
package which was not previously importedNot backported due to conflicts:
Once this PR is merged, you can update the PR labels via: