ovs-vswitchd: Export system stats through Open_vSwitch 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": "string", "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        "other_config": {
138          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
139        "statistics": {
140          "type": {"key": "string", "value": "integer", "min": 0, "max": "unlimited"},
141          "ephemeral": true},
142        "status": {
143          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
144          "ephemeral": true}}},
145    "QoS": {
146      "columns": {
147        "type": {
148          "type": "string"},
149        "queues": {
150          "type": {"key": {"type": "integer",
151                           "minInteger": 0,
152                           "maxInteger": 4294967295},
153                   "value": {"type": "uuid",
154                             "refTable": "Queue"},
155                   "min": 0, "max": "unlimited"}},
156        "other_config": {
157          "type": {"key": "string", "value": "string", 
158                   "min": 0, "max": "unlimited"}},
159        "external_ids": {
160          "type": {"key": "string", "value": "string",
161                   "min": 0, "max": "unlimited"}}}},
162    "Queue": {
163      "columns": {
164        "other_config": {
165          "type": {"key": "string", "value": "string", 
166                   "min": 0, "max": "unlimited"}},
167        "external_ids": {
168          "type": {"key": "string", "value": "string",
169                   "min": 0, "max": "unlimited"}}}},
170    "Mirror": {
171      "columns": {
172        "name": {
173          "type": "string"},
174        "select_all": {
175          "type": "boolean"
176        },
177        "select_src_port": {
178          "type": {"key": {"type": "uuid",
179                           "refTable": "Port",
180                           "refType": "weak"},
181                    "min": 0, "max": "unlimited"}},
182        "select_dst_port": {
183          "type": {"key": {"type": "uuid",
184                           "refTable": "Port",
185                           "refType": "weak"},
186                    "min": 0, "max": "unlimited"}},
187        "select_vlan": {
188          "type": {"key": {"type": "integer",
189                           "minInteger": 0,
190                           "maxInteger": 4095},
191                   "min": 0, "max": 4096}},
192        "output_port": {
193          "type": {"key": {"type": "uuid",
194                           "refTable": "Port",
195                           "refType": "weak"},
196                   "min": 0, "max": 1}},
197        "output_vlan": {
198          "type": {"key": {"type": "integer",
199                           "minInteger": 1,
200                           "maxInteger": 4095},
201                   "min": 0, "max": 1}},
202        "external_ids": {
203          "type": {"key": "string", "value": "string",
204                   "min": 0, "max": "unlimited"}}}},
205    "NetFlow": {
206      "columns": {
207        "targets": {
208          "type": {"key": {"type": "string"},
209                   "min": 1, "max": "unlimited"}},
210        "engine_type": {
211          "type": {"key": {"type": "integer",
212                           "minInteger": 0,
213                           "maxInteger": 255},
214                   "min": 0, "max": 1}},
215        "engine_id": {
216          "type": {"key": {"type": "integer",
217                           "minInteger": 0,
218                           "maxInteger": 255},
219                   "min": 0, "max": 1}},
220        "add_id_to_interface": {
221          "type": "boolean"},
222        "active_timeout": {
223          "type": {"key": {"type": "integer",
224                           "minInteger": -1}}},
225        "external_ids": {
226          "type": {"key": "string", "value": "string",
227                   "min": 0, "max": "unlimited"}}}},
228    "sFlow": {
229      "columns": {
230        "targets": {
231          "type": {"key": "string", "min": 1, "max": "unlimited"}},
232        "sampling": {
233          "type": {"key": "integer", "min": 0, "max": 1}},
234        "polling": {
235          "type": {"key": "integer", "min": 0, "max": 1}},
236        "header": {
237          "type": {"key": "integer", "min": 0, "max": 1}},
238        "agent": {
239          "type": {"key": "string", "min": 0, "max": 1}},
240        "external_ids": {
241          "type": {"key": "string", "value": "string",
242                   "min": 0, "max": "unlimited"}}}},
243    "Controller": {
244      "columns": {
245        "target": {
246          "type": "string"},
247        "max_backoff": {
248          "type": {"key": {"type": "integer",
249                           "minInteger": 1000},
250                   "min": 0, "max": 1}},
251        "inactivity_probe": {
252          "type": {"key": "integer", "min": 0, "max": 1}},
253        "discover_accept_regex": {
254          "type": {"key": "string", "min": 0, "max": 1}},
255        "discover_update_resolv_conf": {
256          "type": {"key": "boolean", "min": 0, "max": 1}},
257        "connection_mode": {
258          "type": {"key": {"type": "string",
259                   "enum": ["set", ["in-band", "out-of-band"]]},
260                   "min": 0, "max": 1}},
261        "local_ip": {
262          "type": {"key": {"type": "string"},
263                   "min": 0, "max": 1}},
264        "local_netmask": {
265          "type": {"key": {"type": "string"},
266                   "min": 0, "max": 1}},
267        "local_gateway": {
268          "type": {"key": {"type": "string"},
269                   "min": 0, "max": 1}},
270        "controller_rate_limit": {
271          "type": {"key": {"type": "integer",
272                           "minInteger": 100},
273                   "min": 0, "max": 1}},
274        "controller_burst_limit": {
275          "type": {"key": {"type": "integer", 
276                           "minInteger": 25},
277                   "min": 0, "max": 1}},
278        "external_ids": {
279          "type": {"key": "string", "value": "string",
280                   "min": 0, "max": "unlimited"}}}},
281    "SSL": {
282      "columns": {
283        "private_key": {
284          "type": "string"},
285        "certificate": {
286          "type": "string"},
287        "ca_cert": {
288          "type": "string"},
289        "bootstrap_ca_cert": {
290          "type": "boolean"},
291        "external_ids": {
292          "type": {"key": "string", "value": "string",
293                   "min": 0, "max": "unlimited"}}},
294      "maxRows": 1}}}