author | Danek Duvall <danek.duvall@oracle.com> |
Wed, 20 Jul 2011 16:57:37 -0700 | |
changeset 429 | 02007d525e89 |
parent 93 | b579c7b1bb44 |
child 904 | 114a5240af22 |
permissions | -rw-r--r-- |
93
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1 |
#compdef flowadm |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
93
diff
changeset
|
2 |
# Synced with the Nevada build 171 man page |
93
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
3 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
4 |
_flowadm() { |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
5 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
6 |
local -a subcmds tr props |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
7 |
local expl |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
8 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
9 |
_flowadm_flow(){ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
10 |
compadd "$@" - $(flowadm show-flow -p -o flow) |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
11 |
} |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
12 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
13 |
_flowadm_flow_int(){ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
14 |
compadd "$@" - $(flowadm show-flow -p -o flow) |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
15 |
compadd "$@" - $(dladm show-phys -p -o device) |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
16 |
} |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
17 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
18 |
subcmds=( |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
19 |
"show-flow" |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
20 |
"add-flow" |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
21 |
"remove-flow" |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
22 |
"set-flowprop" |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
23 |
"reset-flowprop" |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
24 |
"show-flowprop" |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
25 |
) |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
26 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
27 |
tr=( |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
28 |
"tcp" |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
29 |
"udp" |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
30 |
"sctp" |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
31 |
"icmp" |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
32 |
"icmpv6" |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
33 |
) |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
34 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
35 |
props=( |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
36 |
"maxbw" |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
37 |
) |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
38 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
39 |
if [[ $service == "flowadm" ]]; then |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
40 |
_arguments -C -A "-*" \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
41 |
'*::command:->subcmd' && return 0 |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
42 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
43 |
if (( CURRENT == 1 )); then |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
44 |
_wanted commands expl "flowadm subcommand" compadd -a subcmds |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
45 |
return |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
46 |
fi |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
47 |
service="$words[1]" |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
48 |
curcontext="${curcontext%:*}=$service:" |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
49 |
fi |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
50 |
case $service in |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
93
diff
changeset
|
51 |
|
93
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
52 |
("show-flow") |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
53 |
_arguments -A "-*" \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
54 |
'-o[specify field to display]:field:(flow link ipaddr proto port dsfield)' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
55 |
'-p[parsable output]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
56 |
'-P[persistent flow property information]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
57 |
- set1 \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
58 |
'-l[display information for link]:link or flow:_net_interfaces' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
59 |
- set2 \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
60 |
':flow:_flowadm_flow' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
61 |
;; |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
93
diff
changeset
|
62 |
|
93
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
63 |
("add-flow") |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
64 |
_arguments -A "-*" \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
65 |
'-t[temporary changes - do not persist across reboots]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
66 |
'-R[alternate root dir]:alternate root:_files' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
67 |
'-l[specify link to which flow will be added]:link:_net_interfaces' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
68 |
'-a[specify attribute]:attribute:(local_ip= remote_ip= transport=$tr local_port= dsfield=)' \ |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
93
diff
changeset
|
69 |
'-p[set property value]:property:(maxbw=)' \ |
93
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
70 |
;; |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
93
diff
changeset
|
71 |
|
93
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
72 |
("remove-flow") |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
73 |
_arguments -A "-*" \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
74 |
'-t[temporary changes - do not persist across reboots]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
75 |
'-R[alternate root dir]:alternate root:_files' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
76 |
- set1 \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
77 |
'-l[specify link from which flow will be deleted]:link:_net_interfaces' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
78 |
- set2 \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
79 |
':flow:_flowadm_flow' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
80 |
;; |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
93
diff
changeset
|
81 |
|
93
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
82 |
("set-flowprop") |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
83 |
_arguments -A "-*" \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
84 |
'-t[temporary changes - do not persist across reboots]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
85 |
'-R[alternate root dir]:alternate root:_files' \ |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
93
diff
changeset
|
86 |
'-p[set property value]:property:(maxbw=)' \ |
93
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
87 |
':flow:_flowadm_flow' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
88 |
;; |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
93
diff
changeset
|
89 |
|
93
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
90 |
("reset-flowprop") |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
91 |
_arguments -A "-*" \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
92 |
'-t[temporary changes - do not persist across reboots]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
93 |
'-R[alternate root dir]:alternate root:_files' \ |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
93
diff
changeset
|
94 |
'-p[set property value]:property:(maxbw=)' \ |
93
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
95 |
':flow:_flowadm_flow' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
96 |
;; |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
93
diff
changeset
|
97 |
|
93
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
98 |
("show-flowprop") |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
99 |
_arguments -A "-*" \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
100 |
'-c[parsable output (requires -o)]' \ |
429
02007d525e89
7021213 zsh completion for ipadm
Danek Duvall <danek.duvall@oracle.com>
parents:
93
diff
changeset
|
101 |
'-l[specify link whose properties will be shown]:link:_net_interfaces' \ |
93
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
102 |
'-P[persistent flow property information]' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
103 |
'-p[property to show]:property:_values -s , "property" $props' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
104 |
':flow:_flowadm_flow' \ |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
105 |
;; |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
106 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
107 |
esac |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
108 |
} |
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
109 |
|
b579c7b1bb44
7016731 move zsh from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
110 |
_flowadm "$@" |