Provided by: linux-tools-common_6.8.0-64.67_all bug

NAME

       bpftool-feature - tool for inspection of eBPF-related parameters for Linux kernel or net device

SYNOPSIS

          bpftool [OPTIONS] feature COMMAND

          OPTIONS := { { -j | --json } [{ -p | --pretty }] | { -d | --debug } }

          COMMANDS := { probe | help }

FEATURE COMMANDS

       bpftool feature probe [COMPONENT] [full] [unprivileged] [macros [prefix PREFIX]]
       bpftool feature list_builtins GROUP
       bpftool feature help

       COMPONENT := { kernel | dev NAME }
       GROUP := { prog_types | map_types | attach_types | link_types | helpers }

DESCRIPTION

          bpftool feature probe [kernel] [full] [macros [prefix PREFIX]]
                 Probe  the running kernel and dump a number of eBPF-related parameters, such as availability of
                 the bpf() system call, JIT status, eBPF  program  types  availability,  eBPF  helper  functions
                 availability, and more.

                 By  default,  bpftool  does  not  run  probes for bpf_probe_write_user() and bpf_trace_printk()
                 helpers which print warnings to kernel logs. To enable  them  and  run  all  probes,  the  full
                 keyword should be used.

                 If  the macros keyword (but not the -j option) is passed, a subset of the output is dumped as a
                 list of #define macros that are ready to be included in a  C  header  file,  for  example.  If,
                 additionally,  prefix  is used to define a PREFIX, the provided string will be used as a prefix
                 to the names of the macros: this can be used to avoid conflicts on macro names  when  including
                 the output of this command as a header file.

                 Keyword  kernel  can  be  omitted.  If  no probe target is specified, probing the kernel is the
                 default behaviour.

                 When the unprivileged keyword is used, bpftool will dump only the features available to a  user
                 who does not have the CAP_SYS_ADMIN capability set. The features available in that case usually
                 represent a small subset of the parameters supported by the system. Unprivileged users MUST use
                 the  unprivileged  keyword:  This  is  to avoid misdetection if bpftool is inadvertently run as
                 non-root, for example. This keyword is unavailable if bpftool was compiled without libcap.

          bpftool feature probe dev NAME [full] [macros [prefix PREFIX]]
                 Probe network device for supported eBPF features and dump results to the console.

                 The keywords full, macros and prefix have the same role as when probing the kernel.

          bpftool feature list_builtins GROUP
                 List items known to bpftool. These can  be  BPF  program  types  (prog_types),  BPF  map  types
                 (map_types),  attach  types  (attach_types),  link  types (link_types), or BPF helper functions
                 (helpers). The command does not probe the system, but simply lists the  elements  that  bpftool
                 knows  from  compilation  time,  as provided from libbpf (for all object types) or from the BPF
                 UAPI header (list of helpers). This can be used  in  scripts  to  iterate  over  BPF  types  or
                 helpers.

          bpftool feature help
                 Print short help message.

OPTIONS

          -h, --help
                 Print short help message (similar to bpftool help).

          -V, --version
                 Print  bpftool's  version number (similar to bpftool version), the number of the libbpf version
                 in use, and optional features that were included when bpftool was compiled.  Optional  features
                 include  linking  against  LLVM  or  libbfd  to  provide  the disassembler for JIT-ted programs
                 (bpftool prog dump jited) and usage of BPF skeletons (some features like bpftool  prog  profile
                 or showing pids associated to BPF objects may rely on it).

          -j, --json
                 Generate JSON output. For commands that cannot produce JSON, this option has no effect.

          -p, --pretty
                 Generate human-readable JSON output. Implies -j.

          -d, --debug
                 Print  all logs available, even debug-level information. This includes logs from libbpf as well
                 as from the verifier, when attempting to load programs.

SEE ALSO

          bpf(2),    bpf-helpers(7),    bpftool(8),    bpftool-btf(8),    bpftool-cgroup(8),     bpftool-gen(8),
          bpftool-iter(8),  bpftool-link(8),  bpftool-map(8),  bpftool-net(8), bpftool-perf(8), bpftool-prog(8),
          bpftool-struct_ops(8)

                                                                                              BPFTOOL-FEATURE(8)