Hello, I’m working on a new test tool for the eBPF backend under GSoC that will integrate with the DejaGnu testsuite. I want to share my implementation plan and get feedback from the community.
The tool executes compiled eBPF programs in a virtual machine and validates them against the kernel verifier. It uses vmtest for VM orchestration. Dependencies required to run the tests: - vmtest: depends on QEMU and 9p filesystem support in the kernel: https://github.com/danobi/vmtest?tab=readme-ov-file#dependencies - bpftool - Optional: Docker (for building a custom rootfs or kernel in a container) To run the VM, we need: - A rootfs to mount at guest's root, it can be: * The host system mounted via 9p * A custom image built from Docker * A standard VM image file - A kernel to boot The kernel must be built from source tarball to enable both eBPF support and the features for vmtest. I tested using prebuilt distro kernels but couldn’t find one that satisfies all required configs. It can be built directly on the host or inside a Docker container. I want to keep dependencies minimal and automate kernel/rootfs setup as much as possible. Ideally, I’d like to use the host system both as the rootfs and to build the kernel for CI environments. This avoids the need to install Docker in CI. At the same time, I’ll support other options so developers can choose whatever works best for their setup. I’d appreciate any suggestions for improvements or any concerns about integrating this with existing CI workflows. You can find my GSoC proposal with more context: https://docs.google.com/document/d/1UL-mGDWyfEjne3f6uEZOI5KG4s9XTP53QZ_LJjoqn-s/ Thanks, Piyush