我正在使用linux-5.17.8,并从内核源代码构建libbpf和bpftool。所述ebpf程序被加载并链接到所述接口; xsk_cfg.libbpf_flags = XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD;否则你会得到;
libbpf: Netlink-based XDP prog detected, please unload it in order to l
, sizeof(uint32_t), 0); //stores the pid value to the ring buffer}libbpf: map 'r_buf': failed to create: Invalid argument(-22)libbpf: failed to load BPF skelet
函数存在于libbpf库中,perf_buffer__new是确切的名称。因此,顾名思义,它用于创建perf缓冲区,以便在用户空间和内核之间共享信息。这是我的代码,它使用了对perf_buffer__new的调用,但是这个函数是折旧的,这个函数在libbpf的libbpf.h头文件声明中被注释掉了
因此,我喜欢在代码中使用的新选项是什么,如果api有变化:949:12: note: 'perf_buffer__new_deprecated' has been explicitly marked deprecated he