1 .. SPDX-License-Identifier: (GPL-2.0-only OR B << 2 << 3 =============== 1 =============== 4 bpftool-feature 2 bpftool-feature 5 =============== 3 =============== 6 ---------------------------------------------- 4 ------------------------------------------------------------------------------- 7 tool for inspection of eBPF-related parameters 5 tool for inspection of eBPF-related parameters for Linux kernel or net device 8 ---------------------------------------------- 6 ------------------------------------------------------------------------------- 9 7 10 :Manual section: 8 8 :Manual section: 8 11 9 12 .. include:: substitutions.rst << 13 << 14 SYNOPSIS 10 SYNOPSIS 15 ======== 11 ======== 16 12 17 **bpftool** [*OPTIONS*] **feature** *COMMAND* !! 13 **bpftool** [*OPTIONS*] **feature** *COMMAND* 18 14 19 *OPTIONS* := { |COMMON_OPTIONS| } !! 15 *OPTIONS* := { { **-j** | **--json** } [{ **-p** | **--pretty** }] } 20 16 21 *COMMANDS* := { **probe** | **help** } !! 17 *COMMANDS* := { **probe** | **help** } 22 18 23 FEATURE COMMANDS 19 FEATURE COMMANDS 24 ================ 20 ================ 25 21 26 | **bpftool** **feature probe** [*COMPONENT*] !! 22 | **bpftool** **feature probe** [*COMPONENT*] [**macros** [**prefix** *PREFIX*]] 27 | **bpftool** **feature list_builtins** *GROUP !! 23 | **bpftool** **feature help** 28 | **bpftool** **feature help** << 29 | 24 | 30 | *COMPONENT* := { **kernel** | **dev** *NAME* !! 25 | *COMPONENT* := { **kernel** | **dev** *NAME* } 31 | *GROUP* := { **prog_types** | **map_types** << 32 26 33 DESCRIPTION 27 DESCRIPTION 34 =========== 28 =========== 35 bpftool feature probe [kernel] [full] [macros !! 29 **bpftool feature probe** [**kernel**] [**macros** [**prefix** *PREFIX*]] 36 Probe the running kernel and dump a number !! 30 Probe the running kernel and dump a number of eBPF-related 37 as availability of the **bpf**\ () system !! 31 parameters, such as availability of the **bpf()** system call, 38 types availability, eBPF helper functions !! 32 JIT status, eBPF program types availability, eBPF helper 39 !! 33 functions availability, and more. 40 By default, bpftool **does not run probes* !! 34 41 () and **bpf_trace_printk**\() helpers whi !! 35 If the **macros** keyword (but not the **-j** option) is 42 To enable them and run all probes, the **f !! 36 passed, a subset of the output is dumped as a list of 43 !! 37 **#define** macros that are ready to be included in a C 44 If the **macros** keyword (but not the **- !! 38 header file, for example. If, additionally, **prefix** is 45 of the output is dumped as a list of **#de !! 39 used to define a *PREFIX*, the provided string will be used 46 be included in a C header file, for exampl !! 40 as a prefix to the names of the macros: this can be used to 47 is used to define a *PREFIX*, the provided !! 41 avoid conflicts on macro names when including the output of 48 to the names of the macros: this can be us !! 42 this command as a header file. 49 names when including the output of this co !! 43 50 !! 44 Keyword **kernel** can be omitted. If no probe target is 51 Keyword **kernel** can be omitted. If no p !! 45 specified, probing the kernel is the default behaviour. 52 the kernel is the default behaviour. !! 46 53 !! 47 Note that when probed, some eBPF helpers (e.g. 54 When the **unprivileged** keyword is used, !! 48 **bpf_trace_printk**\ () or **bpf_probe_write_user**\ ()) may 55 features available to a user who does not !! 49 print warnings to kernel logs. 56 capability set. The features available in !! 50 57 small subset of the parameters supported b !! 51 **bpftool feature probe dev** *NAME* [**macros** [**prefix** *PREFIX*]] 58 MUST use the **unprivileged** keyword: Thi !! 52 Probe network device for supported eBPF features and dump 59 bpftool is inadvertently run as non-root, !! 53 results to the console. 60 unavailable if bpftool was compiled withou !! 54 61 !! 55 The two keywords **macros** and **prefix** have the same 62 bpftool feature probe dev *NAME* [full] [macro !! 56 role as when probing the kernel. 63 Probe network device for supported eBPF fe << 64 console. << 65 << 66 The keywords **full**, **macros** and **pr << 67 probing the kernel. << 68 << 69 bpftool feature list_builtins *GROUP* << 70 List items known to bpftool. These can be << 71 (**prog_types**), BPF map types (**map_typ << 72 (**attach_types**), link types (**link_typ << 73 (**helpers**). The command does not probe << 74 elements that bpftool knows from compilati << 75 (for all object types) or from the BPF UAP << 76 can be used in scripts to iterate over BPF << 77 57 78 bpftool feature help !! 58 **bpftool feature help** 79 Print short help message. !! 59 Print short help message. 80 60 81 OPTIONS 61 OPTIONS 82 ======= 62 ======= 83 .. include:: common_options.rst !! 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 >> 80 SEE 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)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.