On Tue, Apr 05, 2016 at 05:24:18PM -0400, Russell Bryant wrote:
> Update the OVN expression parser to support address sets.  Previously,
> you could have a set of IP or MAC addresses in this form:
> 
>     {addr1, addr2, ..., addrN}
> 
> This patch adds support for a bit of indirection where we can define a
> set of addresses and refer to them by name.
> 
>     address_set(name)
> 
> A future patch will expose the ability to define address sets for use.
> 
> Signed-off-by: Russell Bryant <russ...@ovn.org>

Thanks for working on this.  I have a couple of high-level comments.  I
haven't reviewed the details yet; I'll plan to do that after we've
discussed the high level.

First, I'd prefer to generalize slightly.  I believe that, with this
patch, one can write "field == {a, b, c}" or "field == address_set(x)".
However, I think that it would be nicer if one could write, e.g. "field
== {a, b, address_set(x), address_set(y), c}".  Could you add that
feature?

Second, one of my design goals for the expression language was to avoid
reserved words, so that the language itself, at least, would not
restrict the choice of field names.  Also, "address_set" is a pretty
long name, making it somewhat undesirable; I wouldn't want to type it
very often.  Can you think of a different syntax that would avoid
reserved words?  For example, one of the following as a substitute for
address_set(name) might be reasonable:

        $name
        @name
        [name]
        <name>
        name()
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to