[ovs-dev] [RFC] ovn: physical network integraiton (WIP)

Russell Bryant rbryant at redhat.com
Thu Jul 9 14:58:23 UTC 2015


(re-adding ovs dev list)

On 07/09/2015 10:52 AM, Salvatore Orlando wrote:
> 
> 
> On 8 July 2015 at 16:12, Russell Bryant <rbryant at redhat.com
> <mailto:rbryant at redhat.com>> wrote:
> 
>     On 07/07/2015 06:06 PM, Salvatore Orlando wrote:
>     > Reading your post and the associated patch it seems that you're treating
>     > the physical network as a logical port from a pipeline perspective but
>     > exposing it as a logical switch attribute from a NB DB perspective. Is
>     > that correct?
> 
>     Yes, that's correct.
> 
>     > If my previous statement is correct, I wonder why not treat it always as
>     > a logical port and then perhaps leverage OVN gateways? This might or
>     > might not represent what a Neutron provider network is, but it surely
>     > represent a viable implementation of its main use case: mapping a
>     > logical network to a physical VLAN in the data centre, and keeping
>     > control of security policing and IP addressing over logical ports
>     > created on such network.
> 
>     Yes, using gateways to accomplish the use case from a high level makes a
>     lot of sense and I expect to provide that, as well.  The gateway work
>     needs to make its way into OVN and then we need to figure out how to
>     expose it from the Neutron API.
> 
>     My worry is that in OpenStack, there's still a significant demand for
>     provider networks in the way the reference implementation works, without
>     the use of any tunnels.  The primary justification is simplicity,
>     AFAICT.
> 
> 
> You are absolutely correct. My gut feeling (I still have to try out your
> patch), is that the solution you are proposing actually does not go in
> this direction.
> I might be mistaken but it seems to me what we have here is a standard
> logical network, implemented with overlays, that "spills" into a
> physical network (and hence my suggestion on L2 gateway).
> 
> The reference implementation (and some other open source and commercial
> ones - afaict at least midonet and vmw nsx) instead implement, as you
> wrote, provider networks as a different way of doing transport mappings
> for a logical network.

Yes, it's my intention to implement it this way (no overlay usage at
all).  The code I threw up is just far from complete.

The L2 gateway stuff is getting implemented too, though.  Alex Wang has
some patches up for that.

> 
> 
>     We don't *have* to implement this, but if we don't, it leaves a common
>     deployment model unsatisfied by Neutron+OVN, and will continue to be
>     covered by the reference implementation.  I was hoping we could cover
>     everything the reference implementation provides.
> 
> 
> And we should. We might decide not to cover use cases whose usefulness
> is arguable, like a provider mappings on a specific VxLAN VNI, but the
> VLAN mapping is a must, and it should be implemented in the way
> operators expect it to be implemented.
>  
> 
> 
>     > From what I gather this might simplify the broadcast issue you
>     > mentioned, as you probably won't need anymore a specialised action.
>     > We probably will still have the name overlap issue when doing neutron
>     > integration, but this is probably an issue that can be worked around easily.
>     >
>     > I think the solution you propose to define mappings for the physical
>     > network, which is very similar to Neutron's reference control plane, is
>     > viable too and can also work in the case where the physical network is
>     > represented as a specialised output port. Have you considered this
>     > approach?
> 
>     That's interesting.  I was thinking of it as a specialized output port,
>     but as you pointed out, it's exposed as attributes on the logical switch
>     in the NB DB.  I hadn't considered defining the connectivity to the
>     external network as a logical port.
> 
> 
> I suspect the reason for which you had not considered it is that it
> would perhaps lead to an implementation that does not render the
> physical network mapping in the way the reference implementation does.
>  
> 
> 
>     There's network-wide special handling that seemed a little easier to
>     think about when it's configured network-wide.  A logical port today
>     exists only on a single chassis (hypervisor), while these special ports
>     should exist on every chassis. 
> 
> 
> That is correct, perhaps by treating the external network as logical
> port we're just moving the complexity somewhere else, but not getting
> rid of it.
> 
>  
> 
>     If this is used for a given logical
>     switch, no tunnels should be created and we need the different output
>     behavior.  So, I'm not sure if modeling it that way makes things easier.
> 
> 
> Perhaps not, but at least now we're both convinced it won't! 
> 
> 
>     --
>     Russell Bryant
> 
> 


-- 
Russell Bryant



More information about the dev mailing list