vtep: Initial checkin of vtep schema.
[sliver-openvswitch.git] / vtep / vtep.ovsschema
diff --git a/vtep/vtep.ovsschema b/vtep/vtep.ovsschema
new file mode 100644 (file)
index 0000000..d03d96d
--- /dev/null
@@ -0,0 +1,157 @@
+{
+  "name": "hardware_vtep",
+  "cksum": "825115144 5318",
+  "tables": {
+    "Global": {
+      "columns": {
+        "managers": {
+          "type": {"key": {"type": "uuid",
+                           "refTable": "Manager"},
+                   "min": 0, "max": "unlimited"}},
+       "switches": {
+         "type": {"key": {"type": "uuid", "refTable": "Physical_Switch"},
+                  "min": 0, "max": "unlimited"}}
+      },
+      "maxRows": 1,
+      "isRoot": true},
+    "Physical_Switch": {
+      "columns": {
+       "ports": {
+         "type": {"key": {"type": "uuid", "refTable": "Physical_Port"},
+                  "min": 0, "max": "unlimited"}},
+        "name": {"type": "string"},
+        "description": {"type": "string"},
+        "management_ips": {
+         "type": {"key": {"type": "string"}, "min": 0, "max": "unlimited"}},
+        "tunnel_ips": {
+         "type": {"key": {"type": "string"}, "min": 0, "max": "unlimited"}}},
+      "indexes": [["name"]]},
+    "Physical_Port": {
+      "columns": {
+        "name": {"type": "string"},
+        "description": {"type": "string"},
+       "vlan_bindings": {
+         "type": {"key": {"type": "integer",
+                          "minInteger": 0, "maxInteger": 4095},
+                  "value": {"type": "uuid", "refTable": "Logical_Switch"},
+                  "min": 0, "max": "unlimited"}},
+        "vlan_stats": {
+         "type": {"key": {"type": "integer",
+                          "minInteger": 0, "maxInteger": 4095},
+                  "value": {"type": "uuid",
+                            "refTable": "Logical_Binding_Stats"},
+                  "min": 0, "max": "unlimited"}}}},
+    "Logical_Binding_Stats": {
+      "columns": {
+        "bytes_from_local": {"type": "integer"},
+        "packets_from_local": {"type": "integer"},
+        "bytes_to_local": {"type": "integer"},
+        "packets_to_local": {"type": "integer"}}},
+    "Logical_Switch": {
+      "columns": {
+        "name": {"type": "string"},
+        "description": {"type": "string"},
+       "tunnel_key": {"type": {"key": "integer", "min": 0, "max": 1}}},
+      "isRoot": true,
+      "indexes": [["name"]]},
+    "Ucast_Macs_Local": {
+      "columns": {
+        "MAC": {"type": "string"},
+       "logical_switch": {
+          "type": {"key": {"type": "uuid",
+                          "refTable": "Logical_Switch"}}},
+       "locator": {
+          "type": {"key": {"type": "uuid",
+                          "refTable": "Physical_Locator"}}},
+        "ipaddr": {"type": "string"}},
+      "isRoot": true},
+    "Ucast_Macs_Remote": {
+      "columns": {
+        "MAC": {"type": "string"},
+       "logical_switch": {
+          "type": {"key": {"type": "uuid",
+                          "refTable": "Logical_Switch"}}},
+       "locator": {
+          "type": {"key": {"type": "uuid",
+                          "refTable": "Physical_Locator"}}},
+        "ipaddr": {"type": "string"}},
+      "isRoot": true},
+    "Mcast_Macs_Local": {
+      "columns": {
+        "MAC": {"type": "string"},
+       "logical_switch": {
+          "type": {"key": {"type": "uuid",
+                          "refTable": "Logical_Switch"}}},
+       "locator_set": {
+          "type": {"key": {"type": "uuid",
+                          "refTable": "Physical_Locator_Set"}}},
+        "ipaddr": {"type": "string"}},
+      "isRoot": true},
+    "Mcast_Macs_Remote": {
+      "columns": {
+        "MAC": {"type": "string"},
+       "logical_switch": {
+          "type": {"key": {"type": "uuid",
+                          "refTable": "Logical_Switch"}}},
+       "locator_set": {
+          "type": {"key": {"type": "uuid",
+                          "refTable": "Physical_Locator_Set"}}},
+        "ipaddr": {"type": "string"}},
+      "isRoot": true},
+    "Logical_Router": {
+      "columns": {
+        "name": {"type": "string"},
+        "description": {"type": "string"},
+       "switch_binding": {
+         "type": {"key": {"type": "string"},
+                  "value": {"type": "uuid",
+                             "refTable": "Logical_Switch"},
+                  "min": 0, "max": "unlimited"}},
+       "static_routes": {
+         "type": {"key": {"type": "string"},
+                  "value": {"type" : "string"},
+                  "min": 0, "max": "unlimited"}}},
+      "isRoot": true,
+      "indexes": [["name"]]},
+    "Physical_Locator_Set": {
+      "columns": {
+        "locators": {
+         "type": {"key": {"type": "uuid", "refTable": "Physical_Locator"},
+                  "min": 1, "max": "unlimited"},
+                  "mutable": false}}},
+    "Physical_Locator": {
+      "columns": {
+        "encapsulation_type": {
+          "type": {
+            "key": {
+              "enum": ["set", ["vxlan_over_ipv4"]],
+              "type": "string"}},
+         "mutable": false},
+        "dst_ip": {"type": "string", "mutable": false},
+       "bfd": {
+          "type": {"key": "string", "value": "string",
+              "min": 0, "max": "unlimited"}},
+       "bfd_status": {
+          "type": {"key": "string", "value": "string",
+              "min": 0, "max": "unlimited"}}},
+      "indexes": [["encapsulation_type", "dst_ip"]]},
+    "Manager": {
+      "columns": {
+        "target": {"type": "string"},
+        "max_backoff": {
+          "type": {"key": {"type": "integer",
+                           "minInteger": 1000},
+                   "min": 0, "max": 1}},
+        "inactivity_probe": {
+          "type": {"key": "integer", "min": 0, "max": 1}},
+        "other_config": {
+          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
+        "is_connected": {
+          "type": "boolean",
+          "ephemeral": true},
+        "status": {
+          "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"},
+          "ephemeral": true}},
+      "indexes": [["target"]],
+      "isRoot": false}},
+  "version": "1.0.0"}