Возвращаюсь в Fedora, для полноты картины ... и при тех же равных:
Код: Выделить всё
[olej@xenix hello_world]$ make bpfload
clang -O2 -target bpf -c bpf_program.c -I/kernel-src/tools/testing/selftests/bpf -o bpf_program.o
clang -o monitor-exec -lelf -I/kernel-src/samples/bpf -I/kernel-src/tools/lib -I/kernel-src/tools/perf -I/kernel-src/tools/include -L/usr/local/lib64 -lbpf \
/kernel-src/samples/bpf/bpf_load.c loader.c
/kernel-src/samples/bpf/bpf_load.c:131:7: error: call to undeclared function 'bpf_load_program'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
fd = bpf_load_program(prog_type, prog, insns_cnt, license, kern_version,
^
/kernel-src/samples/bpf/bpf_load.c:287:16: error: call to undeclared function 'bpf_create_map_in_map_node'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
map_fd[i] = bpf_create_map_in_map_node(maps[i].def.type,
^
/kernel-src/samples/bpf/bpf_load.c:295:16: error: call to undeclared function 'bpf_create_map_node'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
map_fd[i] = bpf_create_map_node(maps[i].def.type,
^
3 errors generated.
make: *** [Makefile:45: bpfload] Error 1
Код: Выделить всё
olej@R420:~$ uname -r
5.15.0-76-generic
olej@R420:~$ cat /usr/include/bpf/bpf.h
...
LIBBPF_API int bpf_load_program(enum bpf_prog_type type,
const struct bpf_insn *insns, size_t insns_cnt,
const char *license, __u32 kern_version,
char *log_buf, size_t log_buf_sz);
...
Код: Выделить всё
[olej@xenix bpf]$ uname -r
6.4.4-200.fc38.x86_64
olej@R420:~$ cat /usr/include/bpf/bpf.h
...
LIBBPF_API int bpf_prog_load(enum bpf_prog_type prog_type,
const char *prog_name, const char *license,
const struct bpf_insn *insns, size_t insn_cnt,
const struct bpf_prog_load_opts *opts);
...