Linux 5.1.15
[linux/fpc-iii.git] / tools / bpf / bpftool / Documentation / bpftool-feature.rst
blob82de03dd8f5204440cce0c4936236d9521cae8c8
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*] [**macros** [**prefix** *PREFIX*]]
23 |       **bpftool** **feature help**
25 |       *COMPONENT* := { **kernel** | **dev** *NAME* }
27 DESCRIPTION
28 ===========
29         **bpftool feature probe** [**kernel**] [**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                   If the **macros** keyword (but not the **-j** option) is
36                   passed, a subset of the output is dumped as a list of
37                   **#define** macros that are ready to be included in a C
38                   header file, for example. If, additionally, **prefix** is
39                   used to define a *PREFIX*, the provided string will be used
40                   as a prefix to the names of the macros: this can be used to
41                   avoid conflicts on macro names when including the output of
42                   this command as a header file.
44                   Keyword **kernel** can be omitted. If no probe target is
45                   specified, probing the kernel is the default behaviour.
47                   Note that when probed, some eBPF helpers (e.g.
48                   **bpf_trace_printk**\ () or **bpf_probe_write_user**\ ()) may
49                   print warnings to kernel logs.
51         **bpftool feature probe dev** *NAME* [**macros** [**prefix** *PREFIX*]]
52                   Probe network device for supported eBPF features and dump
53                   results to the console.
55                   The two keywords **macros** and **prefix** have the same
56                   role as when probing the kernel.
58         **bpftool feature help**
59                   Print short help message.
61 OPTIONS
62 =======
63         -h, --help
64                   Print short generic help message (similar to **bpftool help**).
66         -v, --version
67                   Print version number (similar to **bpftool version**).
69         -j, --json
70                   Generate JSON output. For commands that cannot produce JSON, this
71                   option has no effect.
73         -p, --pretty
74                   Generate human-readable JSON output. Implies **-j**.
76 SEE ALSO
77 ========
78         **bpf**\ (2),
79         **bpf-helpers**\ (7),
80         **bpftool**\ (8),
81         **bpftool-prog**\ (8),
82         **bpftool-map**\ (8),
83         **bpftool-cgroup**\ (8),
84         **bpftool-net**\ (8),
85         **bpftool-perf**\ (8)