[ciqlts9_6] Multiple patches tested (6 commits) - #1546
Open
ciq-kernel-automation[bot] wants to merge 6 commits into
Open
[ciqlts9_6] Multiple patches tested (6 commits)#1546ciq-kernel-automation[bot] wants to merge 6 commits into
ciq-kernel-automation[bot] wants to merge 6 commits into
Conversation
commit-author Nick Hudson <nhudson@akamai.com> commit - commit-source https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=5e4bcad6171d4baf426e49a39580cdb79254ea36 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://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=7b2ea1151e04d3506030db8734c48c5c2bec1392 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://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=da199070bc6209bf5db970f8f84c7db4210fe511 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://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=3a39c214fd2c3dd8266649e7f9f85ca1439eb738 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://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=ec20dee2f2c4796c0f7c0a7d8a3a3e8a9e9da7a4 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://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=adb771973026efe54627bcbe927e7205d04d6c68 upstream-diff | The upstream patch targets bpf-next where the BPF program has been converted to use vmlinux.h (commit 86433db) and the test runner has been migrated from a shell script to a C-based test_progs harness (commit 8517b1a). This tree has neither of those prerequisites, so the following upstream changes were dropped: - CO-RE enum existence checks (bpf_core_enum_value_exists). The test_tc_tunnel.sh runner loads BPF via iproute2's legacy tc loader, which does not process CO-RE relocations. - Post-decap GSO gso_type and skb->encapsulation validation via bpf_cast_to_kern_ctx/bpf_core_cast into skb_shared_info. These require vmlinux.h to access kernel-internal structs (sk_buff, skb_shared_info) and SKB_GSO_* constants. - TSO disable removal from prog_tests/test_tc_tunnel.c (file absent; this tree still uses test_tc_tunnel.sh). The functional flag-passing changes (DECAP_L4_GRE, DECAP_L4_UDP, DECAP_IPXIP4, DECAP_IPXIP6) and ipxip_flag parameter plumbing through 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>
bmastbergen
force-pushed
the
{bmastbergen_bpf_skb_adjust_room}_ciqlts9_6
branch
from
August 21, 2026 13:28
76ecd9a to
cab8954
Compare
|
🤖 Validation Checks In Progress Workflow run: https://github.com/ctrliq/kernel-src-tree/actions/runs/32487725765 |
|
✅ Validation checks completed successfully View full results: https://github.com/ctrliq/kernel-src-tree/actions/runs/32487725765 |
Collaborator
|
Test results: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR has been automatically created after successful completion of all CI stages.
Commit Message(s)
Test Results
✅ Build Stage
✅ Boot Verification
✅ Kernel Selftests
✅ LTP Results
🤖 This PR was automatically generated by GitHub Actions
Run ID: 32487341524