Skip to content

bpf: lb: misc cleanups#42986

Merged
julianwiedmann merged 4 commits intomainfrom
pr/jwi/main/bpf-lb-cleanup
Nov 27, 2025
Merged

bpf: lb: misc cleanups#42986
julianwiedmann merged 4 commits intomainfrom
pr/jwi/main/bpf-lb-cleanup

Conversation

@julianwiedmann
Copy link
Copy Markdown
Member

A few minor follow-up cleanups for #42973.

@julianwiedmann julianwiedmann added area/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. area/loadbalancing Impacts load-balancing and Kubernetes service implementations labels Nov 26, 2025
@julianwiedmann julianwiedmann force-pushed the pr/jwi/main/bpf-lb-cleanup branch from 3e23d0d to 5a50a22 Compare November 26, 2025 09:48
@julianwiedmann
Copy link
Copy Markdown
Member Author

/test

@julianwiedmann julianwiedmann force-pushed the pr/jwi/main/bpf-lb-cleanup branch from 5a50a22 to 1935860 Compare November 26, 2025 12:31
@julianwiedmann
Copy link
Copy Markdown
Member Author

/test

While these helpers are related to LB state, they are really managing how
bpf_lxc's per-packet path is propagating its internal state across a
program-internal tailcall.

So let's maintain them closer to where they are being used, there is
no shared logic here.

Also add a bit of build test coverage for the per-packet LB.

Signed-off-by: Julian Wiedmann <[email protected]>
Instead of passing a full ct_state struct, we can just pass a simple flag
to indicate whether the service request is of loopback type.

From the N/S path we can now always pass `false`, and optimize the relevant
code out.

Signed-off-by: Julian Wiedmann <[email protected]>
Now that the callers have access to the selected backend, they can just
take fetch the backend's cluster_id themselves.

Signed-off-by: Julian Wiedmann <[email protected]>
All usage has essentially moved to lb*_dnat_request() now, and for the IPv6
function we were already relying on the __maybe_unused to suppress the
compile error.

Signed-off-by: Julian Wiedmann <[email protected]>
@julianwiedmann julianwiedmann force-pushed the pr/jwi/main/bpf-lb-cleanup branch from 1935860 to 646cec4 Compare November 26, 2025 13:27
@julianwiedmann
Copy link
Copy Markdown
Member Author

/test

@julianwiedmann julianwiedmann marked this pull request as ready for review November 27, 2025 08:23
@julianwiedmann julianwiedmann requested review from a team as code owners November 27, 2025 08:23
@julianwiedmann julianwiedmann added this pull request to the merge queue Nov 27, 2025
@maintainer-s-little-helper maintainer-s-little-helper bot added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Nov 27, 2025
Merged via the queue into main with commit 6781758 Nov 27, 2025
397 of 399 checks passed
@julianwiedmann julianwiedmann deleted the pr/jwi/main/bpf-lb-cleanup branch November 27, 2025 16:16
nezdolik pushed a commit to nezdolik/cilium that referenced this pull request Jan 14, 2026
- `go mod tidy && go mod vendor && go mod verify`
- `cd enterprise/hubble-timescape && go mod tidy && cd ../..`
- fixed minor conflicts in `bpf/bpf_lxc.c`, `bpf/bpf_overlay.c` and
  `bpf/lib/nodeport.h` so that both new OSS code and previous Enterprise
  includes are present
- fixed conflicts in `pkg/datapath/config/host_config.go`,
`pkg/datapath/config/lxc_config.go` and
`pkg/datapath/config/overlay_config.go`
- adapted `enterprise/pkg/maps/extepspolicy/table.go`,
  `enterprise/pkg/fqdnha/relay/namemanager.go` and
  `enterprise/pkg/maps/extepspolicy/writer_test.go` due to function
  signature changes in OSS
- `git cherry-pick -n 3d4abeb61b72d910c58ddb199b189c86c4eaf326
  71023768865b9085e6aa8991c553997e1cc6f9b8` to pick up patches from
  @rastislavs (+ manual added fix in
  `enterprise/pkg/bgpv1/manager/reconcilerv2/neighbor_test.go` based on
  patch changes)
- `make -C images update-builder-image update-runtime-image`
- `make -C Documentation update-cmdref`
- `./contrib/scripts/enterprise-testowners.sh`
- remove duplicate `Cleanup Disk space in runner` step in
`.github/workflows/cilium-cli.yaml`
- fix mindfulness issues by manually fixing stuff coming from the
  following PRs:
  - [cilium#42169](cilium#42169)
  - [cilium#42011](cilium#42011)
  - [cilium#42012](cilium#42012)
- `make generate-enterprise-apis`
~- adjusted `enterprise/pkg/ingresspolicy` after commit 2faed3a
  ("policy: fix selector policy leak and detachment issues") removed the
  implicit addition of the identity on lookup. Now the identity needs to
be added and removed in the identity manager.~ Split into separate PR
isovalent/cilium#9506 to ease review and
backporting.
- Set `clustermesh.config.enabled=true` in
  enterprise-clustermesh-overlapping-podcidr workflow following commit
  562ba2c ("clustermesh: set authMode to migration by default").
- Had to revert the following commits because they break the ILB CI
workflow. Thanks to @mhofstetter for bisecting! See discussion for more
details. Upstream fix and re-applying the changes is tracked in
isovalent/cilium#9511.
  - cilium#42986
    - 6781758
    - 3cfe7a1
    - a8fd4ed
    - 64e171e
  - cilium#42973
- c171f22 (with minor conflict
resolution)
    - 9530af5
    - not necessary to revert the last 2 commit of that PR
@cilium-release-bot cilium-release-bot bot moved this to Released in cilium v1.19.0 Feb 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/datapath Impacts bpf/ or low-level forwarding details, including map management and monitor messages. area/loadbalancing Impacts load-balancing and Kubernetes service implementations 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.

Projects

No open projects
Status: Released

Development

Successfully merging this pull request may close these issues.

4 participants