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