libvir-list-bounces@redhat.com wrote on 01/26/2010 08:35:36 AM:

>
> On Tue, Jan 26, 2010 at 02:24:43PM +0100, Gerhard Stenzel wrote:
> > On Mon, 2010-01-25 at 14:59 +0000, Daniel P. Berrange wrote:
> > > On Fri, Jan 22, 2010 at 01:29:16PM +0100, Gerhard Stenzel wrote:
> > > > On Wed, 2010-01-13 at 17:36 +0000, Daniel P. Berrange wrote:
> > ...
> > >
> > > The shear size of the ruleset inside the <interface> element is
> > > rather alarming to me. Imagine if you have a guest with more
> > > than one NIC.  I'm inclined to suggest that the <interface>
> > > element in the domain XML description should only have a single
> > > rule
> > >
> > >    <filter name='BLAH'/>
> > >
> > > and if apps wish to construct a filter, from multiple independant
> > > sub-filters, then that should be done against the filter object's
> > > config, rather than the domain object's config.
> > >
> > ...
> > > What was the idea with the empty attributes here ?  Are those
> > > implying that the attribute value is to be filled in with the
> > > value from the domain XML ? If so I'd probably make that more
> > > explicit using something like  $IP and $MAC to represent the
> > > guest configured IP/MAC
> > >
> > ...
> > > I don't think that '<firewall>' is the top level object to be managed
> > > here. I would suggest that '<firewall>' and  '<template>' elements are
> > > redundant, and that <filter> should be for the top level managed objects.
> > > The libvirt API would allow listing of existing filters,
> creating / deleting
> > > filters and updating the config. The <filter> element would
> allow some kind
> > > of <include> element to allow a complex filter to be built out
> of multiple
> > > simpler filters.
> > >
> > >
> > > Regards,
> > > Daniel
> >
> > Daniel,
> >
> > ok, trying to combine your suggestions:
> >
> > - guest contains a single filter reference per interface
> >
> > guest.xml:
> > ----------
> > <domain type='kvm'>
> >   <name>demo</name>
> >   <memory>256000</memory>
> >   <devices>
> >     <interface type="bridge">
> >       <filter name='demofilter' ipaddr='10.0.0.1'/>
> >     </interface>
>
> There's no need for ipaddr there - the XML schema already allows
> for a
>
>    <ip address='10.0.0.1'/>
>
> within the <interface> tag here. We already have MAC address as
> a separate tag too. We could likely add VLAN in a similar way.


A VM may be allowed to generate traffic on multiple VLANs (having multiple different VLAN interfaces inside the VM). For that we may need different rules per VLAN traffic that the VM is allowed to send traffic on.

Since we only reference the filter in the interface XML, I suppose that we need to rely on higher layers to take care of migrating those
filters and referenced sub(-sub)-filters to the target host. Correct?

   Stefan