A chassis may support multiple encapsulation types, so break them out
into their own table.

Signed-off-by: Justin Pettit <jpet...@nicira.com>
---
 ovn/ovn.ovsschema |   17 +++++++++++------
 ovn/ovn.xml       |   47 +++++++++++++++++++++++++++++++++--------------
 2 files changed, 44 insertions(+), 20 deletions(-)

diff --git a/ovn/ovn.ovsschema b/ovn/ovn.ovsschema
index c9f2af4..a0b8856 100644
--- a/ovn/ovn.ovsschema
+++ b/ovn/ovn.ovsschema
@@ -4,12 +4,9 @@
         "Chassis": {
             "columns": {
                 "name": {"type": "string"},
-                "encap": {"type": "string"},
-                "encap_options": {"type": {"key": "string",
-                                           "value": "string",
-                                           "min": 0,
-                                           "max": "unlimited"}},
-                "ip": {"type": "string"},
+                "encaps": {"type": {"key": {"type": "uuid",
+                                            "refTable": "Encap"},
+                                    "min": 1, "max": "unlimited"}},
                 "gateway_ports": {"type": {"key": "string",
                                            "value": {"type": "uuid",
                                                      "refTable": "Gateway",
@@ -18,6 +15,14 @@
                                            "max": "unlimited"}}},
             "isRoot": true,
             "indexes": [["name"]]},
+        "Encap": {
+            "columns": {
+                "type": {"type": "string"},
+                "options": {"type": {"key": "string",
+                                     "value": "string",
+                                     "min": 0,
+                                     "max": "unlimited"}},
+                "ip": {"type": "string"}}},
         "Gateway": {
             "columns": {"attached_port": {"type": "string"},
                         "vlan_map": {"type": {"key": {"type": "integer",
diff --git a/ovn/ovn.xml b/ovn/ovn.xml
index ccc2001..0214992 100644
--- a/ovn/ovn.xml
+++ b/ovn/ovn.xml
@@ -124,23 +124,16 @@
       not prescribe a particular format for chassis names.
     </column>
 
-    <group title="Encapsulation">
+    <group title="Encapsulation Configuration">
       <p>
-        These columns together identify how OVN may transmit logical dataplane
-        packets to this chassis.
+        OVN uses encapsulation to transmit logical dataplane packets
+        between chassis.
       </p>
 
-      <column name="encap">
-        The encapsulation to use to transmit packets to this chassis.
-      </column>
-
-      <column name="encap_options">
-        Options for configuring the encapsulation, e.g. IPsec parameters when
-        IPsec support is introduced.  No options are currently defined.
-      </column>
-
-      <column name="ip">
-        The IPv4 address of the encapsulation tunnel endpoint.
+      <column name="encaps">
+        Points to supported encapsulation configurations to transmit
+        logical dataplane packets to this chassis.  Each entry is a <ref
+        table="Encap"/> record that describes the configuration.
       </column>
     </group>
 
@@ -160,6 +153,32 @@
     </group>
   </table>
 
+  <table name="Encap" title="Encapsulation Types">
+    <p>
+      The <ref column="encaps" table="Chassis"/> column in the <ref
+      table="Chassis"/> table refers to rows in this table to identify
+      how OVN may transmit logical dataplane packets to this chassis.
+      Each chassis, via <code>ovn-controller</code>(8), adds and updates
+      its own rows and keeps a copy of the remaining rows to determine
+      how to reach other chassis.
+    </p>
+
+    <column name="type">
+      The encapsulation to use to transmit packets to this chassis.
+      Examples include <code>geneve</code>, <code>vxlan</code>, and 
+      <code>stt</code>.
+    </column>
+
+    <column name="options">
+      Options for configuring the encapsulation, e.g. IPsec parameters when
+      IPsec support is introduced.  No options are currently defined.
+    </column>
+
+    <column name="ip">
+      The IPv4 address of the encapsulation tunnel endpoint.
+    </column>
+  </table>
+
   <table name="Gateway" title="Physical Network Gateway Ports">
     <p>
       The <ref column="gateway_ports" table="Chassis"/> column in the <ref
-- 
1.7.5.4

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to