Re: [PATCH iproute2-next 3/5] lib: add libbpf support
From: Hangbin Liu <hidden>
Date: 2020-10-27 02:59:05
Also in:
bpf
On Mon, Oct 26, 2020 at 09:15:00AM -0600, David Ahern wrote:
quoted
quoted
actually, it already does: bpf_load_programThanks for this info. Do you want to convert ipvrf.c to:@@ -256,8 +262,13 @@ static int prog_load(int idx) BPF_EXIT_INSN(), }; +#ifdef HAVE_LIBBPF + return bpf_load_program(BPF_PROG_TYPE_CGROUP_SOCK, prog, sizeof(prog), + "GPL", 0, bpf_log_buf, sizeof(bpf_log_buf)); +#else return bpf_prog_load_buf(BPF_PROG_TYPE_CGROUP_SOCK, prog, sizeof(prog), "GPL", bpf_log_buf, sizeof(bpf_log_buf)); +#endif } static int vrf_configure_cgroup(const char *path, int ifindex)@@ -288,7 +299,11 @@ static int vrf_configure_cgroup(const char *path, int ifindex) goto out; } +#ifdef HAVE_LIBBPF + if (bpf_prog_attach(prog_fd, cg_fd, BPF_CGROUP_INET_SOCK_CREATE, 0)) { +#else if (bpf_prog_attach_fd(prog_fd, cg_fd, BPF_CGROUP_INET_SOCK_CREATE)) { +#endif fprintf(stderr, "Failed to attach prog to cgroup: '%s'\n", strerror(errno)); goto out;works for me. The rename in patch 2 can be dropped as well correct?
No, the BPF_MOV64_* micros are not defined in uapi, so we still need include "bpf_util.h", which will got bpf_prog_load() conflicts. Thanks Hangbin