bpf: skb_adjust_room helper refactor and tunnel decap flags#11454
bpf: skb_adjust_room helper refactor and tunnel decap flags#11454kernel-patches-daemon-bpf[bot] wants to merge 5 commits intobpf-next_basefrom
Conversation
|
Upstream branch: 77378da |
fa794bf to
6e67145
Compare
|
Upstream branch: 77378da |
2b17de8 to
0bc6083
Compare
6e67145 to
c0ba5e6
Compare
|
Upstream branch: 888329b |
0bc6083 to
fa473a9
Compare
c0ba5e6 to
9f8e178
Compare
|
Upstream branch: 4a4fedb |
fa473a9 to
515da4e
Compare
9f8e178 to
1857029
Compare
|
Upstream branch: 350de5b |
515da4e to
6e5e881
Compare
1857029 to
c0c253d
Compare
|
Upstream branch: 4b21ea5 |
6e5e881 to
839e11f
Compare
|
Upstream branch: 4b21ea5 |
839e11f to
67a4299
Compare
c0c253d to
bcc2ccd
Compare
|
Upstream branch: 21337b5 |
67a4299 to
f6c7360
Compare
bcc2ccd to
5da949e
Compare
|
Upstream branch: 61bc846 |
f6c7360 to
8fad007
Compare
5da949e to
b508a4d
Compare
|
Upstream branch: bfec8e8 |
8fad007 to
eb77416
Compare
b508a4d to
1aca26a
Compare
|
Upstream branch: bb6da65 |
eb77416 to
e7e9bfd
Compare
1aca26a to
5e0b02c
Compare
|
Upstream branch: 833ef4a |
e7e9bfd to
d425c2b
Compare
5e0b02c to
e2709a6
Compare
|
Upstream branch: b43d574 |
d425c2b to
cb6b9ed
Compare
e2709a6 to
d153d04
Compare
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>
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>
Introduce helper masks for bpf_skb_adjust_room() flags to simplify validation logic: - BPF_F_ADJ_ROOM_DECAP_L4_MASK - BPF_F_ADJ_ROOM_DECAP_IPXIP_MASK - BPF_F_ADJ_ROOM_ENCAP_MASK - BPF_F_ADJ_ROOM_DECAP_MASK Add flag validation to bpf_skb_net_grow() to reject invalid encap flags early. Refactor existing validation checks in bpf_skb_net_shrink() and bpf_skb_adjust_room() to use the new masks (no behavior change). 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>
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>
On shrink in bpf_skb_adjust_room(), clear tunnel-specific GSO flags
according to the decapsulation flags:
- BPF_F_ADJ_ROOM_DECAP_L4_UDP clears SKB_GSO_UDP_TUNNEL{,_CSUM}
- BPF_F_ADJ_ROOM_DECAP_L4_GRE clears SKB_GSO_GRE{,_CSUM}
- BPF_F_ADJ_ROOM_DECAP_IPXIP4 clears SKB_GSO_IPXIP4
- BPF_F_ADJ_ROOM_DECAP_IPXIP6 clears SKB_GSO_IPXIP6
When all tunnel-related GSO bits are cleared, also clear
skb->encapsulation.
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>
|
Upstream branch: 02bcf8e |
cb6b9ed to
89a75d7
Compare
|
At least one diff in series https://patchwork.kernel.org/project/netdevbpf/list/?series=1068659 expired. Closing PR. |
Pull request for series with
subject: bpf: skb_adjust_room helper refactor and tunnel decap flags
version: 2
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=1068659