[libvirt] [patch 4/5] nwfilter: Extend schema to accept state attribute

Stefan Berger stefanb at us.ibm.com
Wed Oct 6 17:18:47 UTC 2010


Daniel Veillard <veillard at redhat.com> wrote on 10/06/2010 12:00:04 PM:

> Re: [libvirt] [patch 4/5] nwfilter: Extend schema to accept state 
attribute
> 
> On Fri, Oct 01, 2010 at 08:28:53PM -0400, Stefan Berger wrote:
> > Extend the nwfilter.rng schema to accept state attributes.
> > 
> > Signed-off-by: Stefan Berger <stefanb at us.ibm.com>
> [...]
> > +
> > +  <define name='stateflags-type'>
> > +    <data type="string">
> > +      <param name="pattern">((NEW|ESTABLISHED|RELATED|INVALID)(,
> (NEW|ESTABLISHED|RELATED|INVALID))*|NONE)</param>
> > +    </data>
> > +  </define>
> >  </grammar>
> 
> Hum, we really want to accept something like
>    NEW,NEW,NEW,NEW
> ?
> I understand that we may want to add RELATED to another state, but that
> regexp could probably be refined, isn't it ?

The only solution that I could come up with is to explicitly enumerate all 
possible
combinations of the above 4 words (15 combinations). This solution would 
then also
force the user to provide them in a particular order:

(A)|(B)|(C)|(D)|(A,B)|(A,C)|(A,D)|(B,C)|(B,D)|(C,D)|(A,B,C)|(A,B,D)|(A,C,D)|(B,C,D)|(A,B,C,D)

When not forcing the user into a sequence we'd need something like this 
here:

(A)|(B)|(C)|(D)|(A,B)|(A,C)|(A,D)|(B,C)|(B,D)|(C,D)|(A,B,C)|(A,B,D)|(A,C,D)|(B,C,D)|(A,B,C,D)|
 
(B,A)|(C,A),(D,A),(C,B),(D,B),(D,C),(A,C,B)|(A,D,B)|(A,D,C)|(B,D,C)|(A,B,D,C)|
                ...

I think the proposed solution is not as 'strict' as it should be but 
compared to the other two
solutions I think it is 'ok' -- unless there is a fundamentally different 
way of writing this
type of regex.

Regards,
   Stefan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20101006/58ad1085/attachment-0001.htm>


More information about the libvir-list mailing list