vswitchd: Active backup bonding.
[sliver-openvswitch.git] / vswitchd / vswitch.ovsschema
1 {"name": "Open_vSwitch",
2  "version": "1.0.2",
3  "cksum": "3196651018 14282",
4  "tables": {
5    "Open_vSwitch": {
6      "columns": {
7        "bridges": {
8          "type": {"key": {"type": "uuid",
9                           "refTable": "Bridge"},
10                   "min": 0, "max": "unlimited"}},
11        "managers": {
12          "type": {"key": "string", "min": 0, "max": "unlimited"}},
13        "manager_options": {
14          "type": {"key": {"type": "uuid",
15                           "refTable": "Manager"},
16                   "min": 0, "max": "unlimited"}},
17        "ssl": {
18          "type": {"key": {"type": "uuid",
19                           "refTable": "SSL"},
20                   "min": 0, "max": 1}},
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        "capabilities": {
29          "type": {"key": "string",
30                   "value": {"type": "uuid",
31                             "refTable": "Capability"},
32                   "min": 0, "max": "unlimited"}},
33        "statistics": {
34          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
35          "ephemeral": true},
36        "ovs_version": {
37          "type": {"key": {"type": "string"},
38                   "min": 0, "max": 1}},
39        "db_version": {
40          "type": {"key": {"type": "string"},
41                   "min": 0, "max": 1}},
42        "system_type": {
43          "type": {"key": {"type": "string"},
44                   "min": 0, "max": 1}},
45        "system_version": {
46          "type": {"key": {"type": "string"},
47                   "min": 0, "max": 1}}},
48      "maxRows": 1},
49    "Capability": {
50      "columns": {
51        "details": {
52          "type": {"key": "string", "value": "string",
53                   "min": 0, "max": "unlimited"}}}},
54    "Bridge": {
55      "columns": {
56        "name": {
57          "type": "string",
58          "mutable": false},
59        "datapath_type": {
60          "type": "string"},
61        "datapath_id": {
62          "type": {"key": "string", "min": 0, "max": 1},
63          "ephemeral": true},
64        "ports": {
65          "type": {"key": {"type": "uuid",
66                           "refTable": "Port"},
67                   "min": 0, "max": "unlimited"}},
68        "mirrors": {
69          "type": {"key": {"type": "uuid",
70                           "refTable": "Mirror"},
71                   "min": 0, "max": "unlimited"}},
72        "netflow": {
73          "type": {"key": {"type": "uuid",
74                           "refTable": "NetFlow"},
75                   "min": 0, "max": 1}},
76        "sflow": {
77          "type": {"key": {"type": "uuid",
78                           "refTable": "sFlow"},
79                   "min": 0, "max": 1}},
80        "controller": {
81          "type": {"key": {"type": "uuid",
82                           "refTable": "Controller"},
83                   "min": 0, "max": "unlimited"}},
84        "fail_mode": {
85          "type": {"key": {"type": "string",
86                           "enum": ["set", ["standalone", "secure"]]},
87                   "min": 0, "max": 1}},
88        "other_config": {
89          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
90        "external_ids": {
91          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
92        "flood_vlans": {
93          "type": {"key": {"type": "integer",
94                           "minInteger": 0,
95                           "maxInteger": 4095},
96                   "min": 0, "max": 4096}}}},
97    "Port": {
98      "columns": {
99        "name": {
100          "type": "string",
101          "mutable": false},
102        "interfaces": {
103          "type": {"key": {"type": "uuid",
104                           "refTable": "Interface"},
105                   "min": 1, "max": "unlimited"}},
106        "trunks": {
107          "type": {"key": {"type": "integer",
108                           "minInteger": 0,
109                           "maxInteger": 4095},
110                   "min": 0, "max": 4096}},
111        "tag": {
112          "type": {"key": {"type": "integer",
113                           "minInteger": 0,
114                           "maxInteger": 4095},
115                   "min": 0, "max": 1}},
116        "qos": {
117          "type": {"key": {"type": "uuid",
118                           "refTable": "QoS"},
119                   "min": 0, "max": 1}},
120        "mac": {
121          "type": {"key": {"type": "string"},
122                   "min": 0, "max": 1}},
123        "bond_type": {
124          "type": {"key": {"type": "string",
125            "enum": ["set", ["slb", "active-backup"]]},
126          "min": 0, "max": 1}},
127        "bond_updelay": {
128          "type": "integer"},
129        "bond_downdelay": {
130          "type": "integer"},
131        "bond_fake_iface": {
132          "type": "boolean"},
133        "fake_bridge": {
134          "type": "boolean"},
135        "other_config": {
136          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
137        "external_ids": {
138          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}}}},
139    "Interface": {
140      "columns": {
141        "name": {
142          "type": "string",
143          "mutable": false},
144        "type": {
145          "type": "string"},
146        "options": {
147          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
148        "ingress_policing_rate": {
149          "type": {"key": {"type": "integer",
150                           "minInteger": 0}}},
151        "ingress_policing_burst": {
152          "type": {"key": {"type": "integer",
153                           "minInteger": 0}}},
154        "tunnel_egress_iface": {
155          "type": {"key": {"type": "string"},
156                   "min": 0, "max": 1},
157          "ephemeral": true},
158        "mac": {
159          "type": {"key": {"type": "string"},
160                   "min": 0, "max": 1}},
161        "external_ids": {
162          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
163        "ofport": {
164          "type": {"key": "integer", "min": 0, "max": 1},
165          "ephemeral": true},
166        "monitor": {
167          "type": {
168            "key": {"type": "uuid", "refTable": "Monitor"},
169            "min": 0,
170            "max": 1}},
171        "other_config": {
172          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
173        "statistics": {
174          "type": {"key": "string", "value": "integer", "min": 0, "max": "unlimited"},
175          "ephemeral": true},
176        "status": {
177          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
178          "ephemeral": true}}},
179    "Monitor": {
180      "columns": {
181        "mpid": {
182          "type" : {
183            "key": { "type": "integer", "minInteger": 1, "maxInteger": 8191}}},
184        "md_name": {
185          "type" : {
186            "key": { "type": "string", "minLength": 1, "maxLength": 43},
187            "min": 0,
188            "max": 1}},
189        "ma_name": {
190          "type" : {
191            "key": { "type": "string", "minLength": 1, "maxLength": 43},
192            "min": 0,
193            "max": 1}},
194        "interval": {
195          "type": {
196            "key": { "type": "integer", "minInteger": 100},
197            "min": 0,
198            "max": 1}},
199        "remote_mps": {
200          "type": {
201            "key": { "type": "uuid", "refTable": "Maintenance_Point"},
202            "min": 0,
203            "max": "unlimited"},
204          "ephemeral": true},
205        "unexpected_remote_mpids": {
206          "type": {
207            "key": { "type": "integer"},
208            "min": 0,
209            "max": "unlimited"},
210          "ephemeral": true},
211        "unexpected_remote_maids": {
212          "type": {
213            "key": "string",
214            "min": 0,
215            "max": "unlimited"},
216          "ephemeral": true},
217        "fault": {
218          "type": {
219            "key": { "type": "boolean"},
220            "min": 0,
221            "max": 1},
222          "ephemeral": true}}},
223    "Maintenance_Point": {
224      "columns": {
225        "mpid": {
226          "type" : {
227            "key": { "type": "integer", "minInteger": 1, "maxInteger": 8191}},
228          "mutable": false},
229        "fault": {
230          "type": {
231            "key": { "type": "boolean"},
232            "min": 0,
233            "max": 1},
234          "ephemeral": true}}},
235    "QoS": {
236      "columns": {
237        "type": {
238          "type": "string"},
239        "queues": {
240          "type": {"key": {"type": "integer",
241                           "minInteger": 0,
242                           "maxInteger": 4294967295},
243                   "value": {"type": "uuid",
244                             "refTable": "Queue"},
245                   "min": 0, "max": "unlimited"}},
246        "other_config": {
247          "type": {"key": "string", "value": "string",
248                   "min": 0, "max": "unlimited"}},
249        "external_ids": {
250          "type": {"key": "string", "value": "string",
251                   "min": 0, "max": "unlimited"}}}},
252    "Queue": {
253      "columns": {
254        "other_config": {
255          "type": {"key": "string", "value": "string",
256                   "min": 0, "max": "unlimited"}},
257        "external_ids": {
258          "type": {"key": "string", "value": "string",
259                   "min": 0, "max": "unlimited"}}}},
260    "Mirror": {
261      "columns": {
262        "name": {
263          "type": "string"},
264        "select_all": {
265          "type": "boolean"
266        },
267        "select_src_port": {
268          "type": {"key": {"type": "uuid",
269                           "refTable": "Port",
270                           "refType": "weak"},
271                    "min": 0, "max": "unlimited"}},
272        "select_dst_port": {
273          "type": {"key": {"type": "uuid",
274                           "refTable": "Port",
275                           "refType": "weak"},
276                    "min": 0, "max": "unlimited"}},
277        "select_vlan": {
278          "type": {"key": {"type": "integer",
279                           "minInteger": 0,
280                           "maxInteger": 4095},
281                   "min": 0, "max": 4096}},
282        "output_port": {
283          "type": {"key": {"type": "uuid",
284                           "refTable": "Port",
285                           "refType": "weak"},
286                   "min": 0, "max": 1}},
287        "output_vlan": {
288          "type": {"key": {"type": "integer",
289                           "minInteger": 1,
290                           "maxInteger": 4095},
291                   "min": 0, "max": 1}},
292        "external_ids": {
293          "type": {"key": "string", "value": "string",
294                   "min": 0, "max": "unlimited"}}}},
295    "NetFlow": {
296      "columns": {
297        "targets": {
298          "type": {"key": {"type": "string"},
299                   "min": 1, "max": "unlimited"}},
300        "engine_type": {
301          "type": {"key": {"type": "integer",
302                           "minInteger": 0,
303                           "maxInteger": 255},
304                   "min": 0, "max": 1}},
305        "engine_id": {
306          "type": {"key": {"type": "integer",
307                           "minInteger": 0,
308                           "maxInteger": 255},
309                   "min": 0, "max": 1}},
310        "add_id_to_interface": {
311          "type": "boolean"},
312        "active_timeout": {
313          "type": {"key": {"type": "integer",
314                           "minInteger": -1}}},
315        "external_ids": {
316          "type": {"key": "string", "value": "string",
317                   "min": 0, "max": "unlimited"}}}},
318    "sFlow": {
319      "columns": {
320        "targets": {
321          "type": {"key": "string", "min": 1, "max": "unlimited"}},
322        "sampling": {
323          "type": {"key": "integer", "min": 0, "max": 1}},
324        "polling": {
325          "type": {"key": "integer", "min": 0, "max": 1}},
326        "header": {
327          "type": {"key": "integer", "min": 0, "max": 1}},
328        "agent": {
329          "type": {"key": "string", "min": 0, "max": 1}},
330        "external_ids": {
331          "type": {"key": "string", "value": "string",
332                   "min": 0, "max": "unlimited"}}}},
333    "Controller": {
334      "columns": {
335        "target": {
336          "type": "string"},
337        "max_backoff": {
338          "type": {"key": {"type": "integer",
339                           "minInteger": 1000},
340                   "min": 0, "max": 1}},
341        "inactivity_probe": {
342          "type": {"key": "integer", "min": 0, "max": 1}},
343        "discover_accept_regex": {
344          "type": {"key": "string", "min": 0, "max": 1}},
345        "discover_update_resolv_conf": {
346          "type": {"key": "boolean", "min": 0, "max": 1}},
347        "connection_mode": {
348          "type": {"key": {"type": "string",
349                   "enum": ["set", ["in-band", "out-of-band"]]},
350                   "min": 0, "max": 1}},
351        "local_ip": {
352          "type": {"key": {"type": "string"},
353                   "min": 0, "max": 1}},
354        "local_netmask": {
355          "type": {"key": {"type": "string"},
356                   "min": 0, "max": 1}},
357        "local_gateway": {
358          "type": {"key": {"type": "string"},
359                   "min": 0, "max": 1}},
360        "controller_rate_limit": {
361          "type": {"key": {"type": "integer",
362                           "minInteger": 100},
363                   "min": 0, "max": 1}},
364        "controller_burst_limit": {
365          "type": {"key": {"type": "integer",
366                           "minInteger": 25},
367                   "min": 0, "max": 1}},
368        "external_ids": {
369          "type": {"key": "string", "value": "string",
370                   "min": 0, "max": "unlimited"}}}},
371    "Manager": {
372      "columns": {
373        "target": {
374          "type": "string"},
375        "max_backoff": {
376          "type": {"key": {"type": "integer",
377                           "minInteger": 1000},
378                   "min": 0, "max": 1}},
379        "inactivity_probe": {
380          "type": {"key": "integer", "min": 0, "max": 1}},
381        "connection_mode": {
382          "type": {"key": {"type": "string",
383                   "enum": ["set", ["in-band", "out-of-band"]]},
384                   "min": 0, "max": 1}},
385        "external_ids": {
386          "type": {"key": "string", "value": "string",
387                   "min": 0, "max": "unlimited"}}}},
388    "SSL": {
389      "columns": {
390        "private_key": {
391          "type": "string"},
392        "certificate": {
393          "type": "string"},
394        "ca_cert": {
395          "type": "string"},
396        "bootstrap_ca_cert": {
397          "type": "boolean"},
398        "external_ids": {
399          "type": {"key": "string", "value": "string",
400                   "min": 0, "max": "unlimited"}}},
401      "maxRows": 1}}}