[ovs-dev] [PATCH monitor_cond V6 11/11] RFC OVN: Quick implementation of conditional monitoring

Liran Schour LIRANS at il.ibm.com
Mon Jun 6 10:05:19 UTC 2016


Ben Pfaff <blp at ovn.org> wrote on 02/06/2016 08:38:10 PM:

> On Tue, May 17, 2016 at 05:27:09PM +0300, Liran Schour wrote:
> > Conditional monitor of: Port_Binding, Logical_Flow, Multicast_Group
> > MAC_Binding tables. As a result ovn-controller will be notified only 
about
> > records belongs to a datapath that is being served by this hypervisor.
> > 
> > Hack: Ideally, logical datapath ID should be retrieved from 
> Port_Binding table
> > and by that conditions should be composed only from logical datapath 
IDs.
> > In the meantime we first add the logical port to the conditions 
> and on retrieval
> > of port binding record, we add the logical datapath to the conditions.
> > 
> > ovn-bridge-mappings unit test fails due to the fact that patch 
> ports will not
> > be created on local bridge if there is no port binded to the 
> logical datapath on
> > the local host.
> > 
> > Signed-off-by: Liran Schour <lirans at il.ibm.com>
> 
> Looking at how all this fits together, it seems a little awkward to have
> condition objects separate from the IDL and to have them require a
> separate "update" call.  It would be easier to use and probably more
> straightforward if it wasn't necessary to have (and track) these
> separate objects, and then conditionally update them.
> 

I want to clarify your suggestion before changing the code.
IDL itself will keep and track condition on each table. The client code 
will only specify the changes of condition by adding and removing clauses 
without keeping and tracking the table's condition.
IDL itself , on ovsdb_idl_run(), will send monitor_cond_update 
(monitor_cond_change) message to the server if conditions were changed by 
the client.
Is that what you are pointing to?

Thank you for reviewing the code.




More information about the dev mailing list