netlink-socket: Add functions for joining and leaving multicast groups.
[sliver-openvswitch.git] / vswitchd / vswitch.ovsschema
1 {"name": "Open_vSwitch",
2  "version": "1.1.0",
3  "cksum": "815766362 15358",
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_mode": {
124          "type": {"key": {"type": "string",
125            "enum": ["set", ["balance-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        "mac": {
155          "type": {"key": {"type": "string"},
156                   "min": 0, "max": 1}},
157        "external_ids": {
158          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
159        "ofport": {
160          "type": {"key": "integer", "min": 0, "max": 1},
161          "ephemeral": true},
162        "monitor": {
163          "type": {
164            "key": {"type": "uuid", "refTable": "Monitor"},
165            "min": 0,
166            "max": 1}},
167        "other_config": {
168          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
169        "statistics": {
170          "type": {"key": "string", "value": "integer", "min": 0, "max": "unlimited"},
171          "ephemeral": true},
172        "status": {
173          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
174          "ephemeral": true},
175        "admin_state": {
176          "type": {"key": {"type": "string",
177                           "enum": ["set", ["up", "down"]]},
178                   "min": 0, "max": 1},
179          "ephemeral": true},
180        "link_state": {
181          "type": {"key": {"type": "string",
182                           "enum": ["set", ["up", "down"]]},
183                   "min": 0, "max": 1},
184          "ephemeral": true},
185        "link_speed": {
186          "type": {"key": "integer", "min": 0, "max": 1},
187          "ephemeral": true},
188        "duplex": {
189          "type": {"key": {"type": "string",
190                           "enum": ["set", ["half", "full"]]},
191                   "min": 0, "max": 1},
192          "ephemeral": true},
193        "mtu": {
194          "type": {"key": "integer", "min": 0, "max": 1},
195          "ephemeral": true}}},
196    "Monitor": {
197      "columns": {
198        "mpid": {
199          "type" : {
200            "key": { "type": "integer", "minInteger": 1, "maxInteger": 8191}}},
201        "md_name": {
202          "type" : {
203            "key": { "type": "string", "minLength": 1, "maxLength": 43},
204            "min": 0,
205            "max": 1}},
206        "ma_name": {
207          "type" : {
208            "key": { "type": "string", "minLength": 1, "maxLength": 43},
209            "min": 0,
210            "max": 1}},
211        "interval": {
212          "type": {
213            "key": { "type": "integer", "minInteger": 100},
214            "min": 0,
215            "max": 1}},
216        "remote_mps": {
217          "type": {
218            "key": { "type": "uuid", "refTable": "Maintenance_Point"},
219            "min": 0,
220            "max": "unlimited"},
221          "ephemeral": true},
222        "unexpected_remote_mpids": {
223          "type": {
224            "key": { "type": "integer"},
225            "min": 0,
226            "max": "unlimited"},
227          "ephemeral": true},
228        "unexpected_remote_maids": {
229          "type": {
230            "key": "string",
231            "min": 0,
232            "max": "unlimited"},
233          "ephemeral": true},
234        "fault": {
235          "type": {
236            "key": { "type": "boolean"},
237            "min": 0,
238            "max": 1},
239          "ephemeral": true}}},
240    "Maintenance_Point": {
241      "columns": {
242        "mpid": {
243          "type" : {
244            "key": { "type": "integer", "minInteger": 1, "maxInteger": 8191}},
245          "mutable": false},
246        "fault": {
247          "type": {
248            "key": { "type": "boolean"},
249            "min": 0,
250            "max": 1},
251          "ephemeral": true}}},
252    "QoS": {
253      "columns": {
254        "type": {
255          "type": "string"},
256        "queues": {
257          "type": {"key": {"type": "integer",
258                           "minInteger": 0,
259                           "maxInteger": 4294967295},
260                   "value": {"type": "uuid",
261                             "refTable": "Queue"},
262                   "min": 0, "max": "unlimited"}},
263        "other_config": {
264          "type": {"key": "string", "value": "string",
265                   "min": 0, "max": "unlimited"}},
266        "external_ids": {
267          "type": {"key": "string", "value": "string",
268                   "min": 0, "max": "unlimited"}}}},
269    "Queue": {
270      "columns": {
271        "other_config": {
272          "type": {"key": "string", "value": "string",
273                   "min": 0, "max": "unlimited"}},
274        "external_ids": {
275          "type": {"key": "string", "value": "string",
276                   "min": 0, "max": "unlimited"}}}},
277    "Mirror": {
278      "columns": {
279        "name": {
280          "type": "string"},
281        "select_all": {
282          "type": "boolean"
283        },
284        "select_src_port": {
285          "type": {"key": {"type": "uuid",
286                           "refTable": "Port",
287                           "refType": "weak"},
288                    "min": 0, "max": "unlimited"}},
289        "select_dst_port": {
290          "type": {"key": {"type": "uuid",
291                           "refTable": "Port",
292                           "refType": "weak"},
293                    "min": 0, "max": "unlimited"}},
294        "select_vlan": {
295          "type": {"key": {"type": "integer",
296                           "minInteger": 0,
297                           "maxInteger": 4095},
298                   "min": 0, "max": 4096}},
299        "output_port": {
300          "type": {"key": {"type": "uuid",
301                           "refTable": "Port",
302                           "refType": "weak"},
303                   "min": 0, "max": 1}},
304        "output_vlan": {
305          "type": {"key": {"type": "integer",
306                           "minInteger": 1,
307                           "maxInteger": 4095},
308                   "min": 0, "max": 1}},
309        "external_ids": {
310          "type": {"key": "string", "value": "string",
311                   "min": 0, "max": "unlimited"}}}},
312    "NetFlow": {
313      "columns": {
314        "targets": {
315          "type": {"key": {"type": "string"},
316                   "min": 1, "max": "unlimited"}},
317        "engine_type": {
318          "type": {"key": {"type": "integer",
319                           "minInteger": 0,
320                           "maxInteger": 255},
321                   "min": 0, "max": 1}},
322        "engine_id": {
323          "type": {"key": {"type": "integer",
324                           "minInteger": 0,
325                           "maxInteger": 255},
326                   "min": 0, "max": 1}},
327        "add_id_to_interface": {
328          "type": "boolean"},
329        "active_timeout": {
330          "type": {"key": {"type": "integer",
331                           "minInteger": -1}}},
332        "external_ids": {
333          "type": {"key": "string", "value": "string",
334                   "min": 0, "max": "unlimited"}}}},
335    "sFlow": {
336      "columns": {
337        "targets": {
338          "type": {"key": "string", "min": 1, "max": "unlimited"}},
339        "sampling": {
340          "type": {"key": "integer", "min": 0, "max": 1}},
341        "polling": {
342          "type": {"key": "integer", "min": 0, "max": 1}},
343        "header": {
344          "type": {"key": "integer", "min": 0, "max": 1}},
345        "agent": {
346          "type": {"key": "string", "min": 0, "max": 1}},
347        "external_ids": {
348          "type": {"key": "string", "value": "string",
349                   "min": 0, "max": "unlimited"}}}},
350    "Controller": {
351      "columns": {
352        "target": {
353          "type": "string"},
354        "max_backoff": {
355          "type": {"key": {"type": "integer",
356                           "minInteger": 1000},
357                   "min": 0, "max": 1}},
358        "inactivity_probe": {
359          "type": {"key": "integer", "min": 0, "max": 1}},
360        "discover_accept_regex": {
361          "type": {"key": "string", "min": 0, "max": 1}},
362        "discover_update_resolv_conf": {
363          "type": {"key": "boolean", "min": 0, "max": 1}},
364        "connection_mode": {
365          "type": {"key": {"type": "string",
366                   "enum": ["set", ["in-band", "out-of-band"]]},
367                   "min": 0, "max": 1}},
368        "local_ip": {
369          "type": {"key": {"type": "string"},
370                   "min": 0, "max": 1}},
371        "local_netmask": {
372          "type": {"key": {"type": "string"},
373                   "min": 0, "max": 1}},
374        "local_gateway": {
375          "type": {"key": {"type": "string"},
376                   "min": 0, "max": 1}},
377        "controller_rate_limit": {
378          "type": {"key": {"type": "integer",
379                           "minInteger": 100},
380                   "min": 0, "max": 1}},
381        "controller_burst_limit": {
382          "type": {"key": {"type": "integer",
383                           "minInteger": 25},
384                   "min": 0, "max": 1}},
385        "external_ids": {
386          "type": {"key": "string", "value": "string",
387                   "min": 0, "max": "unlimited"}},
388        "is_connected": {
389          "type": "boolean",
390          "ephemeral": true},
391        "role": {
392          "type": {"key": {"type": "string",
393                           "enum": ["set", ["other", "master", "slave"]]},
394                   "min": 0, "max": 1},
395          "ephemeral": true},
396        "status": {
397          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
398          "ephemeral": true}}},
399    "Manager": {
400      "columns": {
401        "target": {
402          "type": "string"},
403        "max_backoff": {
404          "type": {"key": {"type": "integer",
405                           "minInteger": 1000},
406                   "min": 0, "max": 1}},
407        "inactivity_probe": {
408          "type": {"key": "integer", "min": 0, "max": 1}},
409        "connection_mode": {
410          "type": {"key": {"type": "string",
411                   "enum": ["set", ["in-band", "out-of-band"]]},
412                   "min": 0, "max": 1}},
413        "external_ids": {
414          "type": {"key": "string", "value": "string",
415                   "min": 0, "max": "unlimited"}}}},
416    "SSL": {
417      "columns": {
418        "private_key": {
419          "type": "string"},
420        "certificate": {
421          "type": "string"},
422        "ca_cert": {
423          "type": "string"},
424        "bootstrap_ca_cert": {
425          "type": "boolean"},
426        "external_ids": {
427          "type": {"key": "string", "value": "string",
428                   "min": 0, "max": "unlimited"}}},
429      "maxRows": 1}}}