Provided by: linux-tools-common_6.5.0-44.44_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)