Skip to content

Commit

Permalink
bpftool: Rename "bpftool feature list" into "... feature list_builtins"
Browse files Browse the repository at this point in the history
To make it more explicit that the features listed with "bpftool feature
list" are known to bpftool, but not necessary available on the system
(as opposed to the probed features), rename the "feature list" command
into "feature list_builtins".

Note that "bpftool feature list" still works as before given that we
recognise arguments from their prefixes; but the real name of the
subcommand, in particular as displayed in the man page or the
interactive help, will now include "_builtins".

Since we update the bash completion accordingly, let's also take this
chance to redirect error output to /dev/null in the completion script,
to avoid displaying unexpected error messages when users attempt to
tab-complete.

Suggested-by: Daniel Borkmann <[email protected]>
Signed-off-by: Quentin Monnet <[email protected]>
Signed-off-by: Daniel Borkmann <[email protected]>
Acked-by: Yonghong Song <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
  • Loading branch information
qmonnet authored and borkmann committed Jul 5, 2022
1 parent 2064a13 commit 990a619
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 11 deletions.
4 changes: 2 additions & 2 deletions tools/bpf/bpftool/Documentation/bpftool-feature.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ FEATURE COMMANDS
================

| **bpftool** **feature probe** [*COMPONENT*] [**full**] [**unprivileged**] [**macros** [**prefix** *PREFIX*]]
| **bpftool** **feature list** *GROUP*
| **bpftool** **feature list_builtins** *GROUP*
| **bpftool** **feature help**
|
| *COMPONENT* := { **kernel** | **dev** *NAME* }
Expand Down Expand Up @@ -72,7 +72,7 @@ DESCRIPTION
The keywords **full**, **macros** and **prefix** have the
same role as when probing the kernel.

**bpftool feature list** *GROUP*
**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
Expand Down
8 changes: 4 additions & 4 deletions tools/bpf/bpftool/bash-completion/bpftool
Original file line number Diff line number Diff line change
Expand Up @@ -703,7 +703,7 @@ _bpftool()
return 0
;;
type)
local BPFTOOL_MAP_CREATE_TYPES="$(bpftool feature list map_types | \
local BPFTOOL_MAP_CREATE_TYPES="$(bpftool feature list_builtins map_types 2>/dev/null | \
grep -v '^unspec$')"
COMPREPLY=( $( compgen -W "$BPFTOOL_MAP_CREATE_TYPES" -- "$cur" ) )
return 0
Expand Down Expand Up @@ -1032,7 +1032,7 @@ _bpftool()
return 0
;;
attach|detach)
local BPFTOOL_CGROUP_ATTACH_TYPES="$(bpftool feature list attach_types | \
local BPFTOOL_CGROUP_ATTACH_TYPES="$(bpftool feature list_builtins attach_types 2>/dev/null | \
grep '^cgroup_')"
local ATTACH_FLAGS='multi override'
local PROG_TYPE='id pinned tag name'
Expand Down Expand Up @@ -1162,14 +1162,14 @@ _bpftool()
_bpftool_once_attr 'full unprivileged'
return 0
;;
list)
list_builtins)
[[ $prev != "$command" ]] && return 0
COMPREPLY=( $( compgen -W 'prog_types map_types \
attach_types link_types helpers' -- "$cur" ) )
;;
*)
[[ $prev == $object ]] && \
COMPREPLY=( $( compgen -W 'help list probe' -- "$cur" ) )
COMPREPLY=( $( compgen -W 'help list_builtins probe' -- "$cur" ) )
;;
esac
;;
Expand Down
10 changes: 5 additions & 5 deletions tools/bpf/bpftool/feature.c
Original file line number Diff line number Diff line change
Expand Up @@ -1266,7 +1266,7 @@ static const char *get_helper_name(unsigned int id)
return helper_name[id];
}

static int do_list(int argc, char **argv)
static int do_list_builtins(int argc, char **argv)
{
const char *(*get_name)(unsigned int id);
unsigned int id = 0;
Expand Down Expand Up @@ -1319,7 +1319,7 @@ static int do_help(int argc, char **argv)

fprintf(stderr,
"Usage: %1$s %2$s probe [COMPONENT] [full] [unprivileged] [macros [prefix PREFIX]]\n"
" %1$s %2$s list GROUP\n"
" %1$s %2$s list_builtins GROUP\n"
" %1$s %2$s help\n"
"\n"
" COMPONENT := { kernel | dev NAME }\n"
Expand All @@ -1332,9 +1332,9 @@ static int do_help(int argc, char **argv)
}

static const struct cmd cmds[] = {
{ "probe", do_probe },
{ "list", do_list },
{ "help", do_help },
{ "probe", do_probe },
{ "list_builtins", do_list_builtins },
{ "help", do_help },
{ 0 }
};

Expand Down

0 comments on commit 990a619

Please sign in to comment.