-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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.13] bpf: use skb->ifindex for FIB lookup in handle_*_from_lxc() #24195
Conversation
[ upstream commit db5211f ] [ Backporter's notes: introduce a `iif` parameter for redirect_direct_* ] L7 LB traffic is first redirected to envoy for load-balancing. The corresponding local packet by envoy is then sent back to handle_policy_egress() by the cilium_from_host program via tail-call. In a config with ENABLE_HOST_ROUTING and multiple devices, it then potentially requires a in-BPF FIB lookup. For this lookup, we currently use ctx->ingress_ifindex (aka skb->skb_iif). For the normal veth->veth transition, the skb->skb_iif would be set by the __netif_receive_skb() in process_backlog(). But for a local packet (as generated by envoy for L7 LB) skb->skb_iif is not set. Consequently such a FIB lookup for ctx->ingress_ifindex 0 will fail, and the packet gets dropped with DROP_NO_FIB. Use ctx->ifindex instead. This changes nothing for normal from-pod traffic, but allows L7 LB traffic to perform a FIB lookup. Note that for the L7 LB case, ctx->ifindex will point at cilium_host (rather than the pod's veth interface). Signed-off-by: Julian Wiedmann <jwi@isovalent.com>
/test-backport-1.13 Job 'Cilium-PR-K8s-1.24-kernel-4.9' failed: Click to show.Test Name
Failure Output
If it is a flake and a GitHub issue doesn't already exist to track it, comment Job 'Cilium-PR-K8s-1.21-kernel-4.9' failed: Click to show.Test Name
Failure Output
If it is a flake and a GitHub issue doesn't already exist to track it, comment Job 'Cilium-PR-K8s-1.25-kernel-4.19' failed: Click to show.Test Name
Failure Output
If it is a flake and a GitHub issue doesn't already exist to track it, comment |
/test-1.25-4.19 |
I believe kernel-4.9 errors are no longer relevant for v1.13 -> ready for merge. |
Once this PR is merged, you can update the PR labels via:
or with