Andy Zhou <az...@ovn.org> wrote on 04/02/2016 11:54:06 PM:

> On Sun, Jan 31, 2016 at 11:03 PM, Liran Schour <lir...@il.ibm.com> 
wrote:
> Columns indexing is different in ovsdb_row then in ovsdb_monitor_row.
> We need mapping between the 2 for condition evaluation.
> 
> signed-off-by: Liran Schour <lir...@il.ibm.com>
> 
> It may be simpler to and more efficient to have  ovsdb_clause to 
> have pointer to ovsdb_monitor_column* than
> to ovsdb_column directly.  We can add a field in 
> ovsdb_monitor_column to store the index for accessing row data.  
> 
> struct ovsdb_caluse {
>          enum ovsdb_function function;
>          const struct ovsdb_monitor_column *column;
>          struct ovsdb_datum arg
> };
> 
> If this approach works, then we don't need to maintain the index map. 
> 

Ovsdb_clause and ovsdb_condition are being used originally to evaluate 
conditions on ovsdb_row. Because of that ovsdb_clause do needs the field 
ovsdb_column.
I agree that the index map array does not looks too good but the option to 
overcome it as I see it is to duplicate the code in condition.c for 
ovsdb_monitor_row that will have ovsdb_monitor_clause with 
ovsdb_monitor_column field. What do you think?

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to