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