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