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

Alex Wang alexw at nicira.com
Sat Aug 8 06:54:00 UTC 2015


How about this version~,

If you think it is good, I'll apply the first 5 patches~

Thanks,
Alex Wang,

On Fri, Aug 7, 2015 at 11:58 PM, Alex Wang <alexw at nicira.com> 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.  The use of this column will be documented in later commit.
>
> Signed-off-by: Alex Wang <alexw at nicira.com>
>
> ---
> V5->V6:
> - delay the documentation to later commit.
>
> 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-sb.ovsschema |   16 +++-------------
>  ovn/ovn-sb.xml       |   44 ++++++++++++--------------------------------
>  2 files changed, 15 insertions(+), 45 deletions(-)
>
> diff --git a/ovn/ovn-sb.ovsschema b/ovn/ovn-sb.ovsschema
> index 40a29e9..9ee7431 100644
> --- a/ovn/ovn-sb.ovsschema
> +++ b/ovn/ovn-sb.ovsschema
> @@ -7,12 +7,9 @@
>                  "encaps": {"type": {"key": {"type": "uuid",
>                                              "refTable": "Encap"},
>                                      "min": 1, "max": "unlimited"}},
> -                "gateway_ports": {"type": {"key": "string",
> -                                           "value": {"type": "uuid",
> -                                                     "refTable":
> "Gateway",
> -                                                     "refType": "strong"},
> -                                           "min": 0,
> -                                           "max": "unlimited"}}},
> +                "vtep_logical_switches" : {"type": {"key": "string",
> +                                                    "min": 0,
> +                                                    "max": "unlimited"}}},
>              "isRoot": true,
>              "indexes": [["name"]]},
>          "Encap": {
> @@ -25,13 +22,6 @@
>                                       "min": 0,
>                                       "max": "unlimited"}},
>                  "ip": {"type": "string"}}},
> -        "Gateway": {
> -            "columns": {"vlan_map": {"type": {"key": {"type": "integer",
> -                                                      "minInteger": 0,
> -                                                      "maxInteger": 4095},
> -                                              "value": {"type": "string"},
> -                                              "min": 0,
> -                                              "max": "unlimited"}}}},
>          "Logical_Flow": {
>              "columns": {
>                  "logical_datapath": {"type": {"key": {"type": "uuid",
> diff --git a/ovn/ovn-sb.xml b/ovn/ovn-sb.xml
> index baced61..ce7d8f7 100644
> --- a/ovn/ovn-sb.xml
> +++ b/ovn/ovn-sb.xml
> @@ -35,8 +35,7 @@
>    </p>
>
>    <p>
> -    The <ref table="Chassis"/> and <ref table="Gateway"/> tables comprise
> the
> -    PN tables.
> +    The <ref table="Chassis"/> table comprises the PN tables.
>    </p>
>
>    <h3>Logical Network (LN) data</h3>
> @@ -165,16 +164,15 @@
>
>      <group title="Gateway Configuration">
>        <p>
> -        A <dfn>gateway</dfn> is a chassis that forwards traffic between a
> -        logical network and a physical VLAN.  Gateways are typically
> dedicated
> -        nodes that do not host VMs.
> +        A <dfn>gateway</dfn> is a chassis that forwards traffic between
> the
> +        OVN-managed part of a logical network and a physical VLAN,
> extending a
> +        tunnel-based logical network into a physical network.  Gateways
> are
> +        typically dedicated nodes that do not host VMs.
>        </p>
>
> -      <column name="gateway_ports">
> -        Maps from the name of a port attached to the OVN integration
> bridge
> -        (typically a physical port or an Open vSwitch patch port) to a
> <ref
> -        table="Gateway"/> record that describes the details of the
> gatewaying
> -        function.
> +      <column name="vtep_logical_switches">
> +        Stores all vtep logical switch names connected by this gateway
> +        chassis.
>        </column>
>      </group>
>    </table>
> @@ -206,23 +204,6 @@
>      </column>
>    </table>
>
> -  <table name="Gateway" title="Physical Network Gateway Ports">
> -    <p>
> -      The <ref column="gateway_ports" table="Chassis"/> column in the <ref
> -      table="Chassis"/> table refers to rows in this table to connect a
> chassis
> -      port to a gateway function.  Each row in this table describes the
> logical
> -      networks to which a gateway port is attached.  Each chassis, via
> -      <code>ovn-controller</code>(8), adds and updates its own rows, if
> any
> -      (since most chassis are not gateways), and keeps a copy of the
> remaining
> -      rows to determine how to reach other chassis.
> -    </p>
> -
> -    <column name="vlan_map">
> -      Maps from a VLAN ID to a logical port name.  Thus, each named
> logical
> -      port corresponds to one VLAN on the gateway port.
> -    </column>
> -  </table>
> -
>    <table name="Logical_Flow" title="Logical Network Flows">
>      <p>
>        Each row in this table represents one logical flow.  The cloud
> management
> @@ -642,11 +623,10 @@
>          Most of the symbols below have integer type.  Only
> <code>inport</code>
>          and <code>outport</code> have string type.  <code>inport</code>
> names a
>          logical port.  Thus, its value is a <ref column="logical_port"/>
> name
> -        from the <ref table="Port_Binding"/> or <ref table="Gateway"/>
> tables.
> -        <code>outport</code> may name a logical port, as
> <code>inport</code>,
> -        or a logical multicast group defined in the <ref
> -        table="Multicast_Group"/> table.  For both symbols, only names
> within
> -        the flow's logical datapath may be used.
> +        from the <ref table="Port_Binding"/> table.  <code>outport</code>
> may
> +        name a logical port, as <code>inport</code>, or a logical
> multicast
> +        group defined in the <ref table="Multicast_Group"/> table.  For
> both
> +        symbols, only names within the flow's logical datapath may be
> used.
>        </p>
>
>        <ul>
> --
> 1.7.9.5
>
>



More information about the dev mailing list