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