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 help** 28| 29| *COMPONENT* := { **kernel** | **dev** *NAME* } 30 31DESCRIPTION 32=========== 33 **bpftool feature probe** [**kernel**] [**full**] [**macros** [**prefix** *PREFIX*]] 34 Probe the running kernel and dump a number of eBPF-related 35 parameters, such as availability of the **bpf**\ () system call, 36 JIT status, eBPF program types availability, eBPF helper 37 functions availability, and more. 38 39 By default, bpftool **does not run probes** for 40 **bpf_probe_write_user**\ () and **bpf_trace_printk**\() 41 helpers which print warnings to kernel logs. To enable them 42 and run all probes, the **full** keyword should be used. 43 44 If the **macros** keyword (but not the **-j** option) is 45 passed, a subset of the output is dumped as a list of 46 **#define** macros that are ready to be included in a C 47 header file, for example. If, additionally, **prefix** is 48 used to define a *PREFIX*, the provided string will be used 49 as a prefix to the names of the macros: this can be used to 50 avoid conflicts on macro names when including the output of 51 this command as a header file. 52 53 Keyword **kernel** can be omitted. If no probe target is 54 specified, probing the kernel is the default behaviour. 55 56 When the **unprivileged** keyword is used, bpftool will dump 57 only the features available to a user who does not have the 58 **CAP_SYS_ADMIN** capability set. The features available in 59 that case usually represent a small subset of the parameters 60 supported by the system. Unprivileged users MUST use the 61 **unprivileged** keyword: This is to avoid misdetection if 62 bpftool is inadvertently run as non-root, for example. This 63 keyword is unavailable if bpftool was compiled without 64 libcap. 65 66 **bpftool feature probe dev** *NAME* [**full**] [**macros** [**prefix** *PREFIX*]] 67 Probe network device for supported eBPF features and dump 68 results to the console. 69 70 The keywords **full**, **macros** and **prefix** have the 71 same role as when probing the kernel. 72 73 **bpftool feature help** 74 Print short help message. 75 76OPTIONS 77======= 78 .. include:: common_options.rst 79