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