[ovs-dev] [PATCH 2/3] expr: Add address set support.
Russell Bryant
russell at ovn.org
Tue Apr 12 16:30:12 UTC 2016
On Mon, Apr 11, 2016 at 11:50 AM, Ben Pfaff <blp at ovn.org> wrote:
> 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 <russell at 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.
>
Sure, thanks for the feedback!
> 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?
>
Sounds good to me.
> 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()
Sure, I can do that. I don't have a strong preference. My initial
reaction is to go with $name, though.
--
Russell Bryant
More information about the dev
mailing list