[ovs-dev] [PATCH ovn pipeline 4/6] ovn: Add logical_datapath concept to schema.

Ben Pfaff blp at nicira.com
Sat Apr 18 17:04:36 UTC 2015


It's possible that we could implement all of the OVN concepts as a single
collection of flow tables, but it makes more sense to me if we instead
represent each logical switch and logical router separately.  This also
fits the model described in T. Koponen et al., "Network Virtualization in
Multi-tenant Data Centers," NSDI '14, the model that OVN aspires to
imitate.

Signed-off-by: Ben Pfaff <blp at nicira.com>
---
 ovn/ovn-sb.ovsschema |  2 ++
 ovn/ovn-sb.xml       | 16 +++++++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/ovn/ovn-sb.ovsschema b/ovn/ovn-sb.ovsschema
index 98662b8..5f2d1a4 100644
--- a/ovn/ovn-sb.ovsschema
+++ b/ovn/ovn-sb.ovsschema
@@ -33,6 +33,7 @@
                                               "max": "unlimited"}}}},
         "Pipeline": {
             "columns": {
+                "logical_datapath": {"type": "uuid"},
                 "table_id": {"type": {"key": {"type": "integer",
                                               "minInteger": 0,
                                               "maxInteger": 127}}},
@@ -44,6 +45,7 @@
             "isRoot": true},
         "Bindings": {
             "columns": {
+                "logical_datapath": {"type": "uuid"},
                 "logical_port": {"type": "string"},
                 "parent_port": {"type": {"key": "string", "min": 0, "max": 1}},
                 "tag": {
diff --git a/ovn/ovn-sb.xml b/ovn/ovn-sb.xml
index e4159db..45b8622 100644
--- a/ovn/ovn-sb.xml
+++ b/ovn/ovn-sb.xml
@@ -227,6 +227,13 @@
       The default action when no flow matches is to drop packets.
     </p>
 
+    <column name="logical_datapath">
+      The logical datapath to which the logical port belongs.  A logical
+      datapath implements a logical pipeline among the ports in the <ref
+      table="Bindings"/> table associated with it.  (No table represents a
+      logical datapath.)
+    </column>
+
     <column name="table_id">
       The stage in the logical pipeline, analogous to an OpenFlow table number.
     </column>
@@ -446,7 +453,8 @@
         they are Unicode strings).  String constants are used for naming
         logical ports.  Thus, the useful values are <ref
         column="logical_port"/> names from the <ref column="Bindings"/> and
-        <ref column="Gateway"/> table.
+        <ref column="Gateway"/> table in a logical flow's <ref
+	column="logical_datapath"/>.
       </p>
 
       <p>
@@ -653,6 +661,12 @@
       <code>chassis</code> column with new information.
     </p>
 
+    <column name="logical_datapath">
+      The logical datapath to which the logical port belongs.  A logical
+      datapath implements a logical pipeline via logical flows in the <ref
+      table="Pipeline"/> table.  (No table represents a logical datapath.)
+    </column>
+
     <column name="logical_port">
       A logical port, taken from <ref table="Logical_Port" column="name"
       db="OVN_Northbound"/> in the OVN_Northbound database's
-- 
2.1.3




More information about the dev mailing list