Skip to content

Commit 7e0d0fb

Browse files
yonghong-songAlexei Starovoitov
authored andcommitted
tools/bpf: add new fields for program load in lib/bpf
The new fields are added for program load in lib/bpf so application uses api bpf_load_program_xattr() is able to load program with btf and func_info data. This functionality will be used in next patch by bpf selftest test_btf. Signed-off-by: Yonghong Song <yhs@fb.com> Signed-off-by: Martin KaFai Lau <kafai@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
1 parent cc19435 commit 7e0d0fb

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

tools/lib/bpf/bpf.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,10 @@ int bpf_load_program_xattr(const struct bpf_load_program_attr *load_attr,
205205
attr.log_level = 0;
206206
attr.kern_version = load_attr->kern_version;
207207
attr.prog_ifindex = load_attr->prog_ifindex;
208+
attr.prog_btf_fd = load_attr->prog_btf_fd;
209+
attr.func_info_rec_size = load_attr->func_info_rec_size;
210+
attr.func_info_cnt = load_attr->func_info_cnt;
211+
attr.func_info = ptr_to_u64(load_attr->func_info);
208212
memcpy(attr.prog_name, load_attr->name,
209213
min(name_len, BPF_OBJ_NAME_LEN - 1));
210214

tools/lib/bpf/bpf.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ struct bpf_load_program_attr {
7474
const char *license;
7575
__u32 kern_version;
7676
__u32 prog_ifindex;
77+
__u32 prog_btf_fd;
78+
__u32 func_info_rec_size;
79+
const void *func_info;
80+
__u32 func_info_cnt;
7781
};
7882

7983
/* Flags to direct loading requirements */

0 commit comments

Comments
 (0)