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