Linux Kernel eBPF CO-RE
The respository has the following directory structure:
artifacts
: directory that will have the eBPF programs when the compilation process ends.includes
: headers used to compileeBPF.plugin
.kernel-collector
: this is a submodule'd fork of netdata/libbpf.libbpf
: this is a submodule'd fork of netdata/libbpf which is itself a fork of the officiallibbpf
package, the user-space side of eBPF system calls.
To compile the eBPF CO-RE, it will be necessary to have the following packages:
- libelf headers
- LLVM/Clang; this is because GCC prior to 10.0 cannot compile eBPF code.
bpftool
: used to generate source codes.
libbpf
directory is included as a git submodule and it is necessary to fetch contents with the git command below:
git submodule update --init --recursive