bfd: Implement Bidirectional Forwarding Detection.
[cascardo/ovs.git] / vswitchd / vswitch.ovsschema
1 {"name": "Open_vSwitch",
2  "version": "7.2.0",
3  "cksum": "543912409 19436",
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        "bfd": {
200            "type": {"key": "string", "value": "string",
201                "min": 0, "max": "unlimited"}},
202        "bfd_status": {
203            "type": {"key": "string", "value": "string",
204                "min": 0, "max": "unlimited"}},
205        "cfm_mpid": {
206          "type": {
207            "key": {"type": "integer"},
208            "min": 0,
209            "max": 1}},
210        "cfm_remote_mpids": {
211          "type": {
212            "key": {"type": "integer"},
213            "min": 0,
214            "max": "unlimited"},
215          "ephemeral": true},
216        "cfm_fault": {
217          "type": {
218            "key": { "type": "boolean"},
219            "min": 0,
220            "max": 1},
221          "ephemeral": true},
222        "cfm_fault_status": {
223          "type": {
224            "key": "string", "min": 0, "max": "unlimited"},
225            "ephemeral": true},
226        "cfm_remote_opstate": {
227          "type": {"key": {"type": "string",
228                           "enum": ["set", ["up", "down"]]},
229                   "min": 0, "max": 1},
230          "ephemeral": true},
231        "cfm_health": {
232          "type": {"key": {"type": "integer",
233                           "minInteger": 0,
234                           "maxInteger": 100},
235                   "min": 0, "max": 1},
236            "ephemeral": true},
237        "lacp_current": {
238          "type": {"key": {"type": "boolean"},
239                   "min": 0, "max": 1},
240          "ephemeral": true},
241        "other_config": {
242          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
243        "statistics": {
244          "type": {"key": "string", "value": "integer", "min": 0, "max": "unlimited"},
245          "ephemeral": true},
246        "status": {
247          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
248          "ephemeral": true},
249        "admin_state": {
250          "type": {"key": {"type": "string",
251                           "enum": ["set", ["up", "down"]]},
252                   "min": 0, "max": 1},
253          "ephemeral": true},
254        "link_state": {
255          "type": {"key": {"type": "string",
256                           "enum": ["set", ["up", "down"]]},
257                   "min": 0, "max": 1},
258          "ephemeral": true},
259        "link_resets": {
260          "type": {"key": {"type": "integer"},
261                   "min": 0, "max": 1},
262          "ephemeral": true},
263        "link_speed": {
264          "type": {"key": "integer", "min": 0, "max": 1},
265          "ephemeral": true},
266        "duplex": {
267          "type": {"key": {"type": "string",
268                           "enum": ["set", ["half", "full"]]},
269                   "min": 0, "max": 1},
270          "ephemeral": true},
271        "mtu": {
272          "type": {"key": "integer", "min": 0, "max": 1},
273          "ephemeral": true}},
274      "indexes": [["name"]]},
275    "Flow_Table": {
276      "columns": {
277        "name": {
278          "type": {"key": "string", "min": 0, "max": 1}},
279        "flow_limit": {
280          "type": {"key": {"type": "integer", "minInteger": 0},
281                   "min": 0, "max": 1}},
282        "overflow_policy": {
283          "type": {"key": {"type": "string",
284                           "enum": ["set", ["refuse", "evict"]]},
285                   "min": 0, "max": 1}},
286        "groups": {
287          "type": {"key": "string", "min": 0, "max": "unlimited"}}}},
288    "QoS": {
289      "columns": {
290        "type": {
291          "type": "string"},
292        "queues": {
293          "type": {"key": {"type": "integer",
294                           "minInteger": 0,
295                           "maxInteger": 4294967295},
296                   "value": {"type": "uuid",
297                             "refTable": "Queue"},
298                   "min": 0, "max": "unlimited"}},
299        "other_config": {
300          "type": {"key": "string", "value": "string",
301                   "min": 0, "max": "unlimited"}},
302        "external_ids": {
303          "type": {"key": "string", "value": "string",
304                   "min": 0, "max": "unlimited"}}},
305      "isRoot": true},
306    "Queue": {
307      "columns": {
308        "dscp": {
309          "type": {"key": {"type": "integer",
310                           "minInteger": 0,
311                           "maxInteger": 63},
312                   "min": 0, "max": 1}},
313        "other_config": {
314          "type": {"key": "string", "value": "string",
315                   "min": 0, "max": "unlimited"}},
316        "external_ids": {
317          "type": {"key": "string", "value": "string",
318                   "min": 0, "max": "unlimited"}}},
319      "isRoot": true},
320    "Mirror": {
321      "columns": {
322        "name": {
323          "type": "string"},
324        "select_all": {
325          "type": "boolean"},
326        "select_src_port": {
327          "type": {"key": {"type": "uuid",
328                           "refTable": "Port",
329                           "refType": "weak"},
330                    "min": 0, "max": "unlimited"}},
331        "select_dst_port": {
332          "type": {"key": {"type": "uuid",
333                           "refTable": "Port",
334                           "refType": "weak"},
335                    "min": 0, "max": "unlimited"}},
336        "select_vlan": {
337          "type": {"key": {"type": "integer",
338                           "minInteger": 0,
339                           "maxInteger": 4095},
340                   "min": 0, "max": 4096}},
341        "output_port": {
342          "type": {"key": {"type": "uuid",
343                           "refTable": "Port",
344                           "refType": "weak"},
345                   "min": 0, "max": 1}},
346        "output_vlan": {
347          "type": {"key": {"type": "integer",
348                           "minInteger": 1,
349                           "maxInteger": 4095},
350                   "min": 0, "max": 1}},
351        "statistics": {
352          "type": {"key": "string", "value": "integer",
353                   "min": 0, "max": "unlimited"},
354          "ephemeral": true},
355        "external_ids": {
356          "type": {"key": "string", "value": "string",
357                   "min": 0, "max": "unlimited"}}}},
358    "NetFlow": {
359      "columns": {
360        "targets": {
361          "type": {"key": {"type": "string"},
362                   "min": 1, "max": "unlimited"}},
363        "engine_type": {
364          "type": {"key": {"type": "integer",
365                           "minInteger": 0,
366                           "maxInteger": 255},
367                   "min": 0, "max": 1}},
368        "engine_id": {
369          "type": {"key": {"type": "integer",
370                           "minInteger": 0,
371                           "maxInteger": 255},
372                   "min": 0, "max": 1}},
373        "add_id_to_interface": {
374          "type": "boolean"},
375        "active_timeout": {
376          "type": {"key": {"type": "integer",
377                           "minInteger": -1}}},
378        "external_ids": {
379          "type": {"key": "string", "value": "string",
380                   "min": 0, "max": "unlimited"}}}},
381    "sFlow": {
382      "columns": {
383        "targets": {
384          "type": {"key": "string", "min": 1, "max": "unlimited"}},
385        "sampling": {
386          "type": {"key": "integer", "min": 0, "max": 1}},
387        "polling": {
388          "type": {"key": "integer", "min": 0, "max": 1}},
389        "header": {
390          "type": {"key": "integer", "min": 0, "max": 1}},
391        "agent": {
392          "type": {"key": "string", "min": 0, "max": 1}},
393        "external_ids": {
394          "type": {"key": "string", "value": "string",
395                   "min": 0, "max": "unlimited"}}}},
396    "IPFIX": {
397      "columns": {
398        "targets": {
399          "type": {"key": "string", "min": 1, "max": "unlimited"}},
400        "sampling": {
401          "type": {"key": {"type": "integer",
402                           "minInteger": 1,
403                           "maxInteger": 4294967295},
404                   "min": 0, "max": 1}},
405        "obs_domain_id": {
406          "type": {"key": {"type": "integer",
407                           "minInteger": 0,
408                           "maxInteger": 4294967295},
409                   "min": 0, "max": 1}},
410        "obs_point_id": {
411          "type": {"key": {"type": "integer",
412                           "minInteger": 0,
413                           "maxInteger": 4294967295},
414                   "min": 0, "max": 1}},
415        "external_ids": {
416          "type": {"key": "string", "value": "string",
417                   "min": 0, "max": "unlimited"}}}},
418    "Flow_Sample_Collector_Set": {
419      "columns": {
420        "id": {
421          "type": {"key": {"type": "integer",
422                           "minInteger": 0,
423                           "maxInteger": 4294967295},
424                   "min": 1, "max": 1}},
425        "bridge": {
426          "type": {"key": {"type": "uuid",
427                           "refTable": "Bridge"},
428                   "min": 1, "max": 1}},
429        "ipfix": {
430          "type": {"key": {"type": "uuid",
431                           "refTable": "IPFIX"},
432                   "min": 0, "max": 1}},
433        "external_ids": {
434          "type": {"key": "string", "value": "string",
435                   "min": 0, "max": "unlimited"}}},
436      "isRoot": true,
437      "indexes": [["id", "bridge"]]},
438    "Controller": {
439      "columns": {
440        "target": {
441          "type": "string"},
442        "max_backoff": {
443          "type": {"key": {"type": "integer",
444                           "minInteger": 1000},
445                   "min": 0, "max": 1}},
446        "inactivity_probe": {
447          "type": {"key": "integer", "min": 0, "max": 1}},
448        "connection_mode": {
449          "type": {"key": {"type": "string",
450                   "enum": ["set", ["in-band", "out-of-band"]]},
451                   "min": 0, "max": 1}},
452        "local_ip": {
453          "type": {"key": {"type": "string"},
454                   "min": 0, "max": 1}},
455        "local_netmask": {
456          "type": {"key": {"type": "string"},
457                   "min": 0, "max": 1}},
458        "local_gateway": {
459          "type": {"key": {"type": "string"},
460                   "min": 0, "max": 1}},
461        "enable_async_messages": {
462          "type": {"key": {"type": "boolean"},
463                   "min": 0, "max": 1}},
464        "controller_rate_limit": {
465          "type": {"key": {"type": "integer",
466                           "minInteger": 100},
467                   "min": 0, "max": 1}},
468        "controller_burst_limit": {
469          "type": {"key": {"type": "integer",
470                           "minInteger": 25},
471                   "min": 0, "max": 1}},
472        "other_config": {
473          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
474        "external_ids": {
475          "type": {"key": "string", "value": "string",
476                   "min": 0, "max": "unlimited"}},
477        "is_connected": {
478          "type": "boolean",
479          "ephemeral": true},
480        "role": {
481          "type": {"key": {"type": "string",
482                           "enum": ["set", ["other", "master", "slave"]]},
483                   "min": 0, "max": 1},
484          "ephemeral": true},
485        "status": {
486          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
487          "ephemeral": true}}},
488    "Manager": {
489      "columns": {
490        "target": {
491          "type": "string"},
492        "max_backoff": {
493          "type": {"key": {"type": "integer",
494                           "minInteger": 1000},
495                   "min": 0, "max": 1}},
496        "inactivity_probe": {
497          "type": {"key": "integer", "min": 0, "max": 1}},
498        "connection_mode": {
499          "type": {"key": {"type": "string",
500                   "enum": ["set", ["in-band", "out-of-band"]]},
501                   "min": 0, "max": 1}},
502        "other_config": {
503          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
504        "external_ids": {
505          "type": {"key": "string", "value": "string",
506                   "min": 0, "max": "unlimited"}},
507        "is_connected": {
508          "type": "boolean",
509          "ephemeral": true},
510        "status": {
511          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
512          "ephemeral": true}},
513      "indexes": [["target"]]},
514    "SSL": {
515      "columns": {
516        "private_key": {
517          "type": "string"},
518        "certificate": {
519          "type": "string"},
520        "ca_cert": {
521          "type": "string"},
522        "bootstrap_ca_cert": {
523          "type": "boolean"},
524        "external_ids": {
525          "type": {"key": "string", "value": "string",
526                   "min": 0, "max": "unlimited"}}},
527      "maxRows": 1}}}