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