Lunatik eBPF Abstraction Layer: TC, Scheduler binding and eBPF Maps
eBPF has become the dominant mechanism for extending the Linux kernel at runtime with verifier-enforced correctness guarantees, but those same verifier constraints limit expressiveness, making dynamic string matching, pattern-based rules, and hot-swappable logic difficult to encode directly. Lua, as a lightweight embeddable scripting layer, is well-suited to fill this gap. This project proposes a generalized eBPF integration layer for Lunatik, built around a clear design principle: eBPF provides the verifier-checked kernel hooks (fast path), while Lua implements the dynamic policy logic that the verifier cannot express. Rather than implementing a single binding in isolation, the goal is reusable infrastructure that multiplies the value of all future bindings. Concretely, this project will deliver: luatc — a Lunatik binding for the Linux Traffic Control (TC) subsystem, modeled on luaxdp, eBPF Maps Lua API — a general-purpose interface for eBPF maps within Lunatik, available to all subsystem bindings. luasched — a Lua binding for kernel scheduling hooks via eBPF Examples and documentation for all modules
Project details
Technologies
Not listed in the archive