fripSide / libebpf

eBPF runtime for embedded systems.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Embedded eBPF library for IoT Devices

Design

  1. VM-centrate
struct ebpf_env {
    void *helpers;
    int err_code;
    char err_msg[32];
    int ref_cnt;
};
struct ebpf_vm {
    u8 code;
    int code_len;
    int pc;
};
u64 ebpf_vm_exec(void *mem, int mem_size);
u64 ebpf_vm_jit_run();

struct ebpf_prog {
    ebpf_vm *vm;
}
env -> mutiple vm
vm -> env

one ebpf_prog <=> one vm instance
  1. Prog-centrate
ebpf_vm_run(ebpf_env *env, u8 *code, int codelen, u8 *mem, int memlen);

About

eBPF runtime for embedded systems.


Languages

Language:C 88.4%Language:Python 10.9%Language:CMake 0.6%