]> git.ipfire.org Git - thirdparty/qemu.git/blob - qapi/rocker.json
qapi: add some sections in docs
[thirdparty/qemu.git] / qapi / rocker.json
1 ##
2 # = Rocker switch device
3 ##
4
5 ##
6 # @RockerSwitch:
7 #
8 # Rocker switch information.
9 #
10 # @name: switch name
11 #
12 # @id: switch ID
13 #
14 # @ports: number of front-panel ports
15 #
16 # Since: 2.4
17 ##
18 { 'struct': 'RockerSwitch',
19 'data': { 'name': 'str', 'id': 'uint64', 'ports': 'uint32' } }
20
21 ##
22 # @query-rocker:
23 #
24 # Return rocker switch information.
25 #
26 # Returns: @Rocker information
27 #
28 # Since: 2.4
29 ##
30 { 'command': 'query-rocker',
31 'data': { 'name': 'str' },
32 'returns': 'RockerSwitch' }
33
34 ##
35 # @RockerPortDuplex:
36 #
37 # An eumeration of port duplex states.
38 #
39 # @half: half duplex
40 #
41 # @full: full duplex
42 #
43 # Since: 2.4
44 ##
45 { 'enum': 'RockerPortDuplex', 'data': [ 'half', 'full' ] }
46
47 ##
48 # @RockerPortAutoneg:
49 #
50 # An eumeration of port autoneg states.
51 #
52 # @off: autoneg is off
53 #
54 # @on: autoneg is on
55 #
56 # Since: 2.4
57 ##
58 { 'enum': 'RockerPortAutoneg', 'data': [ 'off', 'on' ] }
59
60 ##
61 # @RockerPort:
62 #
63 # Rocker switch port information.
64 #
65 # @name: port name
66 #
67 # @enabled: port is enabled for I/O
68 #
69 # @link-up: physical link is UP on port
70 #
71 # @speed: port link speed in Mbps
72 #
73 # @duplex: port link duplex
74 #
75 # @autoneg: port link autoneg
76 #
77 # Since: 2.4
78 ##
79 { 'struct': 'RockerPort',
80 'data': { 'name': 'str', 'enabled': 'bool', 'link-up': 'bool',
81 'speed': 'uint32', 'duplex': 'RockerPortDuplex',
82 'autoneg': 'RockerPortAutoneg' } }
83
84 ##
85 # @query-rocker-ports:
86 #
87 # Return rocker switch information.
88 #
89 # Returns: @Rocker information
90 #
91 # Since: 2.4
92 ##
93 { 'command': 'query-rocker-ports',
94 'data': { 'name': 'str' },
95 'returns': ['RockerPort'] }
96
97 ##
98 # @RockerOfDpaFlowKey:
99 #
100 # Rocker switch OF-DPA flow key
101 #
102 # @priority: key priority, 0 being lowest priority
103 #
104 # @tbl-id: flow table ID
105 #
106 # @in-pport: #optional physical input port
107 #
108 # @tunnel-id: #optional tunnel ID
109 #
110 # @vlan-id: #optional VLAN ID
111 #
112 # @eth-type: #optional Ethernet header type
113 #
114 # @eth-src: #optional Ethernet header source MAC address
115 #
116 # @eth-dst: #optional Ethernet header destination MAC address
117 #
118 # @ip-proto: #optional IP Header protocol field
119 #
120 # @ip-tos: #optional IP header TOS field
121 #
122 # @ip-dst: #optional IP header destination address
123 #
124 # Note: fields are marked #optional to indicate that they may or may not
125 # appear in the flow key depending if they're relevant to the flow key.
126 #
127 # Since: 2.4
128 ##
129 { 'struct': 'RockerOfDpaFlowKey',
130 'data' : { 'priority': 'uint32', 'tbl-id': 'uint32', '*in-pport': 'uint32',
131 '*tunnel-id': 'uint32', '*vlan-id': 'uint16',
132 '*eth-type': 'uint16', '*eth-src': 'str', '*eth-dst': 'str',
133 '*ip-proto': 'uint8', '*ip-tos': 'uint8', '*ip-dst': 'str' } }
134
135 ##
136 # @RockerOfDpaFlowMask:
137 #
138 # Rocker switch OF-DPA flow mask
139 #
140 # @in-pport: #optional physical input port
141 #
142 # @tunnel-id: #optional tunnel ID
143 #
144 # @vlan-id: #optional VLAN ID
145 #
146 # @eth-src: #optional Ethernet header source MAC address
147 #
148 # @eth-dst: #optional Ethernet header destination MAC address
149 #
150 # @ip-proto: #optional IP Header protocol field
151 #
152 # @ip-tos: #optional IP header TOS field
153 #
154 # Note: fields are marked #optional to indicate that they may or may not
155 # appear in the flow mask depending if they're relevant to the flow mask.
156 #
157 # Since: 2.4
158 ##
159 { 'struct': 'RockerOfDpaFlowMask',
160 'data' : { '*in-pport': 'uint32', '*tunnel-id': 'uint32',
161 '*vlan-id': 'uint16', '*eth-src': 'str', '*eth-dst': 'str',
162 '*ip-proto': 'uint8', '*ip-tos': 'uint8' } }
163
164 ##
165 # @RockerOfDpaFlowAction:
166 #
167 # Rocker switch OF-DPA flow action
168 #
169 # @goto-tbl: #optional next table ID
170 #
171 # @group-id: #optional group ID
172 #
173 # @tunnel-lport: #optional tunnel logical port ID
174 #
175 # @vlan-id: #optional VLAN ID
176 #
177 # @new-vlan-id: #optional new VLAN ID
178 #
179 # @out-pport: #optional physical output port
180 #
181 # Note: fields are marked #optional to indicate that they may or may not
182 # appear in the flow action depending if they're relevant to the flow action.
183 #
184 # Since: 2.4
185 ##
186 { 'struct': 'RockerOfDpaFlowAction',
187 'data' : { '*goto-tbl': 'uint32', '*group-id': 'uint32',
188 '*tunnel-lport': 'uint32', '*vlan-id': 'uint16',
189 '*new-vlan-id': 'uint16', '*out-pport': 'uint32' } }
190
191 ##
192 # @RockerOfDpaFlow:
193 #
194 # Rocker switch OF-DPA flow
195 #
196 # @cookie: flow unique cookie ID
197 #
198 # @hits: count of matches (hits) on flow
199 #
200 # @key: flow key
201 #
202 # @mask: flow mask
203 #
204 # @action: flow action
205 #
206 # Since: 2.4
207 ##
208 { 'struct': 'RockerOfDpaFlow',
209 'data': { 'cookie': 'uint64', 'hits': 'uint64', 'key': 'RockerOfDpaFlowKey',
210 'mask': 'RockerOfDpaFlowMask', 'action': 'RockerOfDpaFlowAction' } }
211
212 ##
213 # @query-rocker-of-dpa-flows:
214 #
215 # Return rocker OF-DPA flow information.
216 #
217 # @name: switch name
218 #
219 # @tbl-id: #optional flow table ID. If tbl-id is not specified, returns
220 # flow information for all tables.
221 #
222 # Returns: @Rocker OF-DPA flow information
223 #
224 # Since: 2.4
225 ##
226 { 'command': 'query-rocker-of-dpa-flows',
227 'data': { 'name': 'str', '*tbl-id': 'uint32' },
228 'returns': ['RockerOfDpaFlow'] }
229
230 ##
231 # @RockerOfDpaGroup:
232 #
233 # Rocker switch OF-DPA group
234 #
235 # @id: group unique ID
236 #
237 # @type: group type
238 #
239 # @vlan-id: #optional VLAN ID
240 #
241 # @pport: #optional physical port number
242 #
243 # @index: #optional group index, unique with group type
244 #
245 # @out-pport: #optional output physical port number
246 #
247 # @group-id: #optional next group ID
248 #
249 # @set-vlan-id: #optional VLAN ID to set
250 #
251 # @pop-vlan: #optional pop VLAN headr from packet
252 #
253 # @group-ids: #optional list of next group IDs
254 #
255 # @set-eth-src: #optional set source MAC address in Ethernet header
256 #
257 # @set-eth-dst: #optional set destination MAC address in Ethernet header
258 #
259 # @ttl-check: #optional perform TTL check
260 #
261 # Note: fields are marked #optional to indicate that they may or may not
262 # appear in the group depending if they're relevant to the group type.
263 #
264 # Since: 2.4
265 ##
266 { 'struct': 'RockerOfDpaGroup',
267 'data': { 'id': 'uint32', 'type': 'uint8', '*vlan-id': 'uint16',
268 '*pport': 'uint32', '*index': 'uint32', '*out-pport': 'uint32',
269 '*group-id': 'uint32', '*set-vlan-id': 'uint16',
270 '*pop-vlan': 'uint8', '*group-ids': ['uint32'],
271 '*set-eth-src': 'str', '*set-eth-dst': 'str',
272 '*ttl-check': 'uint8' } }
273
274 ##
275 # @query-rocker-of-dpa-groups:
276 #
277 # Return rocker OF-DPA group information.
278 #
279 # @name: switch name
280 #
281 # @type: #optional group type. If type is not specified, returns
282 # group information for all group types.
283 #
284 # Returns: @Rocker OF-DPA group information
285 #
286 # Since: 2.4
287 ##
288 { 'command': 'query-rocker-of-dpa-groups',
289 'data': { 'name': 'str', '*type': 'uint8' },
290 'returns': ['RockerOfDpaGroup'] }