blob: 82de03dd8f5204440cce0c4936236d9521cae8c8 [file] [log] [blame]
Quentin Monnet49eb7ab2019-01-17 15:27:50 +00001===============
2bpftool-feature
3===============
4-------------------------------------------------------------------------------
5tool for inspection of eBPF-related parameters for Linux kernel or net device
6-------------------------------------------------------------------------------
7
8:Manual section: 8
9
10SYNOPSIS
11========
12
13 **bpftool** [*OPTIONS*] **feature** *COMMAND*
14
15 *OPTIONS* := { { **-j** | **--json** } [{ **-p** | **--pretty** }] }
16
17 *COMMANDS* := { **probe** | **help** }
18
Prashant Bholea5f2d082019-02-06 10:47:23 +090019FEATURE COMMANDS
20================
Quentin Monnet49eb7ab2019-01-17 15:27:50 +000021
Quentin Monnetf9499fe2019-01-17 15:27:57 +000022| **bpftool** **feature probe** [*COMPONENT*] [**macros** [**prefix** *PREFIX*]]
Quentin Monnet49eb7ab2019-01-17 15:27:50 +000023| **bpftool** **feature help**
Quentin Monnetf9499fe2019-01-17 15:27:57 +000024|
25| *COMPONENT* := { **kernel** | **dev** *NAME* }
Quentin Monnet49eb7ab2019-01-17 15:27:50 +000026
27DESCRIPTION
28===========
Quentin Monnetd267cff2019-01-17 15:27:56 +000029 **bpftool feature probe** [**kernel**] [**macros** [**prefix** *PREFIX*]]
Quentin Monnet49eb7ab2019-01-17 15:27:50 +000030 Probe the running kernel and dump a number of eBPF-related
Quentin Monnetf9499fe2019-01-17 15:27:57 +000031 parameters, such as availability of the **bpf()** system call,
32 JIT status, eBPF program types availability, eBPF helper
33 functions availability, and more.
Quentin Monnet49eb7ab2019-01-17 15:27:50 +000034
Quentin Monnetd267cff2019-01-17 15:27:56 +000035 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.
43
Quentin Monnetf9499fe2019-01-17 15:27:57 +000044 Keyword **kernel** can be omitted. If no probe target is
45 specified, probing the kernel is the default behaviour.
Quentin Monnet49eb7ab2019-01-17 15:27:50 +000046
Quentin Monnet2d3ea5e2019-01-17 15:27:55 +000047 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.
50
Quentin Monnetf9499fe2019-01-17 15:27:57 +000051 **bpftool feature probe dev** *NAME* [**macros** [**prefix** *PREFIX*]]
52 Probe network device for supported eBPF features and dump
53 results to the console.
54
55 The two keywords **macros** and **prefix** have the same
56 role as when probing the kernel.
57
Quentin Monnet49eb7ab2019-01-17 15:27:50 +000058 **bpftool feature help**
59 Print short help message.
60
61OPTIONS
62=======
63 -h, --help
64 Print short generic help message (similar to **bpftool help**).
65
66 -v, --version
67 Print version number (similar to **bpftool version**).
68
69 -j, --json
70 Generate JSON output. For commands that cannot produce JSON, this
71 option has no effect.
72
73 -p, --pretty
74 Generate human-readable JSON output. Implies **-j**.
75
76SEE 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)