Commit 79b20392 authored by Alexei Starovoitov's avatar Alexei Starovoitov Committed by Daniel Borkmann

bpf: Convert bpf preload to light skeleton.

Convert bpffs preload iterators to light skeleton.
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Acked-by: default avatarMartin KaFai Lau <kafai@fb.com>
Link: https://lore.kernel.org/bpf/20220131220528.98088-6-alexei.starovoitov@gmail.com
parent 1ddbddd7
...@@ -35,15 +35,15 @@ endif ...@@ -35,15 +35,15 @@ endif
.PHONY: all clean .PHONY: all clean
all: iterators.skel.h all: iterators.lskel.h
clean: clean:
$(call msg,CLEAN) $(call msg,CLEAN)
$(Q)rm -rf $(OUTPUT) iterators $(Q)rm -rf $(OUTPUT) iterators
iterators.skel.h: $(OUTPUT)/iterators.bpf.o | $(BPFTOOL) iterators.lskel.h: $(OUTPUT)/iterators.bpf.o | $(BPFTOOL)
$(call msg,GEN-SKEL,$@) $(call msg,GEN-SKEL,$@)
$(Q)$(BPFTOOL) gen skeleton $< > $@ $(Q)$(BPFTOOL) gen skeleton -L $< > $@
$(OUTPUT)/iterators.bpf.o: iterators.bpf.c $(BPFOBJ) | $(OUTPUT) $(OUTPUT)/iterators.bpf.o: iterators.bpf.c $(BPFOBJ) | $(OUTPUT)
......
...@@ -10,20 +10,20 @@ ...@@ -10,20 +10,20 @@
#include <bpf/libbpf.h> #include <bpf/libbpf.h>
#include <bpf/bpf.h> #include <bpf/bpf.h>
#include <sys/mount.h> #include <sys/mount.h>
#include "iterators.skel.h" #include "iterators.lskel.h"
#include "bpf_preload_common.h" #include "bpf_preload_common.h"
int to_kernel = -1; int to_kernel = -1;
int from_kernel = 0; int from_kernel = 0;
static int send_link_to_kernel(struct bpf_link *link, const char *link_name) static int send_link_to_kernel(int link_fd, const char *link_name)
{ {
struct bpf_preload_info obj = {}; struct bpf_preload_info obj = {};
struct bpf_link_info info = {}; struct bpf_link_info info = {};
__u32 info_len = sizeof(info); __u32 info_len = sizeof(info);
int err; int err;
err = bpf_obj_get_info_by_fd(bpf_link__fd(link), &info, &info_len); err = bpf_obj_get_info_by_fd(link_fd, &info, &info_len);
if (err) if (err)
return err; return err;
obj.link_id = info.id; obj.link_id = info.id;
...@@ -70,10 +70,10 @@ int main(int argc, char **argv) ...@@ -70,10 +70,10 @@ int main(int argc, char **argv)
goto cleanup; goto cleanup;
/* send two bpf_link IDs with names to the kernel */ /* send two bpf_link IDs with names to the kernel */
err = send_link_to_kernel(skel->links.dump_bpf_map, "maps.debug"); err = send_link_to_kernel(skel->links.dump_bpf_map_fd, "maps.debug");
if (err) if (err)
goto cleanup; goto cleanup;
err = send_link_to_kernel(skel->links.dump_bpf_prog, "progs.debug"); err = send_link_to_kernel(skel->links.dump_bpf_prog_fd, "progs.debug");
if (err) if (err)
goto cleanup; goto cleanup;
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment