mirror of
https://github.com/torvalds/linux.git
synced 2025-11-03 10:10:33 +02:00
bpftool: Add misc section and probe for large INSN limit
Introduce a new probe section (misc) for probes not related to concrete
map types, program types, functions or kernel configuration. Introduce a
probe for large INSN limit as the first one in that section.
Example outputs:
# bpftool feature probe
[...]
Scanning miscellaneous eBPF features...
Large program size limit is available
# bpftool feature probe macros
[...]
/*** eBPF misc features ***/
#define HAVE_HAVE_LARGE_INSN_LIMIT
# bpftool feature probe -j | jq '.["misc"]'
{
"have_large_insn_limit": true
}
Signed-off-by: Michal Rostecki <mrostecki@opensuse.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
Link: https://lore.kernel.org/bpf/20200108162428.25014-3-mrostecki@opensuse.org
This commit is contained in:
parent
5ff0512003
commit
2faef64aa6
1 changed files with 18 additions and 0 deletions
|
|
@ -572,6 +572,18 @@ probe_helpers_for_progtype(enum bpf_prog_type prog_type, bool supported_type,
|
|||
printf("\n");
|
||||
}
|
||||
|
||||
static void
|
||||
probe_large_insn_limit(const char *define_prefix, __u32 ifindex)
|
||||
{
|
||||
bool res;
|
||||
|
||||
res = bpf_probe_large_insn_limit(ifindex);
|
||||
print_bool_feature("have_large_insn_limit",
|
||||
"Large program size limit",
|
||||
"HAVE_LARGE_INSN_LIMIT",
|
||||
res, define_prefix);
|
||||
}
|
||||
|
||||
static int do_probe(int argc, char **argv)
|
||||
{
|
||||
enum probe_component target = COMPONENT_UNSPEC;
|
||||
|
|
@ -724,6 +736,12 @@ static int do_probe(int argc, char **argv)
|
|||
probe_helpers_for_progtype(i, supported_types[i],
|
||||
define_prefix, ifindex);
|
||||
|
||||
print_end_then_start_section("misc",
|
||||
"Scanning miscellaneous eBPF features...",
|
||||
"/*** eBPF misc features ***/",
|
||||
define_prefix);
|
||||
probe_large_insn_limit(define_prefix, ifindex);
|
||||
|
||||
exit_close_json:
|
||||
if (json_output) {
|
||||
/* End current "section" of probes */
|
||||
|
|
|
|||
Loading…
Reference in a new issue