brintos

brintos / linux-shallow public Read only

0
0
Text · 3.4 KiB · c7f8378 Raw
84 lines · plain
1.. SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2 3===============4bpftool-feature5===============6-------------------------------------------------------------------------------7tool for inspection of eBPF-related parameters for Linux kernel or net device8-------------------------------------------------------------------------------9 10:Manual section: 811 12.. include:: substitutions.rst13 14SYNOPSIS15========16 17**bpftool** [*OPTIONS*] **feature** *COMMAND*18 19*OPTIONS* := { |COMMON_OPTIONS| }20 21*COMMANDS* := { **probe** | **help** }22 23FEATURE COMMANDS24================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 33DESCRIPTION34===========35bpftool feature probe [kernel] [full] [macros [prefix *PREFIX*]]36    Probe the running kernel and dump a number of eBPF-related parameters, such37    as availability of the **bpf**\ () system call, JIT status, eBPF program38    types availability, eBPF helper functions availability, and more.39 40    By default, bpftool **does not run probes** for **bpf_probe_write_user**\41    () and **bpf_trace_printk**\() helpers which print warnings to kernel logs.42    To enable them and run all probes, the **full** keyword should be used.43 44    If the **macros** keyword (but not the **-j** option) is passed, a subset45    of the output is dumped as a list of **#define** macros that are ready to46    be included in a C header file, for example. If, additionally, **prefix**47    is used to define a *PREFIX*, the provided string will be used as a prefix48    to the names of the macros: this can be used to avoid conflicts on macro49    names when including the output of this command as a header file.50 51    Keyword **kernel** can be omitted. If no probe target is specified, probing52    the kernel is the default behaviour.53 54    When the **unprivileged** keyword is used, bpftool will dump only the55    features available to a user who does not have the **CAP_SYS_ADMIN**56    capability set. The features available in that case usually represent a57    small subset of the parameters supported by the system. Unprivileged users58    MUST use the **unprivileged** keyword: This is to avoid misdetection if59    bpftool is inadvertently run as non-root, for example. This keyword is60    unavailable if bpftool was compiled without libcap.61 62bpftool feature probe dev *NAME* [full] [macros [prefix *PREFIX*]]63    Probe network device for supported eBPF features and dump results to the64    console.65 66    The keywords **full**, **macros** and **prefix** have the same role as when67    probing the kernel.68 69bpftool feature list_builtins *GROUP*70    List items known to bpftool. These can be BPF program types71    (**prog_types**), BPF map types (**map_types**), attach types72    (**attach_types**), link types (**link_types**), or BPF helper functions73    (**helpers**). The command does not probe the system, but simply lists the74    elements that bpftool knows from compilation time, as provided from libbpf75    (for all object types) or from the BPF UAPI header (list of helpers). This76    can be used in scripts to iterate over BPF types or helpers.77 78bpftool feature help79    Print short help message.80 81OPTIONS82=======83.. include:: common_options.rst84