On Wed, Jul 24, 2019 at 4:10 PM Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx> wrote: > > On Wed, Jul 24, 2019 at 10:10 AM Brian Vazquez <brianvv@xxxxxxxxxx> wrote: > > > > Adds bpf_attr.dump structure to libbpf. > > > > Suggested-by: Stanislav Fomichev <sdf@xxxxxxxxxx> > > Signed-off-by: Brian Vazquez <brianvv@xxxxxxxxxx> > > --- > > tools/include/uapi/linux/bpf.h | 9 +++++++++ > > tools/lib/bpf/libbpf.map | 2 ++ > > 2 files changed, 11 insertions(+) > > > > diff --git a/tools/include/uapi/linux/bpf.h b/tools/include/uapi/linux/bpf.h > > index 4e455018da65f..e127f16e4e932 100644 > > --- a/tools/include/uapi/linux/bpf.h > > +++ b/tools/include/uapi/linux/bpf.h > > @@ -106,6 +106,7 @@ enum bpf_cmd { > > BPF_TASK_FD_QUERY, > > BPF_MAP_LOOKUP_AND_DELETE_ELEM, > > BPF_MAP_FREEZE, > > + BPF_MAP_DUMP, > > }; > > > > enum bpf_map_type { > > @@ -388,6 +389,14 @@ union bpf_attr { > > __u64 flags; > > }; > > > > + struct { /* struct used by BPF_MAP_DUMP command */ > > + __aligned_u64 prev_key; > > + __aligned_u64 buf; > > + __aligned_u64 buf_len; /* input/output: len of buf */ > > + __u64 flags; > > + __u32 map_fd; > > + } dump; > > + > > struct { /* anonymous struct used by BPF_PROG_LOAD command */ > > __u32 prog_type; /* one of enum bpf_prog_type */ > > __u32 insn_cnt; > > diff --git a/tools/lib/bpf/libbpf.map b/tools/lib/bpf/libbpf.map > > index f9d316e873d8d..cac3723d5c45c 100644 > > --- a/tools/lib/bpf/libbpf.map > > +++ b/tools/lib/bpf/libbpf.map > > @@ -183,4 +183,6 @@ LIBBPF_0.0.4 { > > LIBBPF_0.0.4 is closed, this needs to go into LIBBPF_0.0.5. Sorry my bad, I didn't closely look at the rebase so this got it wrong. > > > perf_buffer__new; > > perf_buffer__new_raw; > > perf_buffer__poll; > > + bpf_map_dump; > > + bpf_map_dump_flags; > > As the general rule, please keep those lists of functions in alphabetical order. right. I will fix it in next version, thanks for reviewing it!