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