Skip to content

Local Redirect Policy results in loopback when socket-LB is disabled #30558

@pravk03

Description

@pravk03

Is there an existing issue for this?

  • I have searched the existing issues

What happened?

PR#13287 was added to prevent the local-redirect service from looping back packets from the service's node-local backend to itself. However, this solution works only when socket load balancing mode is fully enabled (ENABLE_SOCKET_LB_FULL) or when the node local backend uses host network (ENABLE_SOCKET_LB_HOST_ONLY). We would run into the same loopback issue when the local-redirect service uses pod network and we probably need to have a loop prevention logic added in the lxc ebpf code.

cc: @sugangli , @liuyuan10 , @aojea

Cilium Version

Client: 1.13.10
Daemon: 1.13.10

Kernel Version

Linux default-byac 6.1.58+ #1 SMP PREEMPT_DYNAMIC Sat Nov 4 14:14:29 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Kubernetes Version

Client Version: v1.28.5
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.3-gke.1203001

Sysdump

No response

Relevant log output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

Labels

area/datapathImpacts bpf/ or low-level forwarding details, including map management and monitor messages.area/loadbalancingImpacts load-balancing and Kubernetes service implementationsarea/lrpImpacts Local Redirect Policy.kind/bugThis is a bug in the Cilium logic.kind/community-reportThis was reported by a user in the Cilium community, eg via Slack.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions