diff options
author | Quentin Monnet <quentin.monnet@netronome.com> | 2019-01-17 16:27:53 +0100 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2019-01-23 07:15:40 +0100 |
commit | 1bf4b05810fe38c5f09973295e8d4234a4fd5d87 (patch) | |
tree | 37f5034cdadf718e85747da1997a95393e27f890 /tools/bpf/bpftool/map.c | |
parent | tools: bpftool: add probes for kernel configuration options (diff) | |
download | linux-1bf4b05810fe38c5f09973295e8d4234a4fd5d87.tar.xz linux-1bf4b05810fe38c5f09973295e8d4234a4fd5d87.zip |
tools: bpftool: add probes for eBPF program types
Introduce probes for supported BPF program types in libbpf, and call it
from bpftool to test what types are available on the system. The probe
simply consists in loading a very basic program of that type and see if
the verifier complains or not.
Sample output:
# bpftool feature probe kernel
...
Scanning eBPF program types...
eBPF program_type socket_filter is available
eBPF program_type kprobe is available
eBPF program_type sched_cls is available
...
# bpftool --json --pretty feature probe kernel
{
...
"program_types": {
"have_socket_filter_prog_type": true,
"have_kprobe_prog_type": true,
"have_sched_cls_prog_type": true,
...
}
}
v5:
- In libbpf.map, move global symbol to a new LIBBPF_0.0.2 section.
- Rename (non-API function) prog_load() as probe_load().
v3:
- Get kernel version for checking kprobes availability from libbpf
instead of from bpftool. Do not pass kernel_version as an argument
when calling libbpf probes.
- Use a switch with all enum values for setting specific program
parameters just before probing, so that gcc complains at compile time
(-Wswitch-enum) if new prog types were added to the kernel but libbpf
was not updated.
- Add a comment in libbpf.h about setrlimit() usage to allow many
consecutive probe attempts.
v2:
- Move probes from bpftool to libbpf.
- Remove C-style macros output from this patch.
Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com>
Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/bpf/bpftool/map.c')
0 files changed, 0 insertions, 0 deletions