Merge tag 'x86-urgent-2020-08-15' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux/fpc-iii.git] / tools / bpf / bpftool / Documentation / bpftool-feature.rst
blob8609f06e71de036d94bc2c6242f7dd1f0dc29c39
1 ===============
2 bpftool-feature
3 ===============
4 -------------------------------------------------------------------------------
5 tool for inspection of eBPF-related parameters for Linux kernel or net device
6 -------------------------------------------------------------------------------
8 :Manual section: 8
10 SYNOPSIS
11 ========
13         **bpftool** [*OPTIONS*] **feature** *COMMAND*
15         *OPTIONS* := { { **-j** | **--json** } [{ **-p** | **--pretty** }] }
17         *COMMANDS* := { **probe** | **help** }
19 FEATURE COMMANDS
20 ================
22 |       **bpftool** **feature probe** [*COMPONENT*] [**full**] [**unprivileged**] [**macros** [**prefix** *PREFIX*]]
23 |       **bpftool** **feature help**
25 |       *COMPONENT* := { **kernel** | **dev** *NAME* }
27 DESCRIPTION
28 ===========
29         **bpftool feature probe** [**kernel**] [**full**] [**macros** [**prefix** *PREFIX*]]
30                   Probe the running kernel and dump a number of eBPF-related
31                   parameters, such as availability of the **bpf**\ () system call,
32                   JIT status, eBPF program types availability, eBPF helper
33                   functions availability, and more.
35                   By default, bpftool **does not run probes** for
36                   **bpf_probe_write_user**\ () and **bpf_trace_printk**\()
37                   helpers which print warnings to kernel logs. To enable them
38                   and run all probes, the **full** keyword should be used.
40                   If the **macros** keyword (but not the **-j** option) is
41                   passed, a subset of the output is dumped as a list of
42                   **#define** macros that are ready to be included in a C
43                   header file, for example. If, additionally, **prefix** is
44                   used to define a *PREFIX*, the provided string will be used
45                   as a prefix to the names of the macros: this can be used to
46                   avoid conflicts on macro names when including the output of
47                   this command as a header file.
49                   Keyword **kernel** can be omitted. If no probe target is
50                   specified, probing the kernel is the default behaviour.
52                   When the **unprivileged** keyword is used, bpftool will dump
53                   only the features available to a user who does not have the
54                   **CAP_SYS_ADMIN** capability set. The features available in
55                   that case usually represent a small subset of the parameters
56                   supported by the system. Unprivileged users MUST use the
57                   **unprivileged** keyword: This is to avoid misdetection if
58                   bpftool is inadvertently run as non-root, for example. This
59                   keyword is unavailable if bpftool was compiled without
60                   libcap.
62         **bpftool feature probe dev** *NAME* [**full**] [**macros** [**prefix** *PREFIX*]]
63                   Probe network device for supported eBPF features and dump
64                   results to the console.
66                   The keywords **full**, **macros** and **prefix** have the
67                   same role as when probing the kernel.
69         **bpftool feature help**
70                   Print short help message.
72 OPTIONS
73 =======
74         -h, --help
75                   Print short generic help message (similar to **bpftool help**).
77         -V, --version
78                   Print version number (similar to **bpftool version**).
80         -j, --json
81                   Generate JSON output. For commands that cannot produce JSON, this
82                   option has no effect.
84         -p, --pretty
85                   Generate human-readable JSON output. Implies **-j**.
87         -d, --debug
88                   Print all logs available from libbpf, including debug-level
89                   information.
91 SEE ALSO
92 ========
93         **bpf**\ (2),
94         **bpf-helpers**\ (7),
95         **bpftool**\ (8),
96         **bpftool-btf**\ (8),
97         **bpftool-cgroup**\ (8),
98         **bpftool-gen**\ (8),
99         **bpftool-iter**\ (8),
100         **bpftool-link**\ (8),
101         **bpftool-map**\ (8),
102         **bpftool-net**\ (8),
103         **bpftool-perf**\ (8),
104         **bpftool-prog**\ (8),
105         **bpftool-struct_ops**\ (8)