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