Re: [PATCH v3 bpf-next 0/4] add btf dumping to bpftool

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 :(.

Other than this, I have a few nitpicks on the first two patches, I'm sending them separately.

Best regards,
Quentin



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux