On 04/18/2015 01:04 PM, Ben Pfaff wrote: > 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 <b...@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 >
This all looks good to me, so: Acked-by: Russell Bryant <rbry...@redhat.com> I wonder if it's worth specifically drawing the connection between the logical datapath in ovn-sb and the logical switch in ovn-nb. I see in the code later that it's set as the logical switch UUID from ovn-nb. From a schema perspective, I get that it just needs to be a UUID. Maybe an update to ovn-architecture could mention that ovn-northd creates these entries using the logical switch's UUID to tie them together. -- Russell Bryant _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev