Skip to content

[ciq-6.18.y] Multiple patches tested (6 commits)#1296

Open
ciq-kernel-automation[bot] wants to merge 6 commits into
ciq-6.18.yfrom
{bmastbergen}_ciq-6.18.y
Open

[ciq-6.18.y] Multiple patches tested (6 commits)#1296
ciq-kernel-automation[bot] wants to merge 6 commits into
ciq-6.18.yfrom
{bmastbergen}_ciq-6.18.y

Conversation

@ciq-kernel-automation
Copy link
Copy Markdown

@ciq-kernel-automation ciq-kernel-automation Bot commented Jun 4, 2026

Summary

A customer has requested the following patchset for CLK 6.18:
https://lore.kernel.org/netdev/20260504101759.3319427-1-nhudson@akamai.com/

This PR has been automatically created after successful completion of all CI stages.

Commit Message(s)

bpf: name the enum for BPF_FUNC_skb_adjust_room flags

commit-author Nick Hudson <nhudson@akamai.com>
commit -
commit-source https://lore.kernel.org/netdev/20260504101759.3319427-2-nhudson@akamai.com/
bpf: refactor masks for ADJ_ROOM flags and encap validation

commit-author Nick Hudson <nhudson@akamai.com>
commit -
commit-source https://lore.kernel.org/netdev/20260504101759.3319427-3-nhudson@akamai.com/
upstream-diff |
  applied with line offset fuzz due to absence of bool decap
    variable (present in bpf-next, not in this tree). Code changes
    are identical to upstream.
bpf: add BPF_F_ADJ_ROOM_DECAP_* flags for tunnel decapsulation

commit-author Nick Hudson <nhudson@akamai.com>
commit -
commit-source https://lore.kernel.org/netdev/20260504101759.3319427-4-nhudson@akamai.com/
bpf: allow new DECAP flags and add guard rails

commit-author Nick Hudson <nhudson@akamai.com>
commit -
commit-source https://lore.kernel.org/netdev/20260504101759.3319427-5-nhudson@akamai.com/
bpf: clear decap state on skb_adjust_room shrink path

commit-author Nick Hudson <nhudson@akamai.com>
commit -
commit-source https://lore.kernel.org/netdev/20260504101759.3319427-6-nhudson@akamai.com/
selftests/bpf: tc_tunnel - pass decap flags for tunnel type

commit-author Nick Hudson <nhudson@akamai.com>
commit -
commit-source https://lore.kernel.org/netdev/20260504101759.3319427-7-nhudson@akamai.com/
upstream-diff |
  The upstream patch targets bpf-next which has bpf_tracing_net.h
  exposing SKB_GSO_* constants to BPF selftests. This tree lacks
  that header, so the following upstream changes were dropped:
  - CO-RE enum existence checks (bpf_core_enum_value_exists)
  - Post-decap GSO gso_type and skb->encapsulation validation
    via bpf_cast_to_kern_ctx/bpf_core_cast into skb_shared_info
  - TSO disable removal from prog_tests/test_tc_tunnel.c (file absent)
  The functional flag-passing changes (DECAP_L4_GRE, DECAP_L4_UDP,
  DECAP_IPXIP4, DECAP_IPXIP6) to decap_internal/decap_ipv4/decap_ipv6
  are applied as in upstream. The test exercises the new kernel flag
  acceptance path but does not validate post-decap skb state.

Test Results

✅ Build Stage

Architecture Build Time Total Time
x86_64 37m 44s 38m 32s
aarch64 24m 45s 25m 21s

✅ Boot Verification

✅ Kernel Selftests

Architecture Passed Failed Compared Against Status
x86_64 441 66 ciq-6.18.y ⚠️ No baseline available
aarch64 375 56 ciq-6.18.y ⚠️ No baseline available

✅ LTP Results

Architecture Passed Failed Compared Against Status
x86_64 1480 82 ciq-6.18.y ⚠️ No baseline available
aarch64 1454 82 ciq-6.18.y ⚠️ No baseline available

🤖 This PR was automatically generated by GitHub Actions
Run ID: 26975692024

commit-author Nick Hudson <nhudson@akamai.com>
commit -
commit-source https://lore.kernel.org/netdev/20260504101759.3319427-2-nhudson@akamai.com/

The existing anonymous enum for BPF_FUNC_skb_adjust_room flags is
named to enum bpf_adj_room_flags to enable CO-RE (Compile Once -
Run Everywhere) lookups in BPF programs.

	Co-developed-by: Max Tottenham <mtottenh@akamai.com>
	Signed-off-by: Max Tottenham <mtottenh@akamai.com>
	Co-developed-by: Anna Glasgall <aglasgal@akamai.com>
	Signed-off-by: Anna Glasgall <aglasgal@akamai.com>
	Signed-off-by: Nick Hudson <nhudson@akamai.com>
	Reviewed-by: Willem de Bruijn <willemb@google.com>
	Signed-off-by: Brett Mastbergen <bmastbergen@ciq.com>
commit-author Nick Hudson <nhudson@akamai.com>
commit -
commit-source https://lore.kernel.org/netdev/20260504101759.3319427-3-nhudson@akamai.com/
upstream-diff |
  applied with line offset fuzz due to absence of bool decap
    variable (present in bpf-next, not in this tree). Code changes
    are identical to upstream.

Refactor the helper masks for bpf_skb_adjust_room() flags to simplify
validation logic and introduce:

- BPF_F_ADJ_ROOM_ENCAP_MASK
- BPF_F_ADJ_ROOM_DECAP_MASK

Refactor existing validation checks in bpf_skb_net_shrink()
and bpf_skb_adjust_room() to use the new masks (no behavior change).

This is in preparation for supporting the new decap flags.

	Co-developed-by: Max Tottenham <mtottenh@akamai.com>
	Signed-off-by: Max Tottenham <mtottenh@akamai.com>
	Co-developed-by: Anna Glasgall <aglasgal@akamai.com>
	Signed-off-by: Anna Glasgall <aglasgal@akamai.com>
	Signed-off-by: Nick Hudson <nhudson@akamai.com>
	Signed-off-by: Brett Mastbergen <bmastbergen@ciq.com>
commit-author Nick Hudson <nhudson@akamai.com>
commit -
commit-source https://lore.kernel.org/netdev/20260504101759.3319427-4-nhudson@akamai.com/

Add new bpf_skb_adjust_room() decapsulation flags:

- BPF_F_ADJ_ROOM_DECAP_L4_GRE
- BPF_F_ADJ_ROOM_DECAP_L4_UDP
- BPF_F_ADJ_ROOM_DECAP_IPXIP4
- BPF_F_ADJ_ROOM_DECAP_IPXIP6

These flags let BPF programs describe which tunnel layer is being
removed, so later changes can update tunnel-related GSO state
accordingly during decapsulation.

This patch only introduces the UAPI flag definitions and helper
documentation.

	Co-developed-by: Max Tottenham <mtottenh@akamai.com>
	Signed-off-by: Max Tottenham <mtottenh@akamai.com>
	Co-developed-by: Anna Glasgall <aglasgal@akamai.com>
	Signed-off-by: Anna Glasgall <aglasgal@akamai.com>
	Signed-off-by: Nick Hudson <nhudson@akamai.com>
	Reviewed-by: Willem de Bruijn <willemb@google.com>
	Signed-off-by: Brett Mastbergen <bmastbergen@ciq.com>
commit-author Nick Hudson <nhudson@akamai.com>
commit -
commit-source https://lore.kernel.org/netdev/20260504101759.3319427-5-nhudson@akamai.com/

Add checks to require shrink-only decap, reject conflicting decap flag
combinations, and verify removed length is sufficient for claimed header
decapsulation.

	Co-developed-by: Max Tottenham <mtottenh@akamai.com>
	Signed-off-by: Max Tottenham <mtottenh@akamai.com>
	Co-developed-by: Anna Glasgall <aglasgal@akamai.com>
	Signed-off-by: Anna Glasgall <aglasgal@akamai.com>
	Signed-off-by: Nick Hudson <nhudson@akamai.com>
	Reviewed-by: Willem de Bruijn <willemb@google.com>
	Signed-off-by: Brett Mastbergen <bmastbergen@ciq.com>
commit-author Nick Hudson <nhudson@akamai.com>
commit -
commit-source https://lore.kernel.org/netdev/20260504101759.3319427-6-nhudson@akamai.com/

On shrink in bpf_skb_adjust_room(), apply decapsulation state updates
according to BPF_F_ADJ_ROOM_DECAP_* flags.

For GSO skbs, clear only the tunnel gso_type bits that correspond to the
requested decap layer:
- DECAP_L4_UDP: SKB_GSO_UDP_TUNNEL{,_CSUM}
- DECAP_L4_GRE: SKB_GSO_GRE{,_CSUM}
- DECAP_IPXIP4: SKB_GSO_IPXIP4
- DECAP_IPXIP6: SKB_GSO_IPXIP6

Then clear skb->encapsulation only if no tunnel GSO bits remain, keeping
encapsulation set for cases such as ESP-in-UDP where tunnel state remains.

For non-GSO skbs, there are no tunnel GSO bits to consult, so clear
skb->encapsulation directly when DECAP_L4_* or DECAP_IPXIP_* flags are set.

This keeps decap state handling consistent between GSO and non-GSO packets.

	Co-developed-by: Max Tottenham <mtottenh@akamai.com>
	Signed-off-by: Max Tottenham <mtottenh@akamai.com>
	Co-developed-by: Anna Glasgall <aglasgal@akamai.com>
	Signed-off-by: Anna Glasgall <aglasgal@akamai.com>
	Signed-off-by: Nick Hudson <nhudson@akamai.com>
	Signed-off-by: Brett Mastbergen <bmastbergen@ciq.com>
commit-author Nick Hudson <nhudson@akamai.com>
commit -
commit-source https://lore.kernel.org/netdev/20260504101759.3319427-7-nhudson@akamai.com/
upstream-diff |
  The upstream patch targets bpf-next which has bpf_tracing_net.h
  exposing SKB_GSO_* constants to BPF selftests. This tree lacks
  that header, so the following upstream changes were dropped:
  - CO-RE enum existence checks (bpf_core_enum_value_exists)
  - Post-decap GSO gso_type and skb->encapsulation validation
    via bpf_cast_to_kern_ctx/bpf_core_cast into skb_shared_info
  - TSO disable removal from prog_tests/test_tc_tunnel.c (file absent)
  The functional flag-passing changes (DECAP_L4_GRE, DECAP_L4_UDP,
  DECAP_IPXIP4, DECAP_IPXIP6) to decap_internal/decap_ipv4/decap_ipv6
  are applied as in upstream. The test exercises the new kernel flag
  acceptance path but does not validate post-decap skb state.

Pass the new BPF_F_ADJ_ROOM_DECAP_* flags through the decap path so
the kernel clears the correct GSO and encapsulation state when removing
tunnel headers.

	Signed-off-by: Nick Hudson <nhudson@akamai.com>
	Signed-off-by: Brett Mastbergen <bmastbergen@ciq.com>
@ciq-kernel-automation ciq-kernel-automation Bot added the created-by-kernelci Tag PRs that were automatically created when a user branch was pushed to the repo (kernelCI) label Jun 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

created-by-kernelci Tag PRs that were automatically created when a user branch was pushed to the repo (kernelCI)

Development

Successfully merging this pull request may close these issues.

2 participants