aboutsummaryrefslogtreecommitdiffstats
path: root/tools/lib
diff options
context:
space:
mode:
authorAlexei Starovoitov <ast@kernel.org>2018-03-28 15:05:38 -0400
committerDaniel Borkmann <daniel@iogearbox.net>2018-03-28 16:55:19 -0400
commita0fe3e574b50461c4811ce81811f0eaefda62871 (patch)
tree5bb54d6a41ea191ac880d30d96b26542210a2deb /tools/lib
parentc4f6699dfcb8558d138fe838f741b2c10f416cf9 (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.c11
-rw-r--r--tools/lib/bpf/bpf.h1
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
431int 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
431int bpf_set_link_xdp_fd(int ifindex, int fd, __u32 flags) 442int 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);
79int bpf_obj_get_info_by_fd(int prog_fd, void *info, __u32 *info_len); 79int bpf_obj_get_info_by_fd(int prog_fd, void *info, __u32 *info_len);
80int bpf_prog_query(int target_fd, enum bpf_attach_type type, __u32 query_flags, 80int 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);
82int bpf_raw_tracepoint_open(const char *name, int prog_fd);
82#endif 83#endif