On Mon, Sep 21, 2015 at 04:48:04PM -0400, Russell Bryant wrote:
> On 09/17/2015 01:11 PM, Ben Pfaff wrote:
> > This is a proposed plan for logical L3 in OVN.  It is not entirely
> > complete but it includes many important details and I believe that it moves
> > planning forward.
> > 
> > Signed-off-by: Ben Pfaff <b...@nicira.com>
> > ---
> >  ovn/TODO                    | 264 +++++++++++++++++++++++++++++++++-
> >  ovn/northd/ovn-northd.8.xml | 342 
> > +++++++++++++++++++++++++++++++++++++++++++-
> >  ovn/ovn-architecture.7.xml  |   2 +-
> >  ovn/ovn-sb.xml              | 109 ++++++++++++--
> >  4 files changed, 697 insertions(+), 20 deletions(-)
> > 
> > diff --git a/ovn/TODO b/ovn/TODO
> > index 6f625ce..a0f5385 100644
> > --- a/ovn/TODO
> > +++ b/ovn/TODO
> > @@ -1,3 +1,265 @@
> > +-*- outline -*-
> > +
> > +* L3 support
> > +
> > +** OVN_Northbound schema
> > +
> > +*** Needs to support interconnected routers
> > +
> > +It should be possible to connect one router to another, e.g. to
> > +represent a provider/tenant router relationship.  This requires
> > +an OVN_Northbound schema change.
> 
> I'm curious about the use case here.

I think that it's always possible to "cross-product" a topology of
routers into a single router, so it's not strictly necessary since
whatever runs above OVS (such as Neutron) could do the cross-producting,
or we could put it into ovn-northd.  That said, there are a few use
cases.

One is to make it easier for users to reproduce in a logical network the
structure of some existing physical network that includes multiple
routers.  That's essentially for convenience.

Another is for multitenant environments where each tenant might control
its own set of logical switches and logical routers, and then a
higher-level router connects the tenants' routers.

> I'd like to be able to put a router between a Neutron "provider network"
> (existing physical network) and a regular tenant network (OVN managed
> virtual network).  Is that the kind of thing you're talking about?

When I said "provider" and "tenant" above, I was speaking in terms of
the plain meanings of those words.  I might have mis-stepped into
Neutron terminology that has very specific meanings, like the Neutron
"provider networks" that we've implemented in OVN through localnet
logical ports.  So there might be some impedance mismatch.

But what you mention might be a way to apply router topologies.  Let me
see...

> Here's how I'd model that example with 2 tenants with 3 VMs each on
> their own tenant networks (I think).  I was thinking it could be a
> special Logical Switch to hook a localnet port to a logical router,
> similar to what we do with regular vif logical ports.
> 
> 
> Logical Switch LS1  (for tenant A)
>   Logical Port LP1
>   Logical Port LP2
>   Logical Port LP3
>   router = LR1
> 
> Logical Switch LS2  (for tenant A)
>   Logical Port LP4, type=localnet. network-name=mynetwork
>   router = LR1
> 
> Logical Router LR1  (for tenant A)
>   Logical Router Port LRP1, network=LS1
>   Logical Router Port LRP2, network=LS2
> 
> 
> Logical Switch LS3  (for tenant B)
>   Logical Port LP5
>   Logical Port LP6
>   Logical Port LP7
>   router = LR2
> 
> Logical Switch LS4  (for tenant B)
>   Logical Port LP8, type=localnet, network-name=mynetwork
>   router = LR2
> 
> Logical Router LR2 (for tenant B)
>   Logical Router Port LRP3, network=LS3
>   Logical Router Port LRP4, network=LS4
> 
> 
> Does that sort of configuration seem sane?  If not, how would we
> accomplish the end goal?

I think that's one way to accomplish it.  I had something more like this
in mind (mostly copied from yours).  It's somewhat degenerate in that
each tenant only has one router and one switch of its own so that it
could be modeled without LR1 and LR2 but I think it still makes the
pointer:

    Logical Switch LS1  (for tenant A)
      Logical Port LP1
      Logical Port LP2
      Logical Port LP3
      router = LR1

    Logical Router LR1  (for tenant A)
      Logical Router Port LRP1 connects to LS1
      Logical Router Port LRP2 connects to LR3

    Logical Switch LS2  (for tenant B)
      Logical Port LP5
      Logical Port LP6
      Logical Port LP7
      router = LR2

    Logical Router LR2 (for tenant B)
      Logical Router Port LRP3 connects to LS2
      Logical Router Port LRP4 connects to LR3

    Logical Router LR3 (connects tenants together)
      Logical Router Port LRP5 connects to LR1
      Logical Router Port LRP6 connects to LR2
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to