[ovs-dev] [ovn-controller-vtep V5 01/12] ovn-sb: Remove the "Gateway" table from the ovn-sb schema.

Russell Bryant rbryant at redhat.com
Fri Aug 7 22:48:06 UTC 2015


On 08/07/2015 06:43 PM, Alex Wang wrote:
> Thx so much for the quick review, Russell !!!
> 
> Please see my comments inline,
> 
> On Fri, Aug 7, 2015 at 10:13 AM, Russell Bryant <rbryant at redhat.com
> <mailto:rbryant at redhat.com>> wrote:
> 
>     On 08/07/2015 03:46 AM, Alex Wang wrote:
>     > In a gateway like the VTEP L2 gateway, physical vlans belonging to
>     > the same logical network form a "logical switch".  Each logical switch
>     > has a dedicated tunnel key and will keep records of all MACs learned
>     > from the owned vlans.  So user can just send packet to a "logical
>     > switch" and the gateway will figure out the output port and vlan tag
>     > automatically.
>     >
>     > Therefore, it is really not necessary to keep record of the vlan map
>     > for each gateway physical port in the OVN_Southbound database using
>     > "gateway_ports" and to map each vlan to a unique ovn logical port.
>     > Instead, we should simply map each logical switch to a ovn logical
>     > port.
>     >
>     > Thusly, this commit removes the "Gateway" table from the OVN_Southbound
>     > database.  In the "Chassis" table, the "gateway_ports" column is replaced
>     > by "vtep_logical_switches" column which stores all vtep logical switch
>     > names.  Then, in the OVN_Northbound database, the CMS must specify the
>     > physical switch name and the logical switch name via
>     > "options:vtep_physical_switch" and "options:vtep_logical_switch" when
>     > creating logical port with type "vtep".
>     >
>     > Signed-off-by: Alex Wang <alexw at nicira.com <mailto:alexw at nicira.com>>
> 
>     The change makes sense to me, but I had a couple of doc comments.
> 
>     > ---
>     > V4->V5:
>     > - rebase on top of master.
>     > - change "vtep_logical_switches" to a set of strings storing all
>     logical
>     >   switch names.
>     > - require user to specify "vtep_physical_switch" and
>     "vtep_logical_switch"
>     >   in options.
>     >
>     > V3->V4:
>     > - change the column name to "vtep_logical_switches".
>     > - adopt Ben's refinement of ovn-sb schema manual.
>     >
>     > ->V3:
>     > - Realize that the Gateway table is not needed.
>     > ---
>     >  ovn/ovn-nb.xml       |   31 +++++++++++++++++----
>     >  ovn/ovn-sb.ovsschema |   16 ++---------
>     >  ovn/ovn-sb.xml       |   75
>     ++++++++++++++++++++++++++++----------------------
>     >  3 files changed, 70 insertions(+), 52 deletions(-)
>     >
>     > diff --git a/ovn/ovn-nb.xml b/ovn/ovn-nb.xml
>     > index ade8164..77b559d 100644
>     > --- a/ovn/ovn-nb.xml
>     > +++ b/ovn/ovn-nb.xml
>     > @@ -111,18 +111,37 @@
>     >      <column name="type">
>     >        <p>
>     >        Specify a type for this logical port.  Logical ports can be
>     used to model
>     > -      other types of connectivity into an OVN logical switch. 
>     Leaving this column
>     > -      blank maintains the default logical port behavior.
>     > +      other types of connectivity into an OVN logical switch. 
>     Leaving this
>     > +      column blank maintains the default logical port behavior,
>     which is
>     > +      for a VM (or VIF) interface.  Besides, the following types are
>     > +      defined:
>     >        </p>
>     >
>     > -      <p>
>     > -      There are no other logical port types implemented yet.
>     > -      </p>
>     > +      <dl>
>     > +        <dt><code>vtep</code></dt>
>     > +        <dd>A port to a logical switch on a VTEP gateway.  In order
>     > +        to get this port correctly recognized by the ovn
>     controller, the
>     > +        <ref column="options"
>     table="Logical_Port"/>:vtep_physical_switch
>     > +        and <ref column="options"
>     table="Logical_Port"/>:vtep_logical_switch
>     > +        must also be defined.</dd>
>     > +      </dl>
>     >      </column>
>     >
>     >      <column name="options">
>     > +      <p>
>     >          This column provides key/value settings specific to the
>     logical port
>     > -        <ref column="type"/>.
>     > +        <ref column="type"/>.  The following options are defined:
>     > +      </p>
>     > +
>     > +      <dl>
>     > +        <dt><code>vtep_physical_switch</code></dt>
>     > +        <dd>The <ref column="name" table="Chassis"/> of the VTEP
>     gateway.</dd>
> 
>     I'm not sure if this <ref> makes sense since it's a table in another
>     schema.
> 
> 
> Thx, will remove it.
> 
> 
>  
> 
>     > +      </dl>
>     > +
>     > +      <dl>
>     > +        <dt><code>vtep_logical_switch</code></dt>
>     > +        <dd>A logical switch name connected by the VTEP gateway.</dd>
>     > +      </dl>
>     >      </column>
> 
>     All of these docs look good, but do you think it makes sense to add
>     these docs later in the series once all of the code is in place to
>     support the 'vtep' port type?
> 
> 
> 
> Okay, I'm writing up a description for ovn-controller-vtep in
> ovn-architecture~
> Maybe I should post the series after that, but I'm learning to use a new 
> keyboard, so, typing slow~
> 
> I'd like to fold this ovn-sb/ovn-nb.xml change in that patch~ what do you 
> think?

Sure, that sounds good to me.

-- 
Russell Bryant



More information about the dev mailing list