Skip to content

bpf: tests: egressgw: enable HostFW#42955

Merged
julianwiedmann merged 3 commits intomainfrom
pr/jwi/main/bpf-test-egw-hostfw
Nov 25, 2025
Merged

bpf: tests: egressgw: enable HostFW#42955
julianwiedmann merged 3 commits intomainfrom
pr/jwi/main/bpf-test-egw-hostfw

Conversation

@julianwiedmann
Copy link
Copy Markdown
Member

@julianwiedmann julianwiedmann commented Nov 24, 2025

Let's validate that EGW replies (ext_endpoint -> EgressIP) make it through
the ingress path on the GW node without being blocked by the HostFW.

This relies on the following sequence
1. RevSNAT (turns the packet into ext_endpoint -> PodIP), then
2. HostFW ingress enforcement, which does an on-the-spot ipcache lookup for
   the daddr (PodIP) and breaks out if the matched identity is not HOST_ID.

Also enable HostFW in the "redirect_from_host" tests, even though this only
tests the egress path on the GW node.

@julianwiedmann julianwiedmann added area/CI Continuous Integration testing issue or flake area/datapath Impacts bpf/ or low-level forwarding details, including map management and monitor messages. release-note/ci This PR makes changes to the CI. area/host-firewall Impacts the host firewall or the host endpoint. feature/egress-gateway Impacts the egress IP gateway feature. labels Nov 24, 2025
The memcpy() below expects the IPv6 address to be aligned.

Signed-off-by: Julian Wiedmann <jwi@isovalent.com>
Replace open-coded occurrences with the appropriate helper.

Signed-off-by: Julian Wiedmann <jwi@isovalent.com>
Let's validate that EGW replies (ext_endpoint -> EgressIP) make it through
the ingress path on the GW node without being blocked by the HostFW.

This relies on the following sequence
1. RevSNAT (turns the packet into ext_endpoint -> PodIP), then
2. HostFW ingress enforcement, which does an on-the-spot ipcache lookup for
   the daddr (PodIP) and breaks out if the matched identity is not HOST_ID.

Also enable HostFW in the "redirect_from_host" tests, even though this only
tests the egress path on the GW node.

Signed-off-by: Julian Wiedmann <jwi@isovalent.com>
@julianwiedmann julianwiedmann force-pushed the pr/jwi/main/bpf-test-egw-hostfw branch from 3e6690f to 0b8cc29 Compare November 25, 2025 08:27
@julianwiedmann
Copy link
Copy Markdown
Member Author

/test

@julianwiedmann julianwiedmann changed the title Pr/jwi/main/bpf test egw hostfw bpf: tests: egressgw: enable HostFW Nov 25, 2025
@julianwiedmann julianwiedmann requested review from a team and rgo3 and removed request for a team November 25, 2025 11:09
@julianwiedmann julianwiedmann marked this pull request as ready for review November 25, 2025 11:09
@julianwiedmann julianwiedmann requested a review from a team as a code owner November 25, 2025 11:09
@julianwiedmann julianwiedmann added this pull request to the merge queue Nov 25, 2025
Merged via the queue into main with commit 741109f Nov 25, 2025
93 checks passed
@julianwiedmann julianwiedmann deleted the pr/jwi/main/bpf-test-egw-hostfw branch November 25, 2025 21:27
@julianwiedmann julianwiedmann added the backport-pending/1.18 The backport for Cilium 1.18.x for this PR is in progress. label Dec 15, 2025
@github-actions github-actions Bot added backport-done/1.18 The backport for Cilium 1.18.x for this PR is done. and removed backport-pending/1.18 The backport for Cilium 1.18.x for this PR is in progress. labels Jan 5, 2026
@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/CI Continuous Integration testing issue or flake area/datapath Impacts bpf/ or low-level forwarding details, including map management and monitor messages. area/host-firewall Impacts the host firewall or the host endpoint. backport-done/1.18 The backport for Cilium 1.18.x for this PR is done. feature/egress-gateway Impacts the egress IP gateway feature. release-note/ci This PR makes changes to the CI.

Projects

No open projects
Status: Released

Development

Successfully merging this pull request may close these issues.

3 participants