[libvirt] [RFC Incomplete Patch] Libvirt + Openvswitch

Daniel P. Berrange berrange at redhat.com
Tue Jan 31 12:01:07 UTC 2012


On Mon, Jan 30, 2012 at 02:49:03PM -0600, kmestery wrote:
> On Jan 30, 2012, at 2:41 PM, Dan Wendlandt wrote:
> > Hi Kyle!  Funny how we keep bumping into each other...  I hope you're
> > keeping warm in Minnesota :)
> > 
> > On Fri, Jan 27, 2012 at 11:22 AM, kmestery <kmestery at cisco.com> wrote:
> >> Hi Dan:
> >> 
> >> We at Cisco have been looking at this as well, and in fact were going to propose some things in this area as well. Our proposal (which frankly just builds on top of what you have):
> > 
> > I agree, I think the two proposals are complementary.  Our first goal
> > was to enable the basic mode of plugging an interface into an OVS
> > bridge that was created outside of libvirt.  This would require
> > changes to the <interface> XML only, and would mirror how libvirt
> > already let's one plug into an existing bridge using <interface
> > type="bridge">.
> > 
> This makes sense.
> 
> > The second step would be to also allow libvirt to actually create +
> > configure the OVS bridges as well.  This I believe would map very
> > closely to the XML you and Roopa have suggested.  We would need to put
> > some thought into what of the many configuration options on an OVS
> > bridge need to be exposed as part of the OVS <network> XML (e.g., how
> > to configure an OpenFlow controller, etc.).  These are definitely
> > discussions worth having, but I was hoping to start out with a fairly
> > clean initial patch to achieve our first goal.
> > 
> OK, this makes sense too.
> 
> > I do like the idea of using the virtual port construct even in the
> > initial <interface> only case.  For example:
> > 
> > <interface type='bridge'>
> >  <bridge name='br0'>
> >  <virtualport type="openvswitch">
> >    <parameters interfaceid='xyzzy'/>
> >  </virtualport>
> > </interface>
> > 
> > This would seem to create a nice parallel with the model you proposed
> > where <virtualport> is used with <interface type="network">.   I'm
> > still not sure whether the "type=openvswitch" should be an attribute
> > of the <interface>, <bridge>, or <virtualport> element.  Either way, I
> > think the underlying code will be treating OVS + Linux Bridge as two
> > different cases, so I believe this is really just a matter of
> > consistently of presentation in XML.

Yes, I prefer this design to the initial proposal.

> > 
> I think fundamentally an Open vSwitch bridge is different from a
> standard Linux, thus the "type=openvswitch" needs to be a part of
> the <bridge> for sure. I like adding it to the <virtualport> element
> above.

NB,  type='bridge' technically refers to the *concept* of bridging
an interface to a LAN, not the implemntation of Linux software
bridging. Thus it shouldn't change for OpenVSwitch which is also
providing bridging to the LAN here.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list