[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 17:13:12 UTC 2015


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>

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.

> +      </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?

-- 
Russell Bryant



More information about the dev mailing list