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