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