55d778076b
The "-d" option is used to require all logs available for bpftool. So far it meant telling libbpf to print even debug-level information. But there is another source of info that can be made more verbose: when we attemt to load programs with bpftool, we can pass a log_level parameter to the verifier in order to control the amount of information that is printed to the console. Reuse the "-d" option to print all information the verifier can tell. At this time, this means logs related to BPF_LOG_LEVEL1, BPF_LOG_LEVEL2 and BPF_LOG_STATS. As mentioned in the discussion on the first version of this set, these macros are internal to the kernel (include/linux/bpf_verifier.h) and are not meant to be part of the stable user API, therefore we simply use the related constants to print whatever we can at this time, without trying to tell users what is log_level1 or what is statistics. Verifier logs are only used when loading programs for now (In the future: for loading BTF objects with bpftool? Although libbpf does not currently offer to print verifier info at debug level if no error occurred when loading BTF objects), so bpftool.rst and bpftool-prog.rst are the only man pages to get the update. v3: - Add details on log level and BTF loading at the end of commit log. v2: - Remove the possibility to select the log levels to use (v1 offered a combination of "log_level1", "log_level2" and "stats"). - The macros from kernel header bpf_verifier.h are not used (and therefore not moved to UAPI header). - In v1 this was a distinct option, but is now merged in the only "-d" switch to activate libbpf and verifier debug-level logs all at the same time. Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com> Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
85 lines
2.3 KiB
ReStructuredText
85 lines
2.3 KiB
ReStructuredText
================
|
|
BPFTOOL
|
|
================
|
|
-------------------------------------------------------------------------------
|
|
tool for inspection and simple manipulation of eBPF programs and maps
|
|
-------------------------------------------------------------------------------
|
|
|
|
:Manual section: 8
|
|
|
|
SYNOPSIS
|
|
========
|
|
|
|
**bpftool** [*OPTIONS*] *OBJECT* { *COMMAND* | **help** }
|
|
|
|
**bpftool** **batch file** *FILE*
|
|
|
|
**bpftool** **version**
|
|
|
|
*OBJECT* := { **map** | **program** | **cgroup** | **perf** | **net** | **feature** }
|
|
|
|
*OPTIONS* := { { **-V** | **--version** } | { **-h** | **--help** }
|
|
| { **-j** | **--json** } [{ **-p** | **--pretty** }] }
|
|
|
|
*MAP-COMMANDS* :=
|
|
{ **show** | **list** | **create** | **dump** | **update** | **lookup** | **getnext**
|
|
| **delete** | **pin** | **event_pipe** | **help** }
|
|
|
|
*PROG-COMMANDS* := { **show** | **list** | **dump jited** | **dump xlated** | **pin**
|
|
| **load** | **attach** | **detach** | **help** }
|
|
|
|
*CGROUP-COMMANDS* := { **show** | **list** | **attach** | **detach** | **help** }
|
|
|
|
*PERF-COMMANDS* := { **show** | **list** | **help** }
|
|
|
|
*NET-COMMANDS* := { **show** | **list** | **help** }
|
|
|
|
*FEATURE-COMMANDS* := { **probe** | **help** }
|
|
|
|
DESCRIPTION
|
|
===========
|
|
*bpftool* allows for inspection and simple modification of BPF objects
|
|
on the system.
|
|
|
|
Note that format of the output of all tools is not guaranteed to be
|
|
stable and should not be depended upon.
|
|
|
|
OPTIONS
|
|
=======
|
|
-h, --help
|
|
Print short help message (similar to **bpftool help**).
|
|
|
|
-V, --version
|
|
Print version number (similar to **bpftool version**).
|
|
|
|
-j, --json
|
|
Generate JSON output. For commands that cannot produce JSON, this
|
|
option has no effect.
|
|
|
|
-p, --pretty
|
|
Generate human-readable JSON output. Implies **-j**.
|
|
|
|
-m, --mapcompat
|
|
Allow loading maps with unknown map definitions.
|
|
|
|
-n, --nomount
|
|
Do not automatically attempt to mount any virtual file system
|
|
(such as tracefs or BPF virtual file system) when necessary.
|
|
|
|
-d, --debug
|
|
Print all logs available, even debug-level information. This
|
|
includes logs from libbpf as well as from the verifier, when
|
|
attempting to load programs.
|
|
|
|
SEE ALSO
|
|
========
|
|
**bpf**\ (2),
|
|
**bpf-helpers**\ (7),
|
|
**bpftool-prog**\ (8),
|
|
**bpftool-map**\ (8),
|
|
**bpftool-cgroup**\ (8),
|
|
**bpftool-feature**\ (8),
|
|
**bpftool-net**\ (8),
|
|
**bpftool-perf**\ (8),
|
|
**bpftool-btf**\ (8)
|