ovsdb-server: Refactoring and clean up remote status reporting.
[cascardo/ovs.git] / lib / ovsdb-idl-provider.h
index 3dddf69..190acca 100644 (file)
@@ -37,8 +37,10 @@ struct ovsdb_idl_row {
     unsigned long int *written; /* Bitmap of columns from "new" to write. */
     struct hmap_node txn_node;  /* Node in ovsdb_idl_txn's list. */
 
+    /* Tracking data */
     unsigned int change_seqno[OVSDB_IDL_CHANGE_MAX];
-    struct ovs_list track_node;
+    struct ovs_list track_node; /* Rows modified/added/deleted by IDL */
+    unsigned long int *updated; /* Bitmap of columns updated by IDL */
 };
 
 struct ovsdb_idl_column {
@@ -61,7 +63,8 @@ struct ovsdb_idl_table_class {
 struct ovsdb_idl_table {
     const struct ovsdb_idl_table_class *class;
     unsigned char *modes;    /* OVSDB_IDL_* bitmasks, indexed by column. */
-    bool need_table;         /* Monitor table even if no columns? */
+    bool need_table;         /* Monitor table even if no columns are selected
+                              * for replication. */
     struct shash columns;    /* Contains "const struct ovsdb_idl_column *"s. */
     struct hmap rows;        /* Contains "struct ovsdb_idl_row"s. */
     struct ovsdb_idl *idl;   /* Containing idl. */