X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=kernel%2Fsamples%2Fbpf%2Flibbpf.c;h=65a8d48d2799e43a1cfbd57ba13e353b1fa3856a;hb=e09b41010ba33a20a87472ee821fa407a5b8da36;hp=7e1efa7e2ed7f5b761c7c9bf7ab8a7b2c3c3ab27;hpb=f93b97fd65072de626c074dbe099a1fff05ce060;p=kvmfornfv.git diff --git a/kernel/samples/bpf/libbpf.c b/kernel/samples/bpf/libbpf.c index 7e1efa7e2..65a8d48d2 100644 --- a/kernel/samples/bpf/libbpf.c +++ b/kernel/samples/bpf/libbpf.c @@ -103,6 +103,25 @@ int bpf_prog_load(enum bpf_prog_type prog_type, return syscall(__NR_bpf, BPF_PROG_LOAD, &attr, sizeof(attr)); } +int bpf_obj_pin(int fd, const char *pathname) +{ + union bpf_attr attr = { + .pathname = ptr_to_u64((void *)pathname), + .bpf_fd = fd, + }; + + return syscall(__NR_bpf, BPF_OBJ_PIN, &attr, sizeof(attr)); +} + +int bpf_obj_get(const char *pathname) +{ + union bpf_attr attr = { + .pathname = ptr_to_u64((void *)pathname), + }; + + return syscall(__NR_bpf, BPF_OBJ_GET, &attr, sizeof(attr)); +} + int open_raw_sock(const char *name) { struct sockaddr_ll sll;