Commit 10a708c2 authored by Daniel T. Lee's avatar Daniel T. Lee Committed by Alexei Starovoitov

tools: bpftool: add bash-completion for net attach/detach

This commit adds bash-completion for new "net attach/detach"
subcommand for attaching XDP program on interface.
Signed-off-by: default avatarDaniel T. Lee <danieltimlee@gmail.com>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent 37c7f863
...@@ -201,6 +201,10 @@ _bpftool() ...@@ -201,6 +201,10 @@ _bpftool()
_bpftool_get_prog_tags _bpftool_get_prog_tags
return 0 return 0
;; ;;
dev)
_sysfs_get_netdevs
return 0
;;
file|pinned) file|pinned)
_filedir _filedir
return 0 return 0
...@@ -399,10 +403,6 @@ _bpftool() ...@@ -399,10 +403,6 @@ _bpftool()
_filedir _filedir
return 0 return 0
;; ;;
dev)
_sysfs_get_netdevs
return 0
;;
*) *)
COMPREPLY=( $( compgen -W "map" -- "$cur" ) ) COMPREPLY=( $( compgen -W "map" -- "$cur" ) )
_bpftool_once_attr 'type' _bpftool_once_attr 'type'
...@@ -498,10 +498,6 @@ _bpftool() ...@@ -498,10 +498,6 @@ _bpftool()
key|value|flags|name|entries) key|value|flags|name|entries)
return 0 return 0
;; ;;
dev)
_sysfs_get_netdevs
return 0
;;
*) *)
_bpftool_once_attr 'type' _bpftool_once_attr 'type'
_bpftool_once_attr 'key' _bpftool_once_attr 'key'
...@@ -778,18 +774,67 @@ _bpftool() ...@@ -778,18 +774,67 @@ _bpftool()
esac esac
;; ;;
net) net)
local PROG_TYPE='id pinned tag'
local ATTACH_TYPES='xdp xdpgeneric xdpdrv xdpoffload'
case $command in case $command in
show|list)
[[ $prev != "$command" ]] && return 0
COMPREPLY=( $( compgen -W 'dev' -- "$cur" ) )
return 0
;;
attach)
case $cword in
3)
COMPREPLY=( $( compgen -W "$ATTACH_TYPES" -- "$cur" ) )
return 0
;;
4)
COMPREPLY=( $( compgen -W "$PROG_TYPE" -- "$cur" ) )
return 0
;;
5)
case $prev in
id)
_bpftool_get_prog_ids
;;
pinned)
_filedir
;;
esac
return 0
;;
6)
COMPREPLY=( $( compgen -W 'dev' -- "$cur" ) )
return 0
;;
8)
_bpftool_once_attr 'overwrite'
return 0
;;
esac
;;
detach)
case $cword in
3)
COMPREPLY=( $( compgen -W "$ATTACH_TYPES" -- "$cur" ) )
return 0
;;
4)
COMPREPLY=( $( compgen -W 'dev' -- "$cur" ) )
return 0
;;
esac
;;
*) *)
[[ $prev == $object ]] && \ [[ $prev == $object ]] && \
COMPREPLY=( $( compgen -W 'help \ COMPREPLY=( $( compgen -W 'help \
show list' -- "$cur" ) ) show list attach detach' -- "$cur" ) )
;; ;;
esac esac
;; ;;
feature) feature)
case $command in case $command in
probe) probe)
[[ $prev == "dev" ]] && _sysfs_get_netdevs && return 0
[[ $prev == "prefix" ]] && return 0 [[ $prev == "prefix" ]] && return 0
if _bpftool_search_list 'macros'; then if _bpftool_search_list 'macros'; then
COMPREPLY+=( $( compgen -W 'prefix' -- "$cur" ) ) COMPREPLY+=( $( compgen -W 'prefix' -- "$cur" ) )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment