blob: 6e65d122cb51955f36f86bbdf879e5293fd3f106 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
#compdef brctl
local curcontext="$curcontext" expl ret=1
local subcmd
if (( CURRENT == 2 )); then
_describe 'brctl command' '(
addbr:create\ instance\ of\ ethernet\ bridge
delbr:deletes\ specified\ bridge\ instance
show:show\ all\ current\ bridge\ instances
addif:add\ interface\ to\ bridge
delif:remove\ interface\ from\ bridge
hairpin:toggle\ hairpin\ mode\ on\ a\ port
showmacs:show\ a\ list\ of\ learned\ MAC\ addresses
setageing:set\ MAC\ address\ ageing\ time
setgcint:set\ grabage\ collection\ interval
stp:control\ use\ of\ spanning\ tree\ protocol
showstp:show\ bridge\ stp\ info
setbridgeprio:set\ bridge\ priority
setfd:set\ bridge\ forward\ delay
sethello:set\ bridge\ hello\ time
setmaxage:set\ maximum\ message\ age
setpathcost:set\ cost\ of\ port
setportprio:set\ priority\ of\ port
)' && ret=0
else
shift words
(( CURRENT-- ))
subcmd="$words[1]"
curcontext="${curcontext%:*}-${subcmd}:"
if (( CURRENT == 2 )); then
_wanted bridges expl 'bridge' compadd \
${${(f)"$(brctl show 2>/dev/null)"}[2,-1]%% *} && ret=0
elif (( CURRENT == 3 )); then
case $subcmd in
addif|delif)
_net_interfaces && ret=0
;;
setageing|setgcint|setfd|sethello|setmaxage)
_message -e time 'time (seconds)'
;;
setbridgeprio)
_message -e priority 'priority'
;;
setpathcost|setportprio|hairpin)
_message -e ports 'port'
;;
stp)
_wanted states expl 'state' compadd on off && ret=0
;;
*)
_message 'unknown subcommand: $subcmd'
;;
esac
elif (( CURRENT == 4 )); then
if [[ $subcmd == setpathcost ]]; then
_message -e cost 'cost'
elif [[ $subcmd == setportprio ]]; then
_message -e priority 'priority'
elif [[ $subcmd == hairpin ]]; then
_message -e onoff 'on|off'
fi
fi
fi
return ret
|