Linux Audio

Check our new training course

Loading...
v6.8
 1.. SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
 2
 3===============
 4bpftool-feature
 5===============
 6-------------------------------------------------------------------------------
 7tool for inspection of eBPF-related parameters for Linux kernel or net device
 8-------------------------------------------------------------------------------
 9
10:Manual section: 8
11
12.. include:: substitutions.rst
13
14SYNOPSIS
15========
16
17	**bpftool** [*OPTIONS*] **feature** *COMMAND*
18
19	*OPTIONS* := { |COMMON_OPTIONS| }
20
21	*COMMANDS* := { **probe** | **help** }
22
23FEATURE COMMANDS
24================
25
26|	**bpftool** **feature probe** [*COMPONENT*] [**full**] [**unprivileged**] [**macros** [**prefix** *PREFIX*]]
27|	**bpftool** **feature list_builtins** *GROUP*
28|	**bpftool** **feature help**
29|
30|	*COMPONENT* := { **kernel** | **dev** *NAME* }
31|	*GROUP* := { **prog_types** | **map_types** | **attach_types** | **link_types** | **helpers** }
32
33DESCRIPTION
34===========
35	**bpftool feature probe** [**kernel**] [**full**] [**macros** [**prefix** *PREFIX*]]
36		  Probe the running kernel and dump a number of eBPF-related
37		  parameters, such as availability of the **bpf**\ () system call,
38		  JIT status, eBPF program types availability, eBPF helper
39		  functions availability, and more.
40
41		  By default, bpftool **does not run probes** for
42		  **bpf_probe_write_user**\ () and **bpf_trace_printk**\()
43		  helpers which print warnings to kernel logs. To enable them
44		  and run all probes, the **full** keyword should be used.
45
46		  If the **macros** keyword (but not the **-j** option) is
47		  passed, a subset of the output is dumped as a list of
48		  **#define** macros that are ready to be included in a C
49		  header file, for example. If, additionally, **prefix** is
50		  used to define a *PREFIX*, the provided string will be used
51		  as a prefix to the names of the macros: this can be used to
52		  avoid conflicts on macro names when including the output of
53		  this command as a header file.
54
55		  Keyword **kernel** can be omitted. If no probe target is
56		  specified, probing the kernel is the default behaviour.
57
58		  When the **unprivileged** keyword is used, bpftool will dump
59		  only the features available to a user who does not have the
60		  **CAP_SYS_ADMIN** capability set. The features available in
61		  that case usually represent a small subset of the parameters
62		  supported by the system. Unprivileged users MUST use the
63		  **unprivileged** keyword: This is to avoid misdetection if
64		  bpftool is inadvertently run as non-root, for example. This
65		  keyword is unavailable if bpftool was compiled without
66		  libcap.
67
68	**bpftool feature probe dev** *NAME* [**full**] [**macros** [**prefix** *PREFIX*]]
69		  Probe network device for supported eBPF features and dump
70		  results to the console.
71
72		  The keywords **full**, **macros** and **prefix** have the
73		  same role as when probing the kernel.
74
75	**bpftool feature list_builtins** *GROUP*
76		  List items known to bpftool. These can be BPF program types
77		  (**prog_types**), BPF map types (**map_types**), attach types
78		  (**attach_types**), link types (**link_types**), or BPF helper
79		  functions (**helpers**). The command does not probe the system, but
80		  simply lists the elements that bpftool knows from compilation time,
81		  as provided from libbpf (for all object types) or from the BPF UAPI
82		  header (list of helpers). This can be used in scripts to iterate over
83		  BPF types or helpers.
84
85	**bpftool feature help**
86		  Print short help message.
87
88OPTIONS
89=======
90	.. include:: common_options.rst
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
v5.4
 
 
 1===============
 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
19FEATURE COMMANDS
20================
21
22|	**bpftool** **feature probe** [*COMPONENT*] [**macros** [**prefix** *PREFIX*]]
 
23|	**bpftool** **feature help**
24|
25|	*COMPONENT* := { **kernel** | **dev** *NAME* }
 
26
27DESCRIPTION
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.
34
 
 
 
 
 
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.
43
44		  Keyword **kernel** can be omitted. If no probe target is
45		  specified, probing the kernel is the default behaviour.
46
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.
 
 
 
 
 
 
50
51	**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
58	**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
76	-d, --debug
77		  Print all logs available from libbpf, including debug-level
78		  information.
79
80SEE ALSO
81========
82	**bpf**\ (2),
83	**bpf-helpers**\ (7),
84	**bpftool**\ (8),
85	**bpftool-prog**\ (8),
86	**bpftool-map**\ (8),
87	**bpftool-cgroup**\ (8),
88	**bpftool-net**\ (8),
89	**bpftool-perf**\ (8),
90	**bpftool-btf**\ (8)