vtep: add fault notifications to physical switch and ports
[cascardo/ovs.git] / vtep / vtep.ovsschema
1 {
2   "name": "hardware_vtep",
3   "cksum": "1365749839 5604",
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         "switch_fault_status": {
29           "type": {
30             "key": "string", "min": 0, "max": "unlimited"},
31            "ephemeral": true}},
32       "indexes": [["name"]]},
33     "Physical_Port": {
34       "columns": {
35         "name": {"type": "string"},
36         "description": {"type": "string"},
37         "vlan_bindings": {
38           "type": {"key": {"type": "integer",
39                            "minInteger": 0, "maxInteger": 4095},
40                    "value": {"type": "uuid", "refTable": "Logical_Switch"},
41                    "min": 0, "max": "unlimited"}},
42         "vlan_stats": {
43           "type": {"key": {"type": "integer",
44                            "minInteger": 0, "maxInteger": 4095},
45                    "value": {"type": "uuid",
46                              "refTable": "Logical_Binding_Stats"},
47                    "min": 0, "max": "unlimited"}},
48         "port_fault_status": {
49           "type": {
50             "key": "string", "min": 0, "max": "unlimited"},
51            "ephemeral": true}}},
52     "Logical_Binding_Stats": {
53       "columns": {
54         "bytes_from_local": {"type": "integer"},
55         "packets_from_local": {"type": "integer"},
56         "bytes_to_local": {"type": "integer"},
57         "packets_to_local": {"type": "integer"}}},
58     "Logical_Switch": {
59       "columns": {
60         "name": {"type": "string"},
61         "description": {"type": "string"},
62         "tunnel_key": {"type": {"key": "integer", "min": 0, "max": 1}}},
63       "isRoot": true,
64       "indexes": [["name"]]},
65     "Ucast_Macs_Local": {
66       "columns": {
67         "MAC": {"type": "string"},
68         "logical_switch": {
69           "type": {"key": {"type": "uuid",
70                            "refTable": "Logical_Switch"}}},
71         "locator": {
72           "type": {"key": {"type": "uuid",
73                            "refTable": "Physical_Locator"}}},
74         "ipaddr": {"type": "string"}},
75       "isRoot": true},
76     "Ucast_Macs_Remote": {
77       "columns": {
78         "MAC": {"type": "string"},
79         "logical_switch": {
80           "type": {"key": {"type": "uuid",
81                            "refTable": "Logical_Switch"}}},
82         "locator": {
83           "type": {"key": {"type": "uuid",
84                            "refTable": "Physical_Locator"}}},
85         "ipaddr": {"type": "string"}},
86       "isRoot": true},
87     "Mcast_Macs_Local": {
88       "columns": {
89         "MAC": {"type": "string"},
90         "logical_switch": {
91           "type": {"key": {"type": "uuid",
92                            "refTable": "Logical_Switch"}}},
93         "locator_set": {
94           "type": {"key": {"type": "uuid",
95                            "refTable": "Physical_Locator_Set"}}},
96         "ipaddr": {"type": "string"}},
97       "isRoot": true},
98     "Mcast_Macs_Remote": {
99       "columns": {
100         "MAC": {"type": "string"},
101         "logical_switch": {
102           "type": {"key": {"type": "uuid",
103                            "refTable": "Logical_Switch"}}},
104         "locator_set": {
105           "type": {"key": {"type": "uuid",
106                            "refTable": "Physical_Locator_Set"}}},
107         "ipaddr": {"type": "string"}},
108       "isRoot": true},
109     "Logical_Router": {
110       "columns": {
111         "name": {"type": "string"},
112         "description": {"type": "string"},
113         "switch_binding": {
114           "type": {"key": {"type": "string"},
115                    "value": {"type": "uuid",
116                              "refTable": "Logical_Switch"},
117                    "min": 0, "max": "unlimited"}},
118         "static_routes": {
119           "type": {"key": {"type": "string"},
120                    "value": {"type" : "string"},
121                    "min": 0, "max": "unlimited"}}},
122       "isRoot": true,
123       "indexes": [["name"]]},
124     "Physical_Locator_Set": {
125       "columns": {
126         "locators": {
127           "type": {"key": {"type": "uuid", "refTable": "Physical_Locator"},
128                    "min": 1, "max": "unlimited"},
129                    "mutable": false}}},
130     "Physical_Locator": {
131       "columns": {
132         "encapsulation_type": {
133           "type": {
134             "key": {
135               "enum": ["set", ["vxlan_over_ipv4"]],
136               "type": "string"}},
137           "mutable": false},
138         "dst_ip": {"type": "string", "mutable": false},
139         "bfd": {
140           "type": {"key": "string", "value": "string",
141               "min": 0, "max": "unlimited"}},
142         "bfd_status": {
143           "type": {"key": "string", "value": "string",
144               "min": 0, "max": "unlimited"}}},
145       "indexes": [["encapsulation_type", "dst_ip"]]},
146     "Manager": {
147       "columns": {
148         "target": {"type": "string"},
149         "max_backoff": {
150           "type": {"key": {"type": "integer",
151                            "minInteger": 1000},
152                    "min": 0, "max": 1}},
153         "inactivity_probe": {
154           "type": {"key": "integer", "min": 0, "max": 1}},
155         "other_config": {
156           "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
157         "is_connected": {
158           "type": "boolean",
159           "ephemeral": true},
160         "status": {
161           "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
162           "ephemeral": true}},
163       "indexes": [["target"]],
164       "isRoot": false}},
165   "version": "1.1.0"}