Ben Pfaff <[email protected]> wrote on 21/03/2016 06:36:37 PM:
> On Thu, Feb 25, 2016 at 09:26:42AM +0200, Liran Schour wrote:
> > Ben Pfaff <[email protected]> wrote on 25/02/2016 02:25:32 AM:
> > > On Thu, Feb 18, 2016 at 11:46:40AM +0000, Liran Schour wrote:
> > > > Change ovsdb_condition to be a 3-element json array or a boolean
> > value.
> > > > Conditions utilities will be used later for conditional
monitoring.
> > > >
> > > > Signed-off-by: Liran Schour <[email protected]>
> > > >
> > > > ---
> > > > v3->v4:
> > > > * Pass index_map only to ovsdb_condition_evaluate_or_datum()
> > > > * Added ovsdb_condition_is_[true|false]()
> > > > * Added ovsdb_condition_get_max_function()
> > > > * Added ovsdb_condition_diff()
> > > >
> > > > v2->v3:
> > > > * Remove condition_add() and condition_remove() and all
sub-functions
> > > > * Allow single bollean value XOR <condition>
> >
> > > It seems strange that ovsdb_condition_evaluate_or_datum() returns
true
> > > if there are no clauses. What's the rationale?
> >
> > The rationale here is that we want that an empty condition will be
treated
> > as implicit true in conditional monitoring. In that way if the user
send a
> > monitor_cond request with an empty "where" condition, The result will
be
> > the same as the former monitor2 request.
> > Maybe ovsdb_condition_evaluate_or_datum() should return true only if
one
> > of the clauses is true and check if condition is empty before calling
> > ovsdb_condition_evaluate_or_datum(). What do you think?
>
> Let's try that. I think that it's less surprising to the reader.
>
OK.
> > > I don't understand the purpose of ovsdb_condition_max_function().
> >
> > I needed a way to tell if a condition has only functions of type
> > {false,true,"==","includes}. I need that to start track changes
according
> > to condition's clauses to reduce computation in conditional monitoring
on
> > the server side. Maybe I should replace it to a more explicit function
> > like: ovsdb_condition_is_every_function_false_or_equal(). What do you
> > think?
>
> That's a pretty specific function name!
>
> What about a function that returns a bitmap of all the OVSDB_F_*
> included in a condition? Or a function that takes a condition and such
> a bitmap and returns true if the condition only contains the operators
> in the bitmap? (One could define a convenient macro or enum with the
> operators that you're currently interested in.)
>
I will go with the returned bitmap of all the OVSDB_F_* included in
condition.
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev