netdev: do not allow devices to be opened with conflicting types
[cascardo/ovs.git] / ovn / ovn-sb.ovsschema
1 {
2     "name": "OVN_Southbound",
3     "version": "1.7.0",
4     "cksum": "3677179333 6917",
5     "tables": {
6         "SB_Global": {
7             "columns": {
8                 "nb_cfg": {"type": {"key": "integer"}},
9                 "external_ids": {
10                     "type": {"key": "string", "value": "string",
11                              "min": 0, "max": "unlimited"}}},
12             "maxRows": 1,
13             "isRoot": true},
14         "Chassis": {
15             "columns": {
16                 "name": {"type": "string"},
17                 "hostname": {"type": "string"},
18                 "encaps": {"type": {"key": {"type": "uuid",
19                                             "refTable": "Encap"},
20                                     "min": 1, "max": "unlimited"}},
21                 "vtep_logical_switches" : {"type": {"key": "string",
22                                                     "min": 0,
23                                                     "max": "unlimited"}},
24                 "nb_cfg": {"type": {"key": "integer"}},
25                 "external_ids": {
26                     "type": {"key": "string", "value": "string",
27                              "min": 0, "max": "unlimited"}}},
28             "isRoot": true,
29             "indexes": [["name"]]},
30         "Encap": {
31             "columns": {
32                 "type": {"type": {"key": {
33                            "type": "string",
34                            "enum": ["set", ["geneve", "stt", "vxlan"]]}}},
35                 "options": {"type": {"key": "string",
36                                      "value": "string",
37                                      "min": 0,
38                                      "max": "unlimited"}},
39                 "ip": {"type": "string"}}},
40         "Address_Set": {
41             "columns": {
42                 "name": {"type": "string"},
43                 "addresses": {"type": {"key": "string",
44                                        "min": 0,
45                                        "max": "unlimited"}}},
46             "indexes": [["name"]],
47             "isRoot": true},
48         "Logical_Flow": {
49             "columns": {
50                 "logical_datapath": {"type": {"key": {"type": "uuid",
51                                                       "refTable": "Datapath_Binding"}}},
52                 "pipeline": {"type": {"key": {"type": "string",
53                                       "enum": ["set", ["ingress",
54                                                        "egress"]]}}},
55                 "table_id": {"type": {"key": {"type": "integer",
56                                               "minInteger": 0,
57                                               "maxInteger": 15}}},
58                 "priority": {"type": {"key": {"type": "integer",
59                                               "minInteger": 0,
60                                               "maxInteger": 65535}}},
61                 "match": {"type": "string"},
62                 "actions": {"type": "string"},
63                 "external_ids": {
64                     "type": {"key": "string", "value": "string",
65                              "min": 0, "max": "unlimited"}}},
66             "isRoot": true},
67         "Multicast_Group": {
68             "columns": {
69                 "datapath": {"type": {"key": {"type": "uuid",
70                                               "refTable": "Datapath_Binding"}}},
71                 "name": {"type": "string"},
72                 "tunnel_key": {
73                     "type": {"key": {"type": "integer",
74                                      "minInteger": 32768,
75                                      "maxInteger": 65535}}},
76                 "ports": {"type": {"key": {"type": "uuid",
77                                            "refTable": "Port_Binding",
78                                            "refType": "weak"},
79                                    "min": 1, "max": "unlimited"}}},
80             "indexes": [["datapath", "tunnel_key"],
81                         ["datapath", "name"]],
82             "isRoot": true},
83         "Datapath_Binding": {
84             "columns": {
85                 "tunnel_key": {
86                      "type": {"key": {"type": "integer",
87                                       "minInteger": 1,
88                                       "maxInteger": 16777215}}},
89                 "external_ids": {
90                     "type": {"key": "string", "value": "string",
91                              "min": 0, "max": "unlimited"}}},
92             "indexes": [["tunnel_key"]],
93             "isRoot": true},
94         "Port_Binding": {
95             "columns": {
96                 "logical_port": {"type": "string"},
97                 "type": {"type": "string"},
98                 "options": {
99                      "type": {"key": "string",
100                               "value": "string",
101                               "min": 0,
102                               "max": "unlimited"}},
103                 "datapath": {"type": {"key": {"type": "uuid",
104                                               "refTable": "Datapath_Binding"}}},
105                 "tunnel_key": {
106                      "type": {"key": {"type": "integer",
107                                       "minInteger": 1,
108                                       "maxInteger": 32767}}},
109                 "parent_port": {"type": {"key": "string", "min": 0, "max": 1}},
110                 "tag": {
111                      "type": {"key": {"type": "integer",
112                                       "minInteger": 1,
113                                       "maxInteger": 4095},
114                               "min": 0, "max": 1}},
115                 "chassis": {"type": {"key": {"type": "uuid",
116                                              "refTable": "Chassis",
117                                              "refType": "weak"},
118                                      "min": 0, "max": 1}},
119                 "mac": {"type": {"key": "string",
120                                  "min": 0,
121                                  "max": "unlimited"}}},
122             "indexes": [["datapath", "tunnel_key"], ["logical_port"]],
123             "isRoot": true},
124         "MAC_Binding": {
125             "columns": {
126                 "logical_port": {"type": "string"},
127                 "ip": {"type": "string"},
128                 "mac": {"type": "string"},
129                 "datapath": {"type": {"key": {"type": "uuid",
130                                               "refTable": "Datapath_Binding"}}}},
131             "indexes": [["logical_port", "ip"]],
132             "isRoot": true},
133         "DHCP_Options": {
134             "columns": {
135                 "name": {"type": "string"},
136                 "code": {
137                     "type": {"key": {"type": "integer",
138                                      "minInteger": 0, "maxInteger": 254}}},
139                 "type": {
140                     "type": {"key": {
141                         "type": "string",
142                         "enum": ["set", ["bool", "uint8", "uint16", "uint32",
143                                          "ipv4", "static_routes", "str"]]}}}},
144             "isRoot": true}}}