vswitchd: Move fail-mode config to Bridge table
[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        "managers": {
10          "type": {"key": "string", "min": 0, "max": "unlimited"}},
11        "ssl": {
12          "type": {"key": {"type": "uuid",
13                           "refTable": "SSL"},
14                   "min": 0, "max": 1}},
15        "external_ids": {
16          "type": {"key": "string", "value": "string",
17                   "min": 0, "max": "unlimited"}},
18        "next_cfg": {
19          "type": "integer"},
20        "cur_cfg": {
21          "type": "integer"},
22        "capabilities": {
23          "type": {"key": "string",
24                   "value": {"type": "uuid",
25                             "refTable": "Capability"},
26                   "min": 0, "max": "unlimited"}},
27        "statistics": {
28          "type": {"key": "string", "value": "integer", "min": 0, "max": "unlimited"},
29          "ephemeral": true}},
30      "maxRows": 1},
31    "Capability": {
32      "columns": {
33        "details": {
34          "type": {"key": "string", "value": "string",
35                   "min": 0, "max": "unlimited"}}}},
36    "Bridge": {
37      "columns": {
38        "name": {
39          "type": "string"},
40        "datapath_type": {
41          "type": "string"},
42        "datapath_id": {
43          "type": {"key": "string", "min": 0, "max": 1},
44          "ephemeral": true},
45        "ports": {
46          "type": {"key": {"type": "uuid",
47                           "refTable": "Port"},
48                   "min": 0, "max": "unlimited"}},
49        "mirrors": {
50          "type": {"key": {"type": "uuid",
51                           "refTable": "Mirror"},
52                   "min": 0, "max": "unlimited"}},
53        "netflow": {
54          "type": {"key": {"type": "uuid",
55                           "refTable": "NetFlow"},
56                   "min": 0, "max": 1}},
57        "sflow": {
58          "type": {"key": {"type": "uuid",
59                           "refTable": "sFlow"},
60                   "min": 0, "max": 1}},
61        "controller": {
62          "type": {"key": {"type": "uuid",
63                           "refTable": "Controller"},
64                   "min": 0, "max": "unlimited"}},
65        "fail_mode": {
66          "type": {"key": {"type": "string",
67                           "enum": ["set", ["standalone", "secure"]]},
68                   "min": 0, "max": 1}},
69        "other_config": {
70          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
71        "external_ids": {
72          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
73        "flood_vlans": {
74          "type": {"key": {"type": "integer",
75                           "minInteger": 0, 
76                           "maxInteger": 4095},
77                   "min": 0, "max": 4096}}}},
78    "Port": {
79      "columns": {
80        "name": {
81          "type": "string"},
82        "interfaces": {
83          "type": {"key": {"type": "uuid",
84                           "refTable": "Interface"},
85                   "min": 1, "max": "unlimited"}},
86        "trunks": {
87          "type": {"key": {"type": "integer",
88                           "minInteger": 0,
89                           "maxInteger": 4095},
90                   "min": 0, "max": 4096}},
91        "tag": {
92          "type": {"key": {"type": "integer",
93                           "minInteger": 0,
94                           "maxInteger": 4095},
95                   "min": 0, "max": 1}},
96        "qos": {
97          "type": {"key": {"type": "uuid",
98                           "refTable": "QoS"},
99                   "min": 0, "max": 1}},
100        "mac": {
101          "type": {"key": {"type": "string"},
102                   "min": 0, "max": 1}},
103        "bond_updelay": {
104          "type": "integer"},
105        "bond_downdelay": {
106          "type": "integer"},
107        "bond_fake_iface": {
108          "type": "boolean"},
109        "fake_bridge": {
110          "type": "boolean"},
111        "other_config": {
112          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
113        "external_ids": {
114          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}}}},
115    "Interface": {
116      "columns": {
117        "name": {
118          "type": "string"},
119        "type": {
120          "type": "string"},
121        "options": {
122          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
123        "ingress_policing_rate": {
124          "type": {"key": {"type": "integer",
125                           "minInteger": 0}}},
126        "ingress_policing_burst": {
127          "type": {"key": {"type": "integer",
128                           "minInteger": 0}}},
129        "mac": {
130          "type": {"key": {"type": "string"},
131                   "min": 0, "max": 1}},
132        "external_ids": {
133          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
134        "ofport": {
135          "type": {"key": "integer", "min": 0, "max": 1},
136          "ephemeral": true},
137        "statistics": {
138          "type": {"key": "string", "value": "integer", "min": 0, "max": "unlimited"},
139          "ephemeral": true}}},
140    "QoS": {
141      "columns": {
142        "type": {
143          "type": "string"},
144        "queues": {
145          "type": {"key": {"type": "integer",
146                           "minInteger": 0,
147                           "maxInteger": 4294967295},
148                   "value": {"type": "uuid",
149                             "refTable": "Queue"},
150                   "min": 0, "max": "unlimited"}},
151        "other_config": {
152          "type": {"key": "string", "value": "string", 
153                   "min": 0, "max": "unlimited"}}}},
154    "Queue": {
155      "columns": {
156        "other_config": {
157          "type": {"key": "string", "value": "string", 
158                   "min": 0, "max": "unlimited"}}}},
159    "Mirror": {
160      "columns": {
161        "name": {
162          "type": "string"},
163        "select_all": {
164          "type": "boolean"
165        },
166        "select_src_port": {
167          "type": {"key": {"type": "uuid",
168                           "refTable": "Port",
169                           "refType": "weak"},
170                    "min": 0, "max": "unlimited"}},
171        "select_dst_port": {
172          "type": {"key": {"type": "uuid",
173                           "refTable": "Port",
174                           "refType": "weak"},
175                    "min": 0, "max": "unlimited"}},
176        "select_vlan": {
177          "type": {"key": {"type": "integer",
178                           "minInteger": 0,
179                           "maxInteger": 4095},
180                   "min": 0, "max": 4096}},
181        "output_port": {
182          "type": {"key": {"type": "uuid",
183                           "refTable": "Port",
184                           "refType": "weak"},
185                   "min": 0, "max": 1}},
186        "output_vlan": {
187          "type": {"key": {"type": "integer",
188                           "minInteger": 1,
189                           "maxInteger": 4095},
190                   "min": 0, "max": 1}}}},
191    "NetFlow": {
192      "columns": {
193        "targets": {
194          "type": {"key": {"type": "string"},
195                   "min": 1, "max": "unlimited"}},
196        "engine_type": {
197          "type": {"key": {"type": "integer",
198                           "minInteger": 0,
199                           "maxInteger": 255},
200                   "min": 0, "max": 1}},
201        "engine_id": {
202          "type": {"key": {"type": "integer",
203                           "minInteger": 0,
204                           "maxInteger": 255},
205                   "min": 0, "max": 1}},
206        "add_id_to_interface": {
207          "type": "boolean"},
208        "active_timeout": {
209          "type": {"key": {"type": "integer",
210                           "minInteger": -1}}}}},
211    "sFlow": {
212      "columns": {
213        "targets": {
214          "type": {"key": "string", "min": 1, "max": "unlimited"}},
215        "sampling": {
216          "type": {"key": "integer", "min": 0, "max": 1}},
217        "polling": {
218          "type": {"key": "integer", "min": 0, "max": 1}},
219        "header": {
220          "type": {"key": "integer", "min": 0, "max": 1}},
221        "agent": {
222          "type": {"key": "string", "min": 0, "max": 1}}}},
223    "Controller": {
224      "columns": {
225        "target": {
226          "type": "string"},
227        "max_backoff": {
228          "type": {"key": {"type": "integer",
229                           "minInteger": 1000},
230                   "min": 0, "max": 1}},
231        "inactivity_probe": {
232          "type": {"key": "integer", "min": 0, "max": 1}},
233        "discover_accept_regex": {
234          "type": {"key": "string", "min": 0, "max": 1}},
235        "discover_update_resolv_conf": {
236          "type": {"key": "boolean", "min": 0, "max": 1}},
237        "connection_mode": {
238          "type": {"key": {"type": "string",
239                   "enum": ["set", ["in-band", "out-of-band"]]},
240                   "min": 0, "max": 1}},
241        "local_ip": {
242          "type": {"key": {"type": "string"},
243                   "min": 0, "max": 1}},
244        "local_netmask": {
245          "type": {"key": {"type": "string"},
246                   "min": 0, "max": 1}},
247        "local_gateway": {
248          "type": {"key": {"type": "string"},
249                   "min": 0, "max": 1}},
250        "controller_rate_limit": {
251          "type": {"key": {"type": "integer",
252                           "minInteger": 100},
253                   "min": 0, "max": 1}},
254        "controller_burst_limit": {
255          "type": {"key": {"type": "integer", 
256                           "minInteger": 25},
257                   "min": 0, "max": 1}}}},
258    "SSL": {
259      "columns": {
260        "private_key": {
261          "type": "string"},
262        "certificate": {
263          "type": "string"},
264        "ca_cert": {
265          "type": "string"},
266        "bootstrap_ca_cert": {
267          "type": "boolean"}},
268      "maxRows": 1}}}