Network routing can be implemented in (e)bpf. It's even the original use case.
But there's also the LSM based on ebpf, there's a user space scheduler (Google iirc), seccomp and some cgroup filters can be done in bpf...
It's the Lua of the kernel at this point. Provides a lot of extension points.
https://github.com/sched-ext/scx/blob/main/OVERVIEW.md
also one from canonical in rust on top of scx https://github.com/sched-ext/scx/tree/main/scheds/rust/scx_r... https://arighi.blogspot.com/2024/02/writing-scheduler-for-li...
Network routing can be implemented in (e)bpf. It's even the original use case.
But there's also the LSM based on ebpf, there's a user space scheduler (Google iirc), seccomp and some cgroup filters can be done in bpf...
It's the Lua of the kernel at this point. Provides a lot of extension points.