]> git.proxmox.com Git - mirror_ovs.git/blob - vswitchd/vswitch.ovsschema
Add support for limiting the number of flows in an OpenFlow flow table.
[mirror_ovs.git] / vswitchd / vswitch.ovsschema
1 {"name": "Open_vSwitch",
2 "version": "6.5.0",
3 "cksum": "2847700438 16419",
4 "tables": {
5 "Open_vSwitch": {
6 "columns": {
7 "bridges": {
8 "type": {"key": {"type": "uuid",
9 "refTable": "Bridge"},
10 "min": 0, "max": "unlimited"}},
11 "manager_options": {
12 "type": {"key": {"type": "uuid",
13 "refTable": "Manager"},
14 "min": 0, "max": "unlimited"}},
15 "ssl": {
16 "type": {"key": {"type": "uuid",
17 "refTable": "SSL"},
18 "min": 0, "max": 1}},
19 "other_config": {
20 "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
21 "external_ids": {
22 "type": {"key": "string", "value": "string",
23 "min": 0, "max": "unlimited"}},
24 "next_cfg": {
25 "type": "integer"},
26 "cur_cfg": {
27 "type": "integer"},
28 "capabilities": {
29 "type": {"key": "string",
30 "value": {"type": "uuid",
31 "refTable": "Capability"},
32 "min": 0, "max": "unlimited"}},
33 "statistics": {
34 "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
35 "ephemeral": true},
36 "ovs_version": {
37 "type": {"key": {"type": "string"},
38 "min": 0, "max": 1}},
39 "db_version": {
40 "type": {"key": {"type": "string"},
41 "min": 0, "max": 1}},
42 "system_type": {
43 "type": {"key": {"type": "string"},
44 "min": 0, "max": 1}},
45 "system_version": {
46 "type": {"key": {"type": "string"},
47 "min": 0, "max": 1}}},
48 "isRoot": true,
49 "maxRows": 1},
50 "Capability": {
51 "columns": {
52 "details": {
53 "type": {"key": "string", "value": "string",
54 "min": 0, "max": "unlimited"}}}},
55 "Bridge": {
56 "columns": {
57 "name": {
58 "type": "string",
59 "mutable": false},
60 "datapath_type": {
61 "type": "string"},
62 "datapath_id": {
63 "type": {"key": "string", "min": 0, "max": 1},
64 "ephemeral": true},
65 "stp_enable": {
66 "type": "boolean"},
67 "ports": {
68 "type": {"key": {"type": "uuid",
69 "refTable": "Port"},
70 "min": 0, "max": "unlimited"}},
71 "mirrors": {
72 "type": {"key": {"type": "uuid",
73 "refTable": "Mirror"},
74 "min": 0, "max": "unlimited"}},
75 "netflow": {
76 "type": {"key": {"type": "uuid",
77 "refTable": "NetFlow"},
78 "min": 0, "max": 1}},
79 "sflow": {
80 "type": {"key": {"type": "uuid",
81 "refTable": "sFlow"},
82 "min": 0, "max": 1}},
83 "controller": {
84 "type": {"key": {"type": "uuid",
85 "refTable": "Controller"},
86 "min": 0, "max": "unlimited"}},
87 "fail_mode": {
88 "type": {"key": {"type": "string",
89 "enum": ["set", ["standalone", "secure"]]},
90 "min": 0, "max": 1}},
91 "status": {
92 "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
93 "ephemeral": true},
94 "other_config": {
95 "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
96 "external_ids": {
97 "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
98 "flood_vlans": {
99 "type": {"key": {"type": "integer",
100 "minInteger": 0,
101 "maxInteger": 4095},
102 "min": 0, "max": 4096}},
103 "flow_tables": {
104 "type": {"key": {"type": "integer",
105 "minInteger": 0,
106 "maxInteger": 254},
107 "value": {"type": "uuid",
108 "refTable": "Flow_Table"},
109 "min": 0, "max": "unlimited"}}},
110 "indexes": [["name"]]},
111 "Port": {
112 "columns": {
113 "name": {
114 "type": "string",
115 "mutable": false},
116 "interfaces": {
117 "type": {"key": {"type": "uuid",
118 "refTable": "Interface"},
119 "min": 1, "max": "unlimited"}},
120 "trunks": {
121 "type": {"key": {"type": "integer",
122 "minInteger": 0,
123 "maxInteger": 4095},
124 "min": 0, "max": 4096}},
125 "tag": {
126 "type": {"key": {"type": "integer",
127 "minInteger": 0,
128 "maxInteger": 4095},
129 "min": 0, "max": 1}},
130 "vlan_mode": {
131 "type": {"key": {"type": "string",
132 "enum": ["set", ["trunk", "access", "native-tagged", "native-untagged"]]},
133 "min": 0, "max": 1}},
134 "qos": {
135 "type": {"key": {"type": "uuid",
136 "refTable": "QoS"},
137 "min": 0, "max": 1}},
138 "mac": {
139 "type": {"key": {"type": "string"},
140 "min": 0, "max": 1}},
141 "bond_mode": {
142 "type": {"key": {"type": "string",
143 "enum": ["set", ["balance-tcp", "balance-slb", "active-backup", "stable"]]},
144 "min": 0, "max": 1}},
145 "lacp": {
146 "type": {"key": {"type": "string",
147 "enum": ["set", ["active", "passive", "off"]]},
148 "min": 0, "max": 1}},
149 "bond_updelay": {
150 "type": "integer"},
151 "bond_downdelay": {
152 "type": "integer"},
153 "bond_fake_iface": {
154 "type": "boolean"},
155 "fake_bridge": {
156 "type": "boolean"},
157 "status": {
158 "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
159 "ephemeral": true},
160 "statistics": {
161 "type": {"key": "string", "value": "integer", "min": 0, "max": "unlimited"},
162 "ephemeral": true},
163 "other_config": {
164 "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
165 "external_ids": {
166 "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}}},
167 "indexes": [["name"]]},
168 "Interface": {
169 "columns": {
170 "name": {
171 "type": "string",
172 "mutable": false},
173 "type": {
174 "type": "string"},
175 "options": {
176 "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
177 "ingress_policing_rate": {
178 "type": {"key": {"type": "integer",
179 "minInteger": 0}}},
180 "ingress_policing_burst": {
181 "type": {"key": {"type": "integer",
182 "minInteger": 0}}},
183 "mac": {
184 "type": {"key": {"type": "string"},
185 "min": 0, "max": 1}},
186 "external_ids": {
187 "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
188 "ofport": {
189 "type": {"key": "integer", "min": 0, "max": 1},
190 "ephemeral": true},
191 "cfm_mpid": {
192 "type": {
193 "key": {"type": "integer"},
194 "min": 0,
195 "max": 1}},
196 "cfm_remote_mpids": {
197 "type": {
198 "key": {"type": "integer"},
199 "min": 0,
200 "max": "unlimited"},
201 "ephemeral": true},
202 "cfm_fault": {
203 "type": {
204 "key": { "type": "boolean"},
205 "min": 0,
206 "max": 1},
207 "ephemeral": true},
208 "lacp_current": {
209 "type": {"key": {"type": "boolean"},
210 "min": 0, "max": 1},
211 "ephemeral": true},
212 "other_config": {
213 "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
214 "statistics": {
215 "type": {"key": "string", "value": "integer", "min": 0, "max": "unlimited"},
216 "ephemeral": true},
217 "status": {
218 "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
219 "ephemeral": true},
220 "admin_state": {
221 "type": {"key": {"type": "string",
222 "enum": ["set", ["up", "down"]]},
223 "min": 0, "max": 1},
224 "ephemeral": true},
225 "link_state": {
226 "type": {"key": {"type": "string",
227 "enum": ["set", ["up", "down"]]},
228 "min": 0, "max": 1},
229 "ephemeral": true},
230 "link_resets": {
231 "type": {"key": {"type": "integer"},
232 "min": 0, "max": 1},
233 "ephemeral": true},
234 "link_speed": {
235 "type": {"key": "integer", "min": 0, "max": 1},
236 "ephemeral": true},
237 "duplex": {
238 "type": {"key": {"type": "string",
239 "enum": ["set", ["half", "full"]]},
240 "min": 0, "max": 1},
241 "ephemeral": true},
242 "mtu": {
243 "type": {"key": "integer", "min": 0, "max": 1},
244 "ephemeral": true}},
245 "indexes": [["name"]]},
246 "Flow_Table": {
247 "columns": {
248 "name": {
249 "type": {"key": "string", "min": 0, "max": 1}},
250 "flow_limit": {
251 "type": {"key": {"type": "integer", "minInteger": 0},
252 "min": 0, "max": 1}},
253 "overflow_policy": {
254 "type": {"key": {"type": "string",
255 "enum": ["set", ["refuse", "evict"]]},
256 "min": 0, "max": 1}},
257 "groups": {
258 "type": {"key": "string", "min": 0, "max": "unlimited"}}}},
259 "QoS": {
260 "columns": {
261 "type": {
262 "type": "string"},
263 "queues": {
264 "type": {"key": {"type": "integer",
265 "minInteger": 0,
266 "maxInteger": 4294967295},
267 "value": {"type": "uuid",
268 "refTable": "Queue"},
269 "min": 0, "max": "unlimited"}},
270 "other_config": {
271 "type": {"key": "string", "value": "string",
272 "min": 0, "max": "unlimited"}},
273 "external_ids": {
274 "type": {"key": "string", "value": "string",
275 "min": 0, "max": "unlimited"}}},
276 "isRoot": true},
277 "Queue": {
278 "columns": {
279 "dscp": {
280 "type": {"key": {"type": "integer",
281 "minInteger": 0,
282 "maxInteger": 63},
283 "min": 0, "max": 1}},
284 "other_config": {
285 "type": {"key": "string", "value": "string",
286 "min": 0, "max": "unlimited"}},
287 "external_ids": {
288 "type": {"key": "string", "value": "string",
289 "min": 0, "max": "unlimited"}}},
290 "isRoot": true},
291 "Mirror": {
292 "columns": {
293 "name": {
294 "type": "string"},
295 "select_all": {
296 "type": "boolean"},
297 "select_src_port": {
298 "type": {"key": {"type": "uuid",
299 "refTable": "Port",
300 "refType": "weak"},
301 "min": 0, "max": "unlimited"}},
302 "select_dst_port": {
303 "type": {"key": {"type": "uuid",
304 "refTable": "Port",
305 "refType": "weak"},
306 "min": 0, "max": "unlimited"}},
307 "select_vlan": {
308 "type": {"key": {"type": "integer",
309 "minInteger": 0,
310 "maxInteger": 4095},
311 "min": 0, "max": 4096}},
312 "output_port": {
313 "type": {"key": {"type": "uuid",
314 "refTable": "Port",
315 "refType": "weak"},
316 "min": 0, "max": 1}},
317 "output_vlan": {
318 "type": {"key": {"type": "integer",
319 "minInteger": 1,
320 "maxInteger": 4095},
321 "min": 0, "max": 1}},
322 "statistics": {
323 "type": {"key": "string", "value": "integer",
324 "min": 0, "max": "unlimited"},
325 "ephemeral": true},
326 "external_ids": {
327 "type": {"key": "string", "value": "string",
328 "min": 0, "max": "unlimited"}}}},
329 "NetFlow": {
330 "columns": {
331 "targets": {
332 "type": {"key": {"type": "string"},
333 "min": 1, "max": "unlimited"}},
334 "engine_type": {
335 "type": {"key": {"type": "integer",
336 "minInteger": 0,
337 "maxInteger": 255},
338 "min": 0, "max": 1}},
339 "engine_id": {
340 "type": {"key": {"type": "integer",
341 "minInteger": 0,
342 "maxInteger": 255},
343 "min": 0, "max": 1}},
344 "add_id_to_interface": {
345 "type": "boolean"},
346 "active_timeout": {
347 "type": {"key": {"type": "integer",
348 "minInteger": -1}}},
349 "external_ids": {
350 "type": {"key": "string", "value": "string",
351 "min": 0, "max": "unlimited"}}}},
352 "sFlow": {
353 "columns": {
354 "targets": {
355 "type": {"key": "string", "min": 1, "max": "unlimited"}},
356 "sampling": {
357 "type": {"key": "integer", "min": 0, "max": 1}},
358 "polling": {
359 "type": {"key": "integer", "min": 0, "max": 1}},
360 "header": {
361 "type": {"key": "integer", "min": 0, "max": 1}},
362 "agent": {
363 "type": {"key": "string", "min": 0, "max": 1}},
364 "external_ids": {
365 "type": {"key": "string", "value": "string",
366 "min": 0, "max": "unlimited"}}}},
367 "Controller": {
368 "columns": {
369 "target": {
370 "type": "string"},
371 "max_backoff": {
372 "type": {"key": {"type": "integer",
373 "minInteger": 1000},
374 "min": 0, "max": 1}},
375 "inactivity_probe": {
376 "type": {"key": "integer", "min": 0, "max": 1}},
377 "connection_mode": {
378 "type": {"key": {"type": "string",
379 "enum": ["set", ["in-band", "out-of-band"]]},
380 "min": 0, "max": 1}},
381 "local_ip": {
382 "type": {"key": {"type": "string"},
383 "min": 0, "max": 1}},
384 "local_netmask": {
385 "type": {"key": {"type": "string"},
386 "min": 0, "max": 1}},
387 "local_gateway": {
388 "type": {"key": {"type": "string"},
389 "min": 0, "max": 1}},
390 "controller_rate_limit": {
391 "type": {"key": {"type": "integer",
392 "minInteger": 100},
393 "min": 0, "max": 1}},
394 "controller_burst_limit": {
395 "type": {"key": {"type": "integer",
396 "minInteger": 25},
397 "min": 0, "max": 1}},
398 "external_ids": {
399 "type": {"key": "string", "value": "string",
400 "min": 0, "max": "unlimited"}},
401 "is_connected": {
402 "type": "boolean",
403 "ephemeral": true},
404 "role": {
405 "type": {"key": {"type": "string",
406 "enum": ["set", ["other", "master", "slave"]]},
407 "min": 0, "max": 1},
408 "ephemeral": true},
409 "status": {
410 "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
411 "ephemeral": true}}},
412 "Manager": {
413 "columns": {
414 "target": {
415 "type": "string"},
416 "max_backoff": {
417 "type": {"key": {"type": "integer",
418 "minInteger": 1000},
419 "min": 0, "max": 1}},
420 "inactivity_probe": {
421 "type": {"key": "integer", "min": 0, "max": 1}},
422 "connection_mode": {
423 "type": {"key": {"type": "string",
424 "enum": ["set", ["in-band", "out-of-band"]]},
425 "min": 0, "max": 1}},
426 "external_ids": {
427 "type": {"key": "string", "value": "string",
428 "min": 0, "max": "unlimited"}},
429 "is_connected": {
430 "type": "boolean",
431 "ephemeral": true},
432 "status": {
433 "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
434 "ephemeral": true}},
435 "indexes": [["target"]]},
436 "SSL": {
437 "columns": {
438 "private_key": {
439 "type": "string"},
440 "certificate": {
441 "type": "string"},
442 "ca_cert": {
443 "type": "string"},
444 "bootstrap_ca_cert": {
445 "type": "boolean"},
446 "external_ids": {
447 "type": {"key": "string", "value": "string",
448 "min": 0, "max": "unlimited"}}},
449 "maxRows": 1}}}