-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Fix source identity determination for DSR with Geneve-dispatch #29155
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
Conversation
759caac
to
237a541
Compare
237a541
to
58c9255
Compare
58c9255
to
e1ae396
Compare
e1ae396
to
7e64984
Compare
6023481
to
8e4c0a2
Compare
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.
Good from my side, ty!
(please add a release note!)
/test |
I added a release note to this PR description. |
It seems that the connection to the k8s api-server is lost when |
This Conformance Ginkgo failure is also relevant?
|
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.
dsr
should be *dsr
here. I guess it causes an unexpected error and the packet drop (Invalid packet)
On CP node, cilium monitor shows drop logs.
xx drop (Invalid packet) flow 0x3bc1dc4f to endpoint 0, ifindex 1430, file bpf_host.c:837, , identity remote-node->unknown: 192.168.16.3:41918 -> 192.168.16.5:6443 tcp ACK
xx drop (Invalid packet) flow 0x36882803 to endpoint 0, ifindex 1430, file bpf_host.c:837, , identity remote-node->unknown: 192.168.16.4:50738 -> 192.168.16.5:6443 tcp ACK
When DSR with Geneve is enabled, Cilium identity is not determined by the client's IP address and requests from outside cluster are dropped even though they are permitted by CiliumNetworkPolicy using `fromCIDR`. This commit inputs identity that is from the client IP address. Fixes: cilium#29153 Signed-off-by: Tomoki Sugiura <tomoki-sugiura@cybozu.co.jp>
c54a535
to
ed83d70
Compare
/test |
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.
All tests are green
FYI - I just stumbled over Line 2315 in fa00376
For the TC program it would be easy to fix (we already resolved the src-sec-identity). XDP and DSR-Geneve would need a bit more work. But maybe it's easiest to just remove that code 😁 . |
Is it because the |
When DSR with Geneve is enabled, Cilium identity is not determined by the client's IP address and requests from outside cluster are dropped even though they are permitted by CiliumNetworkPolicy using
fromCIDR
.This PR inputs identity that is from the client IP address.
Fixes: #29153
Please ensure your pull request adheres to the following guidelines:
description and a
Fixes: #XXX
line if the commit addresses a particularGitHub issue.
Fixes: <commit-id>
tag, thenplease add the commit author[s] as reviewer[s] to this issue.