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