=============== bpftool-feature


:Manual section: 8

SYNOPSIS

**bpftool** [*OPTIONS*] **feature** *COMMAND*

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

*COMMANDS* := { **probe** | **help** }

FEATURE COMMANDS

| bpftool feature probe [COMPONENT] [full] [unprivileged] [macros [prefix PREFIX]] | bpftool feature help | | COMPONENT := { kernel | dev NAME }

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 help**
	  Print short help message.

OPTIONS

.. include:: common_options.rst