ovsdb: Remove "comment" support from OVSDB schemas.
[sliver-openvswitch.git] / vswitchd / vswitch.ovsschema
1 {"name": "Open_vSwitch",
2  "tables": {
3    "Open_vSwitch": {
4      "columns": {
5        "bridges": {
6          "type": {"key": {"type": "uuid",
7                           "refTable": "Bridge"},
8                   "min": 0, "max": "unlimited"}},
9        "controller": {
10          "type": {"key": {"type": "uuid",
11                           "refTable": "Controller"},
12                    "min": 0, "max": 1}},
13        "managers": {
14          "type": {"key": "string", "min": 0, "max": "unlimited"}},
15        "ssl": {
16          "type": {"key": {"type": "uuid",
17                           "refTable": "SSL"},
18                   "min": 0, "max": 1}},
19        "next_cfg": {
20          "type": "integer"},
21        "cur_cfg": {
22          "type": "integer"}}},
23    "Bridge": {
24      "columns": {
25        "name": {
26          "type": "string"},
27        "datapath_type": {
28          "type": "string"},
29        "datapath_id": {
30          "type": {"key": "string", "min": 0, "max": 1},
31          "ephemeral": true},
32        "ports": {
33          "type": {"key": {"type": "uuid",
34                           "refTable": "Port"},
35                   "min": 0, "max": "unlimited"}},
36        "mirrors": {
37          "type": {"key": {"type": "uuid",
38                           "refTable": "Mirror"},
39                   "min": 0, "max": "unlimited"}},
40        "netflow": {
41          "type": {"key": {"type": "uuid",
42                           "refTable": "NetFlow"},
43                   "min": 0, "max": 1}},
44        "sflow": {
45          "type": {"key": {"type": "uuid",
46                           "refTable": "sFlow"},
47                   "min": 0, "max": 1}},
48        "controller": {
49          "type": {"key": {"type": "uuid",
50                           "refTable": "Controller"},
51                   "min": 0, "max": 1}},
52        "other_config": {
53          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
54        "external_ids": {
55          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
56        "flood_vlans": {
57          "type": {"key": {"type": "integer",
58                           "minInteger": 0, 
59                           "maxInteger": 4095},
60                   "min": 0, "max": 4096}}}},
61    "Port": {
62      "columns": {
63        "name": {
64          "type": "string"},
65        "interfaces": {
66          "type": {"key": {"type": "uuid",
67                           "refTable": "Interface"},
68                   "min": 1, "max": "unlimited"}},
69        "trunks": {
70          "type": {"key": {"type": "integer",
71                           "minInteger": 0,
72                           "maxInteger": 4095},
73                   "min": 0, "max": 4096}},
74        "tag": {
75          "type": {"key": {"type": "integer",
76                           "minInteger": 0,
77                           "maxInteger": 4095},
78                   "min": 0, "max": 1}},
79        "mac": {
80          "type": {"key": {"type": "string"},
81                   "min": 0, "max": 1}},
82        "bond_updelay": {
83          "type": "integer"},
84        "bond_downdelay": {
85          "type": "integer"},
86        "bond_fake_iface": {
87          "type": "boolean"},
88        "fake_bridge": {
89          "type": "boolean"},
90        "other_config": {
91          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
92        "external_ids": {
93          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}}}},
94    "Interface": {
95      "columns": {
96        "name": {
97          "type": "string"},
98        "type": {
99          "type": "string"},
100        "options": {
101          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
102        "ingress_policing_rate": {
103          "type": {"key": {"type": "integer",
104                           "minInteger": 0}}},
105        "ingress_policing_burst": {
106          "type": {"key": {"type": "integer",
107                           "minInteger": 0}}},
108        "mac": {
109          "type": {"key": {"type": "string"},
110                   "min": 0, "max": 1}},
111        "external_ids": {
112          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
113        "ofport": {
114          "type": {"key": "integer", "min": 0, "max": 1},
115          "ephemeral": true}}},
116    "Mirror": {
117      "columns": {
118        "name": {
119          "type": "string"},
120        "select_src_port": {
121          "type": {"key": {"type": "uuid",
122                           "refTable": "Port"},
123                    "min": 0, "max": "unlimited"}},
124        "select_dst_port": {
125          "type": {"key": {"type": "uuid",
126                           "refTable": "Port"}, "min": 0, "max": "unlimited"}},
127        "select_vlan": {
128          "type": {"key": {"type": "integer",
129                           "minInteger": 0,
130                           "maxInteger": 4095},
131                   "min": 0, "max": 4096}},
132        "output_port": {
133          "type": {"key": {"type": "uuid",
134                           "refTable": "Port"}, "min": 0, "max": 1}},
135        "output_vlan": {
136          "type": {"key": {"type": "integer",
137                           "minInteger": 1,
138                           "maxInteger": 4095},
139                   "min": 0, "max": 1}}}},
140    "NetFlow": {
141      "columns": {
142        "targets": {
143          "type": {"key": {"type": "string"},
144                   "min": 1, "max": "unlimited"}},
145        "engine_type": {
146          "type": {"key": {"type": "integer",
147                           "minInteger": 0,
148                           "maxInteger": 255},
149                   "min": 0, "max": 1}},
150        "engine_id": {
151          "type": {"key": {"type": "integer",
152                           "minInteger": 0,
153                           "maxInteger": 255},
154                   "min": 0, "max": 1}},
155        "add_id_to_interface": {
156          "type": "boolean"},
157        "active_timeout": {
158          "type": {"key": {"type": "integer",
159                           "minInteger": -1}}}}},
160    "sFlow": {
161      "columns": {
162        "targets": {
163          "type": {"key": "string", "min": 1, "max": "unlimited"}},
164        "sampling": {
165          "type": {"key": "integer", "min": 0, "max": 1}},
166        "polling": {
167          "type": {"key": "integer", "min": 0, "max": 1}},
168        "header": {
169          "type": {"key": "integer", "min": 0, "max": 1}},
170        "agent": {
171          "type": {"key": "string", "min": 0, "max": 1}}}},
172    "Controller": {
173      "columns": {
174        "target": {
175          "type": "string"},
176        "max_backoff": {
177          "type": {"key": {"type": "integer",
178                           "minInteger": 1000},
179                   "min": 0, "max": 1}},
180        "inactivity_probe": {
181          "type": {"key": "integer", "min": 0, "max": 1}},
182        "fail_mode": {
183          "type": {"key": {"type": "string",
184                           "enum": ["set", ["standalone", "secure"]]},
185                   "min": 0, "max": 1}},
186        "discover_accept_regex": {
187          "type": {"key": "string", "min": 0, "max": 1}},
188        "discover_update_resolv_conf": {
189          "type": {"key": "boolean", "min": 0, "max": 1}},
190        "connection_mode": {
191          "type": {"key": {"type": "string",
192                   "enum": ["set", ["in-band", "out-of-band"]]},
193                   "min": 0, "max": 1}},
194        "local_ip": {
195          "type": {"key": {"type": "string"},
196                   "min": 0, "max": 1}},
197        "local_netmask": {
198          "type": {"key": {"type": "string"},
199                   "min": 0, "max": 1}},
200        "local_gateway": {
201          "type": {"key": {"type": "string"},
202                   "min": 0, "max": 1}},
203        "controller_rate_limit": {
204          "type": {"key": {"type": "integer",
205                           "minInteger": 100},
206                   "min": 0, "max": 1}},
207        "controller_burst_limit": {
208          "type": {"key": {"type": "integer", 
209                           "minInteger": 25},
210                   "min": 0, "max": 1}}}},
211    "SSL": {
212      "columns": {
213        "private_key": {
214          "type": "string"},
215        "certificate": {
216          "type": "string"},
217        "ca_cert": {
218          "type": "string"},
219        "bootstrap_ca_cert": {
220          "type": "boolean"}}}}}