diff options
author | Alexei Starovoitov <ast@kernel.org> | 2018-03-28 15:05:38 -0400 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2018-03-28 16:55:19 -0400 |
commit | a0fe3e574b50461c4811ce81811f0eaefda62871 (patch) | |
tree | 5bb54d6a41ea191ac880d30d96b26542210a2deb /tools/lib | |
parent | c4f6699dfcb8558d138fe838f741b2c10f416cf9 (diff) |
libbpf: add bpf_raw_tracepoint_open helper
add bpf_raw_tracepoint_open(const char *name, int prog_fd) api to libbpf
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'tools/lib')
-rw-r--r-- | tools/lib/bpf/bpf.c | 11 | ||||
-rw-r--r-- | tools/lib/bpf/bpf.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/tools/lib/bpf/bpf.c b/tools/lib/bpf/bpf.c index 592a58a2b681..e0500055f1a6 100644 --- a/tools/lib/bpf/bpf.c +++ b/tools/lib/bpf/bpf.c | |||
@@ -428,6 +428,17 @@ int bpf_obj_get_info_by_fd(int prog_fd, void *info, __u32 *info_len) | |||
428 | return err; | 428 | return err; |
429 | } | 429 | } |
430 | 430 | ||
431 | int bpf_raw_tracepoint_open(const char *name, int prog_fd) | ||
432 | { | ||
433 | union bpf_attr attr; | ||
434 | |||
435 | bzero(&attr, sizeof(attr)); | ||
436 | attr.raw_tracepoint.name = ptr_to_u64(name); | ||
437 | attr.raw_tracepoint.prog_fd = prog_fd; | ||
438 | |||
439 | return sys_bpf(BPF_RAW_TRACEPOINT_OPEN, &attr, sizeof(attr)); | ||
440 | } | ||
441 | |||
431 | int bpf_set_link_xdp_fd(int ifindex, int fd, __u32 flags) | 442 | int bpf_set_link_xdp_fd(int ifindex, int fd, __u32 flags) |
432 | { | 443 | { |
433 | struct sockaddr_nl sa; | 444 | struct sockaddr_nl sa; |
diff --git a/tools/lib/bpf/bpf.h b/tools/lib/bpf/bpf.h index 8d18fb73d7fb..ee59342c6f42 100644 --- a/tools/lib/bpf/bpf.h +++ b/tools/lib/bpf/bpf.h | |||
@@ -79,4 +79,5 @@ int bpf_map_get_fd_by_id(__u32 id); | |||
79 | int bpf_obj_get_info_by_fd(int prog_fd, void *info, __u32 *info_len); | 79 | int bpf_obj_get_info_by_fd(int prog_fd, void *info, __u32 *info_len); |
80 | int bpf_prog_query(int target_fd, enum bpf_attach_type type, __u32 query_flags, | 80 | int bpf_prog_query(int target_fd, enum bpf_attach_type type, __u32 query_flags, |
81 | __u32 *attach_flags, __u32 *prog_ids, __u32 *prog_cnt); | 81 | __u32 *attach_flags, __u32 *prog_ids, __u32 *prog_cnt); |
82 | int bpf_raw_tracepoint_open(const char *name, int prog_fd); | ||
82 | #endif | 83 | #endif |