On Thu, Apr 25, 2019 at 12:20 PM Quentin Monnet <quentin.monnet@xxxxxxxxxxxxx> wrote: > > 2019-04-25 09:55 UTC-0700 ~ Andrii Nakryiko <andriin@xxxxxx> > > This patch set adds a new `bpftool btf dump` sub-command, which allows to dump > > BTF contents (only types for now). Currently it only outputs low-level > > content, almost 1:1 with binary BTF format, but follow up patches will add > > ability to dump BTF types as a compilable C header file. JSON output is > > supported as well. > > > > Patch #1 adds `btf` sub-command, dumping BTF types in human-readable format. > > It also implements reading .BTF data from ELF file. > > Patch #2 adds minimal documentation with output format examples and different > > ways to specify source of BTF data. > > Patch #3 adds support for btf command in bash-completion/bpftool script. > > Patch #4 fixes minor indentation issue in bash-completion script. > > > > Output format is mostly following existing format of BPF verifier log, but > > deviates from it in few places. More details are in commit message for patch > > #1. > > > > Example of output for all supported BTF kinds are in patch #2 as part of > > documentation. Some field names are quite verbose and I'd rather shorten them, > > if we don't feel like being very close to BPF verifier names is a necessity, > > but in this patch I left them exactly the same as in verifier log. > > > > v2->v3: > > - make map's key|value|kv|all suggestion more precise (Quentin) > > - fix default case indentations (Quentin) > > > > v1->v2: > > - fix unnecessary trailing whitespaces in bpftool-btf.rst (Yonghong) > > - add btf in main.c for a list of possible OBJECTs > > - handle unknown keyword under `bpftool btf dump` (Yonghong) > > > > Andrii Nakryiko (4): > > bpftool: add ability to dump BTF types > > bpftool/docs: add btf sub-command documentation > > bpftool: add bash completions for btf command > > bpftool: fix indendation in bash-completion/bpftool > > > > .../bpf/bpftool/Documentation/bpftool-btf.rst | 205 +++++++ > > .../bpftool/Documentation/bpftool-cgroup.rst | 3 +- > > .../bpftool/Documentation/bpftool-feature.rst | 3 +- > > .../bpf/bpftool/Documentation/bpftool-map.rst | 3 +- > > .../bpf/bpftool/Documentation/bpftool-net.rst | 3 +- > > .../bpftool/Documentation/bpftool-perf.rst | 3 +- > > .../bpftool/Documentation/bpftool-prog.rst | 3 +- > > tools/bpf/bpftool/Documentation/bpftool.rst | 3 +- > > tools/bpf/bpftool/bash-completion/bpftool | 68 +- > > tools/bpf/bpftool/btf.c | 580 ++++++++++++++++++ > > tools/bpf/bpftool/main.c | 3 +- > > tools/bpf/bpftool/main.h | 1 + > > 12 files changed, 859 insertions(+), 19 deletions(-) > > create mode 100644 tools/bpf/bpftool/Documentation/bpftool-btf.rst > > create mode 100644 tools/bpf/bpftool/btf.c > > > > Hi Andrii, > > I got all your patches this time, but I think this is because you CC-ed > me (thanks!), I cannot see them in patchwork or in the archives of the > mailing lists (not even the cover letter this time, it seems). I don't > know what can be the cause of it :(. Yeah, it's strange. I'll try to shorten CC list and see if that helps. I must be in some list of spammer or something. :) > > Other than this, I have a few nitpicks on the first two patches, I'm > sending them separately. Thanks! > > Best regards, > Quentin