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