Implement IPFIX export
[cascardo/ovs.git] / vswitchd / vswitch.ovsschema
1 {"name": "Open_vSwitch",
2  "version": "7.1.0",
3  "cksum": "432130924 19191",
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        "statistics": {
29          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
30          "ephemeral": true},
31        "ovs_version": {
32          "type": {"key": {"type": "string"},
33                   "min": 0, "max": 1}},
34        "db_version": {
35          "type": {"key": {"type": "string"},
36                   "min": 0, "max": 1}},
37        "system_type": {
38          "type": {"key": {"type": "string"},
39                   "min": 0, "max": 1}},
40        "system_version": {
41          "type": {"key": {"type": "string"},
42                   "min": 0, "max": 1}}},
43      "isRoot": true,
44      "maxRows": 1},
45    "Bridge": {
46      "columns": {
47        "name": {
48          "type": "string",
49          "mutable": false},
50        "datapath_type": {
51          "type": "string"},
52        "datapath_id": {
53          "type": {"key": "string", "min": 0, "max": 1},
54          "ephemeral": true},
55        "stp_enable": {
56          "type": "boolean"},
57        "ports": {
58          "type": {"key": {"type": "uuid",
59                           "refTable": "Port"},
60                   "min": 0, "max": "unlimited"}},
61        "mirrors": {
62          "type": {"key": {"type": "uuid",
63                           "refTable": "Mirror"},
64                   "min": 0, "max": "unlimited"}},
65        "netflow": {
66          "type": {"key": {"type": "uuid",
67                           "refTable": "NetFlow"},
68                   "min": 0, "max": 1}},
69        "sflow": {
70          "type": {"key": {"type": "uuid",
71                           "refTable": "sFlow"},
72                   "min": 0, "max": 1}},
73        "ipfix": {
74          "type": {"key": {"type": "uuid",
75                           "refTable": "IPFIX"},
76                   "min": 0, "max": 1}},
77        "controller": {
78          "type": {"key": {"type": "uuid",
79                           "refTable": "Controller"},
80                   "min": 0, "max": "unlimited"}},
81        "protocols": {
82          "type": {"key": {"type": "string",
83            "enum": ["set", ["OpenFlow10", "OpenFlow12", "OpenFlow13"]]},
84            "min": 0, "max": "unlimited"}},
85        "fail_mode": {
86          "type": {"key": {"type": "string",
87                           "enum": ["set", ["standalone", "secure"]]},
88                   "min": 0, "max": 1}},
89        "status": {
90          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
91          "ephemeral": true},
92        "other_config": {
93          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
94        "external_ids": {
95          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
96        "flood_vlans": {
97          "type": {"key": {"type": "integer",
98                           "minInteger": 0,
99                           "maxInteger": 4095},
100                   "min": 0, "max": 4096}},
101        "flow_tables": {
102          "type": {"key": {"type": "integer",
103                           "minInteger": 0,
104                           "maxInteger": 254},
105                   "value": {"type": "uuid",
106                             "refTable": "Flow_Table"},
107                   "min": 0, "max": "unlimited"}}},
108      "indexes": [["name"]]},
109    "Port": {
110      "columns": {
111        "name": {
112          "type": "string",
113          "mutable": false},
114        "interfaces": {
115          "type": {"key": {"type": "uuid",
116                           "refTable": "Interface"},
117                   "min": 1, "max": "unlimited"}},
118        "trunks": {
119          "type": {"key": {"type": "integer",
120                           "minInteger": 0,
121                           "maxInteger": 4095},
122                   "min": 0, "max": 4096}},
123        "tag": {
124          "type": {"key": {"type": "integer",
125                           "minInteger": 0,
126                           "maxInteger": 4095},
127                   "min": 0, "max": 1}},
128        "vlan_mode": {
129          "type": {"key": {"type": "string",
130            "enum": ["set", ["trunk", "access", "native-tagged", "native-untagged"]]},
131          "min": 0, "max": 1}},
132        "qos": {
133          "type": {"key": {"type": "uuid",
134                           "refTable": "QoS"},
135                   "min": 0, "max": 1}},
136        "mac": {
137          "type": {"key": {"type": "string"},
138                   "min": 0, "max": 1}},
139        "bond_mode": {
140          "type": {"key": {"type": "string",
141            "enum": ["set", ["balance-tcp", "balance-slb", "active-backup"]]},
142          "min": 0, "max": 1}},
143        "lacp": {
144          "type": {"key": {"type": "string",
145            "enum": ["set", ["active", "passive", "off"]]},
146          "min": 0, "max": 1}},
147        "bond_updelay": {
148          "type": "integer"},
149        "bond_downdelay": {
150          "type": "integer"},
151        "bond_fake_iface": {
152          "type": "boolean"},
153        "fake_bridge": {
154          "type": "boolean"},
155        "status": {
156          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
157          "ephemeral": true},
158        "statistics": {
159          "type": {"key": "string", "value": "integer", "min": 0, "max": "unlimited"},
160          "ephemeral": true},
161        "other_config": {
162          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
163        "external_ids": {
164          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}}},
165      "indexes": [["name"]]},
166    "Interface": {
167      "columns": {
168        "name": {
169          "type": "string",
170          "mutable": false},
171        "type": {
172          "type": "string"},
173        "options": {
174          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
175        "ingress_policing_rate": {
176          "type": {"key": {"type": "integer",
177                           "minInteger": 0}}},
178        "ingress_policing_burst": {
179          "type": {"key": {"type": "integer",
180                           "minInteger": 0}}},
181        "mac_in_use": {
182          "type": {"key": {"type": "string"},
183                   "min": 0, "max": 1},
184                   "ephemeral": true},
185        "mac": {
186          "type": {"key": {"type": "string"},
187                   "min": 0, "max": 1}},
188        "external_ids": {
189          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
190        "ofport": {
191          "type": {"key": "integer", "min": 0, "max": 1}},
192        "ofport_request": {
193          "type": {
194            "key": {"type": "integer",
195                    "minInteger": 1,
196                    "maxInteger": 65279},
197            "min": 0,
198            "max": 1}},
199        "cfm_mpid": {
200          "type": {
201            "key": {"type": "integer"},
202            "min": 0,
203            "max": 1}},
204        "cfm_remote_mpids": {
205          "type": {
206            "key": {"type": "integer"},
207            "min": 0,
208            "max": "unlimited"},
209          "ephemeral": true},
210        "cfm_fault": {
211          "type": {
212            "key": { "type": "boolean"},
213            "min": 0,
214            "max": 1},
215          "ephemeral": true},
216        "cfm_fault_status": {
217          "type": {
218            "key": "string", "min": 0, "max": "unlimited"},
219            "ephemeral": true},
220        "cfm_remote_opstate": {
221          "type": {"key": {"type": "string",
222                           "enum": ["set", ["up", "down"]]},
223                   "min": 0, "max": 1},
224          "ephemeral": true},
225        "cfm_health": {
226          "type": {"key": {"type": "integer",
227                           "minInteger": 0,
228                           "maxInteger": 100},
229                   "min": 0, "max": 1},
230            "ephemeral": true},
231        "lacp_current": {
232          "type": {"key": {"type": "boolean"},
233                   "min": 0, "max": 1},
234          "ephemeral": true},
235        "other_config": {
236          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
237        "statistics": {
238          "type": {"key": "string", "value": "integer", "min": 0, "max": "unlimited"},
239          "ephemeral": true},
240        "status": {
241          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
242          "ephemeral": true},
243        "admin_state": {
244          "type": {"key": {"type": "string",
245                           "enum": ["set", ["up", "down"]]},
246                   "min": 0, "max": 1},
247          "ephemeral": true},
248        "link_state": {
249          "type": {"key": {"type": "string",
250                           "enum": ["set", ["up", "down"]]},
251                   "min": 0, "max": 1},
252          "ephemeral": true},
253        "link_resets": {
254          "type": {"key": {"type": "integer"},
255                   "min": 0, "max": 1},
256          "ephemeral": true},
257        "link_speed": {
258          "type": {"key": "integer", "min": 0, "max": 1},
259          "ephemeral": true},
260        "duplex": {
261          "type": {"key": {"type": "string",
262                           "enum": ["set", ["half", "full"]]},
263                   "min": 0, "max": 1},
264          "ephemeral": true},
265        "mtu": {
266          "type": {"key": "integer", "min": 0, "max": 1},
267          "ephemeral": true}},
268      "indexes": [["name"]]},
269    "Flow_Table": {
270      "columns": {
271        "name": {
272          "type": {"key": "string", "min": 0, "max": 1}},
273        "flow_limit": {
274          "type": {"key": {"type": "integer", "minInteger": 0},
275                   "min": 0, "max": 1}},
276        "overflow_policy": {
277          "type": {"key": {"type": "string",
278                           "enum": ["set", ["refuse", "evict"]]},
279                   "min": 0, "max": 1}},
280        "groups": {
281          "type": {"key": "string", "min": 0, "max": "unlimited"}}}},
282    "QoS": {
283      "columns": {
284        "type": {
285          "type": "string"},
286        "queues": {
287          "type": {"key": {"type": "integer",
288                           "minInteger": 0,
289                           "maxInteger": 4294967295},
290                   "value": {"type": "uuid",
291                             "refTable": "Queue"},
292                   "min": 0, "max": "unlimited"}},
293        "other_config": {
294          "type": {"key": "string", "value": "string",
295                   "min": 0, "max": "unlimited"}},
296        "external_ids": {
297          "type": {"key": "string", "value": "string",
298                   "min": 0, "max": "unlimited"}}},
299      "isRoot": true},
300    "Queue": {
301      "columns": {
302        "dscp": {
303          "type": {"key": {"type": "integer",
304                           "minInteger": 0,
305                           "maxInteger": 63},
306                   "min": 0, "max": 1}},
307        "other_config": {
308          "type": {"key": "string", "value": "string",
309                   "min": 0, "max": "unlimited"}},
310        "external_ids": {
311          "type": {"key": "string", "value": "string",
312                   "min": 0, "max": "unlimited"}}},
313      "isRoot": true},
314    "Mirror": {
315      "columns": {
316        "name": {
317          "type": "string"},
318        "select_all": {
319          "type": "boolean"},
320        "select_src_port": {
321          "type": {"key": {"type": "uuid",
322                           "refTable": "Port",
323                           "refType": "weak"},
324                    "min": 0, "max": "unlimited"}},
325        "select_dst_port": {
326          "type": {"key": {"type": "uuid",
327                           "refTable": "Port",
328                           "refType": "weak"},
329                    "min": 0, "max": "unlimited"}},
330        "select_vlan": {
331          "type": {"key": {"type": "integer",
332                           "minInteger": 0,
333                           "maxInteger": 4095},
334                   "min": 0, "max": 4096}},
335        "output_port": {
336          "type": {"key": {"type": "uuid",
337                           "refTable": "Port",
338                           "refType": "weak"},
339                   "min": 0, "max": 1}},
340        "output_vlan": {
341          "type": {"key": {"type": "integer",
342                           "minInteger": 1,
343                           "maxInteger": 4095},
344                   "min": 0, "max": 1}},
345        "statistics": {
346          "type": {"key": "string", "value": "integer",
347                   "min": 0, "max": "unlimited"},
348          "ephemeral": true},
349        "external_ids": {
350          "type": {"key": "string", "value": "string",
351                   "min": 0, "max": "unlimited"}}}},
352    "NetFlow": {
353      "columns": {
354        "targets": {
355          "type": {"key": {"type": "string"},
356                   "min": 1, "max": "unlimited"}},
357        "engine_type": {
358          "type": {"key": {"type": "integer",
359                           "minInteger": 0,
360                           "maxInteger": 255},
361                   "min": 0, "max": 1}},
362        "engine_id": {
363          "type": {"key": {"type": "integer",
364                           "minInteger": 0,
365                           "maxInteger": 255},
366                   "min": 0, "max": 1}},
367        "add_id_to_interface": {
368          "type": "boolean"},
369        "active_timeout": {
370          "type": {"key": {"type": "integer",
371                           "minInteger": -1}}},
372        "external_ids": {
373          "type": {"key": "string", "value": "string",
374                   "min": 0, "max": "unlimited"}}}},
375    "sFlow": {
376      "columns": {
377        "targets": {
378          "type": {"key": "string", "min": 1, "max": "unlimited"}},
379        "sampling": {
380          "type": {"key": "integer", "min": 0, "max": 1}},
381        "polling": {
382          "type": {"key": "integer", "min": 0, "max": 1}},
383        "header": {
384          "type": {"key": "integer", "min": 0, "max": 1}},
385        "agent": {
386          "type": {"key": "string", "min": 0, "max": 1}},
387        "external_ids": {
388          "type": {"key": "string", "value": "string",
389                   "min": 0, "max": "unlimited"}}}},
390    "IPFIX": {
391      "columns": {
392        "targets": {
393          "type": {"key": "string", "min": 1, "max": "unlimited"}},
394        "sampling": {
395          "type": {"key": {"type": "integer",
396                           "minInteger": 1,
397                           "maxInteger": 4294967295},
398                   "min": 0, "max": 1}},
399        "obs_domain_id": {
400          "type": {"key": {"type": "integer",
401                           "minInteger": 0,
402                           "maxInteger": 4294967295},
403                   "min": 0, "max": 1}},
404        "obs_point_id": {
405          "type": {"key": {"type": "integer",
406                           "minInteger": 0,
407                           "maxInteger": 4294967295},
408                   "min": 0, "max": 1}},
409        "external_ids": {
410          "type": {"key": "string", "value": "string",
411                   "min": 0, "max": "unlimited"}}}},
412    "Flow_Sample_Collector_Set": {
413      "columns": {
414        "id": {
415          "type": {"key": {"type": "integer",
416                           "minInteger": 0,
417                           "maxInteger": 4294967295},
418                   "min": 1, "max": 1}},
419        "bridge": {
420          "type": {"key": {"type": "uuid",
421                           "refTable": "Bridge"},
422                   "min": 1, "max": 1}},
423        "ipfix": {
424          "type": {"key": {"type": "uuid",
425                           "refTable": "IPFIX"},
426                   "min": 0, "max": 1}},
427        "external_ids": {
428          "type": {"key": "string", "value": "string",
429                   "min": 0, "max": "unlimited"}}},
430      "isRoot": true,
431      "indexes": [["id", "bridge"]]},
432    "Controller": {
433      "columns": {
434        "target": {
435          "type": "string"},
436        "max_backoff": {
437          "type": {"key": {"type": "integer",
438                           "minInteger": 1000},
439                   "min": 0, "max": 1}},
440        "inactivity_probe": {
441          "type": {"key": "integer", "min": 0, "max": 1}},
442        "connection_mode": {
443          "type": {"key": {"type": "string",
444                   "enum": ["set", ["in-band", "out-of-band"]]},
445                   "min": 0, "max": 1}},
446        "local_ip": {
447          "type": {"key": {"type": "string"},
448                   "min": 0, "max": 1}},
449        "local_netmask": {
450          "type": {"key": {"type": "string"},
451                   "min": 0, "max": 1}},
452        "local_gateway": {
453          "type": {"key": {"type": "string"},
454                   "min": 0, "max": 1}},
455        "enable_async_messages": {
456          "type": {"key": {"type": "boolean"},
457                   "min": 0, "max": 1}},
458        "controller_rate_limit": {
459          "type": {"key": {"type": "integer",
460                           "minInteger": 100},
461                   "min": 0, "max": 1}},
462        "controller_burst_limit": {
463          "type": {"key": {"type": "integer",
464                           "minInteger": 25},
465                   "min": 0, "max": 1}},
466        "other_config": {
467          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
468        "external_ids": {
469          "type": {"key": "string", "value": "string",
470                   "min": 0, "max": "unlimited"}},
471        "is_connected": {
472          "type": "boolean",
473          "ephemeral": true},
474        "role": {
475          "type": {"key": {"type": "string",
476                           "enum": ["set", ["other", "master", "slave"]]},
477                   "min": 0, "max": 1},
478          "ephemeral": true},
479        "status": {
480          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
481          "ephemeral": true}}},
482    "Manager": {
483      "columns": {
484        "target": {
485          "type": "string"},
486        "max_backoff": {
487          "type": {"key": {"type": "integer",
488                           "minInteger": 1000},
489                   "min": 0, "max": 1}},
490        "inactivity_probe": {
491          "type": {"key": "integer", "min": 0, "max": 1}},
492        "connection_mode": {
493          "type": {"key": {"type": "string",
494                   "enum": ["set", ["in-band", "out-of-band"]]},
495                   "min": 0, "max": 1}},
496        "other_config": {
497          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
498        "external_ids": {
499          "type": {"key": "string", "value": "string",
500                   "min": 0, "max": "unlimited"}},
501        "is_connected": {
502          "type": "boolean",
503          "ephemeral": true},
504        "status": {
505          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
506          "ephemeral": true}},
507      "indexes": [["target"]]},
508    "SSL": {
509      "columns": {
510        "private_key": {
511          "type": "string"},
512        "certificate": {
513          "type": "string"},
514        "ca_cert": {
515          "type": "string"},
516        "bootstrap_ca_cert": {
517          "type": "boolean"},
518        "external_ids": {
519          "type": {"key": "string", "value": "string",
520                   "min": 0, "max": "unlimited"}}},
521      "maxRows": 1}}}