Add BPF dynptr TC demo implementation

- Implement BPF program for TC ingress using dynptrs to safely parse packet headers and manage variable-length ringbuf records.
- Create user-space loader for the BPF program, allowing configuration of blocked ports and snapshot lengths for TCP payloads.
- Define necessary data structures and constants in header file for both BPF and user-space contexts.
- Add a comprehensive test script to validate functionality, including basic packet capture and port blocking tests.
This commit is contained in:
github-actions[bot]
2026-02-01 00:32:34 +00:00
parent 2fa73cbe3f
commit c42ba4f9ab
14 changed files with 2155 additions and 41 deletions

View File

@@ -94,6 +94,10 @@ Features:
- [lesson 36-userspace-ebpf](36-userspace-ebpf/README.md) Userspace eBPF Runtimes: Overview and Applications
- [lesson 38-btf-uprobe](38-btf-uprobe/README.md) Expanding eBPF Compile Once, Run Everywhere(CO-RE) to Userspace Compatibility
- [lesson 43-kfuncs](43-kfuncs/README.md) Extending eBPF Beyond Its Limits: Custom kfuncs in Kernel Modules
- [features struct_ops](features/struct_ops/README.md) Extending Kernel Subsystems with BPF struct_ops
- [features bpf_iters](features/bpf_iters/README.md) BPF Iterators for Kernel Data Export
- [features dynptr](features/dynptr/README.md) BPF Dynamic Pointers for Variable-Length Data
- [features bpf_arena](features/bpf_arena/README.md) BPF Arena for Zero-Copy Shared Memory
- [features bpf_wq](features/bpf_wq/README.md) BPF Workqueues for Asynchronous Sleepable Tasks
- [features bpf_iters](features/bpf_iters/README.md) BPF Iterators for Kernel Data Export
- [features struct_ops](features/struct_ops/README.md) Extending Kernel Subsystems with BPF struct_ops