summaryrefslogtreecommitdiff
path: root/contrib/brctl
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/brctl')
-rw-r--r--contrib/brctl44
1 files changed, 44 insertions, 0 deletions
diff --git a/contrib/brctl b/contrib/brctl
new file mode 100644
index 00000000..1ecdc127
--- /dev/null
+++ b/contrib/brctl
@@ -0,0 +1,44 @@
+# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
+# ex: ts=8 sw=8 noet filetype=sh
+#
+# bash completion for brctl
+
+have brctl &&
+_brctl()
+{
+ local cur command
+
+ COMPREPLY=()
+ cur=`_get_cword`
+ command=${COMP_WORDS[1]}
+
+ case $COMP_CWORD in
+ 1)
+ COMPREPLY=( $( compgen -W "addbr delbr addif delif \
+ setageing setbridgeprio setfd sethello \
+ setmaxage setpathcost setportprio show \
+ showmacs showstp stp" -- $cur ) )
+ ;;
+ 2)
+ case $command in
+ show)
+ ;;
+ *)
+ COMPREPLY=( $( compgen -W "$(brctl \
+ show | sed '1d' | \
+ awk '{print $1}' )" -- $cur ) )
+ esac
+ ;;
+ 3)
+ case $command in
+ @(add|del)if)
+ _configured_interfaces
+ ;;
+ stp)
+ COMPREPLY=( $( compgen -W 'on off' -- $cur ) )
+ ;;
+ esac
+ ;;
+ esac
+} &&
+complete -F _brctl $default brctl