[ovs-dev] [ovn-controller-vtep V3 2/7] ovn-sb: Remove the "Gateway" table from the ovn-sb schema.

Russell Bryant rbryant at redhat.com
Wed Jul 15 18:22:58 UTC 2015


On 07/13/2015 11:22 PM, 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 not really necessary to keep record of the vlan map
> for each gateway physical port in the OVN_Southbound database using
> "gateway_ports".
> 
> Thusly, this commit removes the "Gateway" table from the OVN_Southbound
> database.  In the "Chassis" table, the "gateway_ports" column is replaced
> by "logical_switches" column which maps the logical switch name in the
> gateway to a logical port name that exists in the OVN_Northbound database's
> "Logical_Port" table.
> 
> Signed-off-by: Alex Wang <alexw at nicira.com>

I think this makes sense to me.  I wonder if calling it
"logical_switches" could be confusing with the logical switch in OVN
Northbound.  Maybe "vtep_logical_switches" would clarify?

To make sure I understand correctly ...

1) ovn-controller-vtep will register itself in the Chassis table.  It
will populate the Chassis "logical_switches" with a list of the VTEP
switch's logical switches and associated auto-generated logical port names.

2) A management system will update OVN_Northbound with a logical port
with a special name that indicates that it's associated with a given
VTEP logical switch.

3) ovn-northd creates a Binding for this logical port just like a normal
port and assigns it a tunnel key.

4) ovn-controller-vtep will see this Binding and assign this tunnel key
to the logical switch via the VTEP schema.

Is this how the tunnel key is decided on to reach a given vtep logical
switch?  If so, where is #4 done?  or did I misunderstand the flow?

Also, what do you think about my proposal for using "type" and "options"
fields on logical ports in OVN_Northbound instead of a special port
name?  If we went this route, you don't need "logical_switches" to be a
smap, it can just be a list of logical switch names.  Creating a
connection in OVN northbound would be something like:

  Logical_Port
    name: <anything>
    type: vtep
    options:
       vtep_physical_switch: <...>
       vtep_logical_switch: <...>

-- 
Russell Bryant



More information about the dev mailing list