tools: bpftool: For "feature probe" define "full_mode" bool as global
The "full_mode" variable used for switching between full or partial feature probing (i.e. with or without probing helpers that will log warnings in kernel logs) was piped from the main do_probe() function down to probe_helpers_for_progtype(), where it is needed. Define it as a global variable: the calls will be more readable, and if other similar flags were to be used in the future, we could use global variables as well instead of extending again the list of arguments with new flags. Signed-off-by: Quentin Monnet <quentin@isovalent.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: John Fastabend <john.fastabend@gmail.com> Link: https://lore.kernel.org/bpf/20200429144506.8999-2-quentin@isovalent.com
This commit is contained in:
Родитель
fd9c40c575
Коммит
e3450b79df
|
@ -35,6 +35,8 @@ static const char * const helper_name[] = {
|
|||
|
||||
#undef BPF_HELPER_MAKE_ENTRY
|
||||
|
||||
static bool full_mode;
|
||||
|
||||
/* Miscellaneous utility functions */
|
||||
|
||||
static bool check_procfs(void)
|
||||
|
@ -540,8 +542,7 @@ probe_helper_for_progtype(enum bpf_prog_type prog_type, bool supported_type,
|
|||
|
||||
static void
|
||||
probe_helpers_for_progtype(enum bpf_prog_type prog_type, bool supported_type,
|
||||
const char *define_prefix, bool full_mode,
|
||||
__u32 ifindex)
|
||||
const char *define_prefix, __u32 ifindex)
|
||||
{
|
||||
const char *ptype_name = prog_type_name[prog_type];
|
||||
char feat_name[128];
|
||||
|
@ -678,8 +679,7 @@ static void section_map_types(const char *define_prefix, __u32 ifindex)
|
|||
}
|
||||
|
||||
static void
|
||||
section_helpers(bool *supported_types, const char *define_prefix,
|
||||
bool full_mode, __u32 ifindex)
|
||||
section_helpers(bool *supported_types, const char *define_prefix, __u32 ifindex)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
|
@ -704,8 +704,8 @@ section_helpers(bool *supported_types, const char *define_prefix,
|
|||
define_prefix, define_prefix, define_prefix,
|
||||
define_prefix);
|
||||
for (i = BPF_PROG_TYPE_UNSPEC + 1; i < ARRAY_SIZE(prog_type_name); i++)
|
||||
probe_helpers_for_progtype(i, supported_types[i],
|
||||
define_prefix, full_mode, ifindex);
|
||||
probe_helpers_for_progtype(i, supported_types[i], define_prefix,
|
||||
ifindex);
|
||||
|
||||
print_end_section();
|
||||
}
|
||||
|
@ -725,7 +725,6 @@ static int do_probe(int argc, char **argv)
|
|||
enum probe_component target = COMPONENT_UNSPEC;
|
||||
const char *define_prefix = NULL;
|
||||
bool supported_types[128] = {};
|
||||
bool full_mode = false;
|
||||
__u32 ifindex = 0;
|
||||
char *ifname;
|
||||
|
||||
|
@ -803,7 +802,7 @@ static int do_probe(int argc, char **argv)
|
|||
goto exit_close_json;
|
||||
section_program_types(supported_types, define_prefix, ifindex);
|
||||
section_map_types(define_prefix, ifindex);
|
||||
section_helpers(supported_types, define_prefix, full_mode, ifindex);
|
||||
section_helpers(supported_types, define_prefix, ifindex);
|
||||
section_misc(define_prefix, ifindex);
|
||||
|
||||
exit_close_json:
|
||||
|
|
Загрузка…
Ссылка в новой задаче