vtep: add ACLs to VTEP schema
[cascardo/ovs.git] / vtep / vtep.ovsschema
1 {
2   "name": "hardware_vtep",
3   "cksum": "262972511 10369",
4   "tables": {
5     "Global": {
6       "columns": {
7         "managers": {
8           "type": {"key": {"type": "uuid",
9                            "refTable": "Manager"},
10                    "min": 0, "max": "unlimited"}},
11         "switches": {
12           "type": {"key": {"type": "uuid", "refTable": "Physical_Switch"},
13                    "min": 0, "max": "unlimited"}}
14       },
15       "maxRows": 1,
16       "isRoot": true},
17     "Physical_Switch": {
18       "columns": {
19         "ports": {
20           "type": {"key": {"type": "uuid", "refTable": "Physical_Port"},
21                    "min": 0, "max": "unlimited"}},
22         "name": {"type": "string"},
23         "description": {"type": "string"},
24         "management_ips": {
25           "type": {"key": {"type": "string"}, "min": 0, "max": "unlimited"}},
26         "tunnel_ips": {
27           "type": {"key": {"type": "string"}, "min": 0, "max": "unlimited"}},
28         "tunnels": {
29           "type": {"key": {"type": "uuid", "refTable": "Tunnel"},
30                    "min": 0, "max": "unlimited"}},
31         "switch_fault_status": {
32           "type": {
33             "key": "string", "min": 0, "max": "unlimited"},
34           "ephemeral": true}},
35       "indexes": [["name"]]},
36     "Physical_Port": {
37       "columns": {
38         "name": {"type": "string"},
39         "description": {"type": "string"},
40         "vlan_bindings": {
41           "type": {"key": {"type": "integer",
42                            "minInteger": 0, "maxInteger": 4095},
43                    "value": {"type": "uuid", "refTable": "Logical_Switch"},
44                    "min": 0, "max": "unlimited"}},
45         "acl_bindings": {
46           "type": {"key": {"type": "integer",
47                            "minInteger": 0, "maxInteger": 4095},
48                    "value": {"type": "uuid", "refTable": "ACL"},
49                    "min": 0, "max": "unlimited"}},
50         "vlan_stats": {
51           "type": {"key": {"type": "integer",
52                            "minInteger": 0, "maxInteger": 4095},
53                    "value": {"type": "uuid",
54                              "refTable": "Logical_Binding_Stats"},
55                    "min": 0, "max": "unlimited"}},
56         "port_fault_status": {
57           "type": {
58             "key": "string", "min": 0, "max": "unlimited"},
59           "ephemeral": true}}},
60     "Tunnel": {
61       "columns": {
62         "local": {
63           "type": {"key": {"type": "uuid",
64                            "refTable": "Physical_Locator"}}},
65         "remote": {
66           "type": {"key": {"type": "uuid",
67                            "refTable": "Physical_Locator"}}},
68         "bfd_config_local": {
69           "type": {"key": "string", "value": "string",
70               "min": 0, "max": "unlimited"}},
71         "bfd_config_remote": {
72           "type": {"key": "string", "value": "string",
73               "min": 0, "max": "unlimited"}},
74         "bfd_params": {
75           "type": {"key": "string", "value": "string",
76               "min": 0, "max": "unlimited"}},
77         "bfd_status": {
78           "type": {"key": "string", "value": "string",
79               "min": 0, "max": "unlimited"}}}},
80     "Logical_Binding_Stats": {
81       "columns": {
82         "bytes_from_local": {"type": "integer"},
83         "packets_from_local": {"type": "integer"},
84         "bytes_to_local": {"type": "integer"},
85         "packets_to_local": {"type": "integer"}}},
86     "Logical_Switch": {
87       "columns": {
88         "name": {"type": "string"},
89         "description": {"type": "string"},
90         "tunnel_key": {"type": {"key": "integer", "min": 0, "max": 1}}},
91       "isRoot": true,
92       "indexes": [["name"]]},
93     "Ucast_Macs_Local": {
94       "columns": {
95         "MAC": {"type": "string"},
96         "logical_switch": {
97           "type": {"key": {"type": "uuid",
98                            "refTable": "Logical_Switch"}}},
99         "locator": {
100           "type": {"key": {"type": "uuid",
101                            "refTable": "Physical_Locator"}}},
102         "ipaddr": {"type": "string"}},
103       "isRoot": true},
104     "Ucast_Macs_Remote": {
105       "columns": {
106         "MAC": {"type": "string"},
107         "logical_switch": {
108           "type": {"key": {"type": "uuid",
109                            "refTable": "Logical_Switch"}}},
110         "locator": {
111           "type": {"key": {"type": "uuid",
112                            "refTable": "Physical_Locator"}}},
113         "ipaddr": {"type": "string"}},
114       "isRoot": true},
115     "Mcast_Macs_Local": {
116       "columns": {
117         "MAC": {"type": "string"},
118         "logical_switch": {
119           "type": {"key": {"type": "uuid",
120                            "refTable": "Logical_Switch"}}},
121         "locator_set": {
122           "type": {"key": {"type": "uuid",
123                            "refTable": "Physical_Locator_Set"}}},
124         "ipaddr": {"type": "string"}},
125       "isRoot": true},
126     "Mcast_Macs_Remote": {
127       "columns": {
128         "MAC": {"type": "string"},
129         "logical_switch": {
130           "type": {"key": {"type": "uuid",
131                            "refTable": "Logical_Switch"}}},
132         "locator_set": {
133           "type": {"key": {"type": "uuid",
134                            "refTable": "Physical_Locator_Set"}}},
135         "ipaddr": {"type": "string"}},
136       "isRoot": true},
137     "Logical_Router": {
138       "columns": {
139         "name": {"type": "string"},
140         "description": {"type": "string"},
141         "switch_binding": {
142           "type": {"key": {"type": "string"},
143                    "value": {"type": "uuid",
144                              "refTable": "Logical_Switch"},
145                    "min": 0, "max": "unlimited"}},
146         "static_routes": {
147           "type": {"key": {"type": "string"},
148                    "value": {"type" : "string"},
149                    "min": 0, "max": "unlimited"}},
150         "acl_binding": {
151           "type": {"key": {"type": "string"},
152                    "value": {"type": "uuid",
153                              "refTable": "ACL"},
154                    "min": 0, "max": "unlimited"}},
155         "LR_fault_status": {
156           "type": {
157             "key": "string", "min": 0, "max": "unlimited"},
158           "ephemeral": true}},
159       "isRoot": true,
160       "indexes": [["name"]]},
161     "Arp_Sources_Local": {
162       "columns": {
163         "src_mac": {"type": "string"},
164       "locator": {
165         "type": {"key": {"type": "uuid",
166                          "refTable": "Physical_Locator"}}}},
167       "isRoot": true},
168     "Arp_Sources_Remote": {
169       "columns": {
170         "src_mac": {"type": "string"},
171       "locator": {
172         "type": {"key": {"type": "uuid",
173                          "refTable": "Physical_Locator"}}}},
174       "isRoot": true},
175     "Physical_Locator_Set": {
176       "columns": {
177         "locators": {
178           "type": {"key": {"type": "uuid", "refTable": "Physical_Locator"},
179                    "min": 1, "max": "unlimited"},
180                    "mutable": false}}},
181     "Physical_Locator": {
182       "columns": {
183         "encapsulation_type": {
184           "type": {
185             "key": {
186               "enum": ["set", ["vxlan_over_ipv4"]],
187               "type": "string"}},
188           "mutable": false},
189         "dst_ip": {"type": "string", "mutable": false}},
190       "indexes": [["encapsulation_type", "dst_ip"]]},
191     "ACL_entry": {
192       "columns": {
193         "sequence": {"type": "integer"},
194         "source_mac": {
195           "type": {
196             "key": "string", "min": 0, "max": 1}},
197         "dest_mac": {
198           "type": {
199             "key": "string", "min": 0, "max": 1}},
200         "ethertype": {
201           "type": {
202             "key": "string", "min": 0, "max": 1}},
203         "source_ip": {
204           "type": {
205             "key": "string", "min": 0, "max": 1}},
206         "source_mask": {
207           "type": {
208             "key": "string", "min": 0, "max": 1}},
209         "dest_ip": {
210           "type": {
211             "key": "string", "min": 0, "max": 1}},
212         "dest_mask": {
213           "type": {
214             "key": "string", "min": 0, "max": 1}},
215         "protocol": {
216           "type": {
217             "key": "integer", "min": 0, "max": 1}},
218         "source_port_min": {
219           "type": {
220             "key": "integer", "min": 0, "max": 1}},
221         "source_port_max": {
222           "type": {
223             "key": "integer", "min": 0, "max": 1}},
224         "dest_port_min": {
225           "type": {
226             "key": "integer", "min": 0, "max": 1}},
227         "dest_port_max": {
228           "type": {
229             "key": "integer", "min": 0, "max": 1}},
230         "tcp_flags": {
231           "type": {
232             "key": "integer", "min": 0, "max": 1}},
233         "tcp_flags_mask": {
234           "type": {
235             "key": "integer", "min": 0, "max": 1}},
236         "icmp_code": {
237           "type": {
238             "key": "integer", "min": 0, "max": 1}},
239         "icmp_type": {
240           "type": {
241             "key": "integer", "min": 0, "max": 1}},
242         "direction": {
243           "type": {
244             "key": {"type": "string", "enum": ["set", ["ingress", "egress"]]}}},
245         "action": {
246           "type": {
247             "key": {"type": "string", "enum": ["set", ["permit", "deny"]]}}},
248         "acle_fault_status": {
249           "type": {
250             "key": "string", "min": 0, "max": "unlimited"},
251             "ephemeral": true}},
252        "isRoot": true},
253     "ACL": {
254       "columns": {
255         "acl_entries": {
256           "type": {"key": {"type": "uuid", "refTable": "ACL_entry"},
257                    "min": 1, "max": "unlimited"}},
258         "acl_name": {"type": "string"},
259         "acl_fault_status": {
260           "type": {
261             "key": "string", "min": 0, "max": "unlimited"},
262             "ephemeral": true}},
263       "indexes": [["acl_name"]],
264       "isRoot": true},
265     "Manager": {
266       "columns": {
267         "target": {"type": "string"},
268         "max_backoff": {
269           "type": {"key": {"type": "integer",
270                            "minInteger": 1000},
271                    "min": 0, "max": 1}},
272         "inactivity_probe": {
273           "type": {"key": "integer", "min": 0, "max": 1}},
274         "other_config": {
275           "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
276         "is_connected": {
277           "type": "boolean",
278           "ephemeral": true},
279         "status": {
280           "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
281           "ephemeral": true}},
282       "indexes": [["target"]],
283       "isRoot": false}},
284   "version": "1.4.0"}