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