ovs-vswitchd: Add support for 802.1D STP.
[cascardo/ovs.git] / vswitchd / vswitch.ovsschema
1 {"name": "Open_vSwitch",
2  "version": "6.2.0",
3  "cksum": "145151998 15203",
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        "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      "isRoot": true,
49      "maxRows": 1},
50    "Capability": {
51      "columns": {
52        "details": {
53          "type": {"key": "string", "value": "string",
54                   "min": 0, "max": "unlimited"}}}},
55    "Bridge": {
56      "columns": {
57        "name": {
58          "type": "string",
59          "mutable": false},
60        "datapath_type": {
61          "type": "string"},
62        "datapath_id": {
63          "type": {"key": "string", "min": 0, "max": 1},
64          "ephemeral": true},
65        "stp_enable": {
66          "type": "boolean"},
67        "ports": {
68          "type": {"key": {"type": "uuid",
69                           "refTable": "Port"},
70                   "min": 0, "max": "unlimited"}},
71        "mirrors": {
72          "type": {"key": {"type": "uuid",
73                           "refTable": "Mirror"},
74                   "min": 0, "max": "unlimited"}},
75        "netflow": {
76          "type": {"key": {"type": "uuid",
77                           "refTable": "NetFlow"},
78                   "min": 0, "max": 1}},
79        "sflow": {
80          "type": {"key": {"type": "uuid",
81                           "refTable": "sFlow"},
82                   "min": 0, "max": 1}},
83        "controller": {
84          "type": {"key": {"type": "uuid",
85                           "refTable": "Controller"},
86                   "min": 0, "max": "unlimited"}},
87        "fail_mode": {
88          "type": {"key": {"type": "string",
89                           "enum": ["set", ["standalone", "secure"]]},
90                   "min": 0, "max": 1}},
91        "status": {
92          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
93          "ephemeral": true},
94        "other_config": {
95          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
96        "external_ids": {
97          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
98        "flood_vlans": {
99          "type": {"key": {"type": "integer",
100                           "minInteger": 0,
101                           "maxInteger": 4095},
102                   "min": 0, "max": 4096}}},
103      "indexes": [["name"]]},
104    "Port": {
105      "columns": {
106        "name": {
107          "type": "string",
108          "mutable": false},
109        "interfaces": {
110          "type": {"key": {"type": "uuid",
111                           "refTable": "Interface"},
112                   "min": 1, "max": "unlimited"}},
113        "trunks": {
114          "type": {"key": {"type": "integer",
115                           "minInteger": 0,
116                           "maxInteger": 4095},
117                   "min": 0, "max": 4096}},
118        "tag": {
119          "type": {"key": {"type": "integer",
120                           "minInteger": 0,
121                           "maxInteger": 4095},
122                   "min": 0, "max": 1}},
123        "vlan_mode": {
124          "type": {"key": {"type": "string",
125            "enum": ["set", ["trunk", "access", "native-tagged", "native-untagged"]]},
126          "min": 0, "max": 1}},
127        "qos": {
128          "type": {"key": {"type": "uuid",
129                           "refTable": "QoS"},
130                   "min": 0, "max": 1}},
131        "mac": {
132          "type": {"key": {"type": "string"},
133                   "min": 0, "max": 1}},
134        "bond_mode": {
135          "type": {"key": {"type": "string",
136            "enum": ["set", ["balance-tcp", "balance-slb", "active-backup", "stable"]]},
137          "min": 0, "max": 1}},
138        "lacp": {
139          "type": {"key": {"type": "string",
140            "enum": ["set", ["active", "passive", "off"]]},
141          "min": 0, "max": 1}},
142        "bond_updelay": {
143          "type": "integer"},
144        "bond_downdelay": {
145          "type": "integer"},
146        "bond_fake_iface": {
147          "type": "boolean"},
148        "fake_bridge": {
149          "type": "boolean"},
150        "status": {
151          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
152          "ephemeral": true},
153        "other_config": {
154          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
155        "external_ids": {
156          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}}},
157      "indexes": [["name"]]},
158    "Interface": {
159      "columns": {
160        "name": {
161          "type": "string",
162          "mutable": false},
163        "type": {
164          "type": "string"},
165        "options": {
166          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
167        "ingress_policing_rate": {
168          "type": {"key": {"type": "integer",
169                           "minInteger": 0}}},
170        "ingress_policing_burst": {
171          "type": {"key": {"type": "integer",
172                           "minInteger": 0}}},
173        "mac": {
174          "type": {"key": {"type": "string"},
175                   "min": 0, "max": 1}},
176        "external_ids": {
177          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
178        "ofport": {
179          "type": {"key": "integer", "min": 0, "max": 1},
180          "ephemeral": true},
181        "cfm_mpid": {
182          "type": {
183            "key": {"type": "integer"},
184            "min": 0,
185            "max": 1}},
186        "cfm_remote_mpids": {
187          "type": {
188            "key": {"type": "integer"},
189            "min": 0,
190            "max": "unlimited"},
191          "ephemeral": true},
192        "cfm_fault": {
193          "type": {
194            "key": { "type": "boolean"},
195            "min": 0,
196            "max": 1},
197          "ephemeral": true},
198        "lacp_current": {
199          "type": {"key": {"type": "boolean"},
200                   "min": 0, "max": 1},
201          "ephemeral": true},
202        "other_config": {
203          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
204        "statistics": {
205          "type": {"key": "string", "value": "integer", "min": 0, "max": "unlimited"},
206          "ephemeral": true},
207        "status": {
208          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
209          "ephemeral": true},
210        "admin_state": {
211          "type": {"key": {"type": "string",
212                           "enum": ["set", ["up", "down"]]},
213                   "min": 0, "max": 1},
214          "ephemeral": true},
215        "link_state": {
216          "type": {"key": {"type": "string",
217                           "enum": ["set", ["up", "down"]]},
218                   "min": 0, "max": 1},
219          "ephemeral": true},
220        "link_resets": {
221          "type": {"key": {"type": "integer"},
222                   "min": 0, "max": 1},
223          "ephemeral": true},
224        "link_speed": {
225          "type": {"key": "integer", "min": 0, "max": 1},
226          "ephemeral": true},
227        "duplex": {
228          "type": {"key": {"type": "string",
229                           "enum": ["set", ["half", "full"]]},
230                   "min": 0, "max": 1},
231          "ephemeral": true},
232        "mtu": {
233          "type": {"key": "integer", "min": 0, "max": 1},
234          "ephemeral": true}},
235      "indexes": [["name"]]},
236    "QoS": {
237      "columns": {
238        "type": {
239          "type": "string"},
240        "queues": {
241          "type": {"key": {"type": "integer",
242                           "minInteger": 0,
243                           "maxInteger": 4294967295},
244                   "value": {"type": "uuid",
245                             "refTable": "Queue"},
246                   "min": 0, "max": "unlimited"}},
247        "other_config": {
248          "type": {"key": "string", "value": "string",
249                   "min": 0, "max": "unlimited"}},
250        "external_ids": {
251          "type": {"key": "string", "value": "string",
252                   "min": 0, "max": "unlimited"}}},
253      "isRoot": true},
254    "Queue": {
255      "columns": {
256        "other_config": {
257          "type": {"key": "string", "value": "string",
258                   "min": 0, "max": "unlimited"}},
259        "external_ids": {
260          "type": {"key": "string", "value": "string",
261                   "min": 0, "max": "unlimited"}}},
262      "isRoot": true},
263    "Mirror": {
264      "columns": {
265        "name": {
266          "type": "string"},
267        "select_all": {
268          "type": "boolean"},
269        "select_src_port": {
270          "type": {"key": {"type": "uuid",
271                           "refTable": "Port",
272                           "refType": "weak"},
273                    "min": 0, "max": "unlimited"}},
274        "select_dst_port": {
275          "type": {"key": {"type": "uuid",
276                           "refTable": "Port",
277                           "refType": "weak"},
278                    "min": 0, "max": "unlimited"}},
279        "select_vlan": {
280          "type": {"key": {"type": "integer",
281                           "minInteger": 0,
282                           "maxInteger": 4095},
283                   "min": 0, "max": 4096}},
284        "output_port": {
285          "type": {"key": {"type": "uuid",
286                           "refTable": "Port",
287                           "refType": "weak"},
288                   "min": 0, "max": 1}},
289        "output_vlan": {
290          "type": {"key": {"type": "integer",
291                           "minInteger": 1,
292                           "maxInteger": 4095},
293                   "min": 0, "max": 1}},
294        "external_ids": {
295          "type": {"key": "string", "value": "string",
296                   "min": 0, "max": "unlimited"}}}},
297    "NetFlow": {
298      "columns": {
299        "targets": {
300          "type": {"key": {"type": "string"},
301                   "min": 1, "max": "unlimited"}},
302        "engine_type": {
303          "type": {"key": {"type": "integer",
304                           "minInteger": 0,
305                           "maxInteger": 255},
306                   "min": 0, "max": 1}},
307        "engine_id": {
308          "type": {"key": {"type": "integer",
309                           "minInteger": 0,
310                           "maxInteger": 255},
311                   "min": 0, "max": 1}},
312        "add_id_to_interface": {
313          "type": "boolean"},
314        "active_timeout": {
315          "type": {"key": {"type": "integer",
316                           "minInteger": -1}}},
317        "external_ids": {
318          "type": {"key": "string", "value": "string",
319                   "min": 0, "max": "unlimited"}}}},
320    "sFlow": {
321      "columns": {
322        "targets": {
323          "type": {"key": "string", "min": 1, "max": "unlimited"}},
324        "sampling": {
325          "type": {"key": "integer", "min": 0, "max": 1}},
326        "polling": {
327          "type": {"key": "integer", "min": 0, "max": 1}},
328        "header": {
329          "type": {"key": "integer", "min": 0, "max": 1}},
330        "agent": {
331          "type": {"key": "string", "min": 0, "max": 1}},
332        "external_ids": {
333          "type": {"key": "string", "value": "string",
334                   "min": 0, "max": "unlimited"}}}},
335    "Controller": {
336      "columns": {
337        "target": {
338          "type": "string"},
339        "max_backoff": {
340          "type": {"key": {"type": "integer",
341                           "minInteger": 1000},
342                   "min": 0, "max": 1}},
343        "inactivity_probe": {
344          "type": {"key": "integer", "min": 0, "max": 1}},
345        "connection_mode": {
346          "type": {"key": {"type": "string",
347                   "enum": ["set", ["in-band", "out-of-band"]]},
348                   "min": 0, "max": 1}},
349        "local_ip": {
350          "type": {"key": {"type": "string"},
351                   "min": 0, "max": 1}},
352        "local_netmask": {
353          "type": {"key": {"type": "string"},
354                   "min": 0, "max": 1}},
355        "local_gateway": {
356          "type": {"key": {"type": "string"},
357                   "min": 0, "max": 1}},
358        "controller_rate_limit": {
359          "type": {"key": {"type": "integer",
360                           "minInteger": 100},
361                   "min": 0, "max": 1}},
362        "controller_burst_limit": {
363          "type": {"key": {"type": "integer",
364                           "minInteger": 25},
365                   "min": 0, "max": 1}},
366        "external_ids": {
367          "type": {"key": "string", "value": "string",
368                   "min": 0, "max": "unlimited"}},
369        "is_connected": {
370          "type": "boolean",
371          "ephemeral": true},
372        "role": {
373          "type": {"key": {"type": "string",
374                           "enum": ["set", ["other", "master", "slave"]]},
375                   "min": 0, "max": 1},
376          "ephemeral": true},
377        "status": {
378          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
379          "ephemeral": true}}},
380    "Manager": {
381      "columns": {
382        "target": {
383          "type": "string"},
384        "max_backoff": {
385          "type": {"key": {"type": "integer",
386                           "minInteger": 1000},
387                   "min": 0, "max": 1}},
388        "inactivity_probe": {
389          "type": {"key": "integer", "min": 0, "max": 1}},
390        "connection_mode": {
391          "type": {"key": {"type": "string",
392                   "enum": ["set", ["in-band", "out-of-band"]]},
393                   "min": 0, "max": 1}},
394        "external_ids": {
395          "type": {"key": "string", "value": "string",
396                   "min": 0, "max": "unlimited"}},
397        "is_connected": {
398          "type": "boolean",
399          "ephemeral": true},
400        "status": {
401          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
402          "ephemeral": true}},
403      "indexes": [["target"]]},
404    "SSL": {
405      "columns": {
406        "private_key": {
407          "type": "string"},
408        "certificate": {
409          "type": "string"},
410        "ca_cert": {
411          "type": "string"},
412        "bootstrap_ca_cert": {
413          "type": "boolean"},
414        "external_ids": {
415          "type": {"key": "string", "value": "string",
416                   "min": 0, "max": "unlimited"}}},
417      "maxRows": 1}}}