Track OVSDB changes for future patches of incremental processing
Signed-off-by: Han Zhou <[email protected]>
---
ovn/controller/bfd.c | 4 ++--
ovn/controller/binding.c | 16 ++++++++--------
ovn/controller/encaps.c | 12 ++++++------
ovn/controller/ovn-controller.c | 22 +++++++++++++---------
ovn/controller/physical.c | 12 ++++++------
5 files changed, 35 insertions(+), 31 deletions(-)
diff --git a/ovn/controller/bfd.c b/ovn/controller/bfd.c
index 051781f..6fca7e0 100644
--- a/ovn/controller/bfd.c
+++ b/ovn/controller/bfd.c
@@ -34,8 +34,8 @@ bfd_register_ovs_idl(struct ovsdb_idl *ovs_idl)
{
/* NOTE: this assumes that binding.c has added the
* ovsrec_interface table */
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_bfd);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_bfd_status);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_bfd);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_bfd_status);
}
diff --git a/ovn/controller/binding.c b/ovn/controller/binding.c
index 021ecdd..8d5f13d 100644
--- a/ovn/controller/binding.c
+++ b/ovn/controller/binding.c
@@ -53,16 +53,16 @@ binding_register_ovs_idl(struct ovsdb_idl *ovs_idl)
ovsdb_idl_add_column(ovs_idl, &ovsrec_bridge_col_ports);
ovsdb_idl_add_table(ovs_idl, &ovsrec_table_port);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_port_col_name);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_port_col_interfaces);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_port_col_qos);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_port_col_name);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_port_col_interfaces);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_port_col_qos);
ovsdb_idl_add_table(ovs_idl, &ovsrec_table_interface);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_name);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_external_ids);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_bfd);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_bfd_status);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_status);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_name);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_external_ids);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_bfd);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_bfd_status);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_status);
ovsdb_idl_add_table(ovs_idl, &ovsrec_table_qos);
ovsdb_idl_add_column(ovs_idl, &ovsrec_qos_col_type);
diff --git a/ovn/controller/encaps.c b/ovn/controller/encaps.c
index fde0175..49ce8af 100644
--- a/ovn/controller/encaps.c
+++ b/ovn/controller/encaps.c
@@ -32,13 +32,13 @@ encaps_register_ovs_idl(struct ovsdb_idl *ovs_idl)
ovsdb_idl_add_table(ovs_idl, &ovsrec_table_bridge);
ovsdb_idl_add_column(ovs_idl, &ovsrec_bridge_col_ports);
ovsdb_idl_add_table(ovs_idl, &ovsrec_table_port);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_port_col_name);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_port_col_interfaces);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_port_col_external_ids);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_port_col_name);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_port_col_interfaces);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_port_col_external_ids);
ovsdb_idl_add_table(ovs_idl, &ovsrec_table_interface);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_name);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_type);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_options);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_name);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_type);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_options);
}
/* Enough context to create a new tunnel, using tunnel_add(). */
diff --git a/ovn/controller/ovn-controller.c b/ovn/controller/ovn-controller.c
index 85921a0..4dc9681 100644
--- a/ovn/controller/ovn-controller.c
+++ b/ovn/controller/ovn-controller.c
@@ -516,16 +516,16 @@ ctrl_register_ovs_idl(struct ovsdb_idl *ovs_idl)
ovsdb_idl_add_column(ovs_idl, &ovsrec_open_vswitch_col_external_ids);
ovsdb_idl_add_column(ovs_idl, &ovsrec_open_vswitch_col_bridges);
ovsdb_idl_add_table(ovs_idl, &ovsrec_table_interface);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_name);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_bfd);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_bfd_status);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_type);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_options);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_ofport);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_name);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_bfd);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_bfd_status);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_type);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_options);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_ofport);
ovsdb_idl_add_table(ovs_idl, &ovsrec_table_port);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_port_col_name);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_port_col_interfaces);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_port_col_external_ids);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_port_col_name);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_port_col_interfaces);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_port_col_external_ids);
ovsdb_idl_add_table(ovs_idl, &ovsrec_table_bridge);
ovsdb_idl_add_column(ovs_idl, &ovsrec_bridge_col_ports);
ovsdb_idl_add_column(ovs_idl, &ovsrec_bridge_col_name);
@@ -630,6 +630,7 @@ main(int argc, char *argv[])
&sbrec_mac_binding_col_logical_port,
&sbrec_mac_binding_col_ip);
+ ovsdb_idl_track_add_all(ovnsb_idl_loop.idl);
ovsdb_idl_omit_alert(ovnsb_idl_loop.idl, &sbrec_chassis_col_nb_cfg);
update_sb_monitors(ovnsb_idl_loop.idl, NULL, NULL, NULL);
ovsdb_idl_get_initial_snapshot(ovnsb_idl_loop.idl);
@@ -866,6 +867,9 @@ main(int argc, char *argv[])
}
}
}
+
+ ovsdb_idl_track_clear(ovnsb_idl_loop.idl);
+ ovsdb_idl_track_clear(ovs_idl_loop.idl);
poll_block();
if (should_service_stop()) {
exiting = true;
diff --git a/ovn/controller/physical.c b/ovn/controller/physical.c
index c38d7b0..a5e0ddf 100644
--- a/ovn/controller/physical.c
+++ b/ovn/controller/physical.c
@@ -51,14 +51,14 @@ physical_register_ovs_idl(struct ovsdb_idl *ovs_idl)
ovsdb_idl_add_column(ovs_idl, &ovsrec_bridge_col_ports);
ovsdb_idl_add_table(ovs_idl, &ovsrec_table_port);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_port_col_name);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_port_col_interfaces);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_port_col_external_ids);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_port_col_name);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_port_col_interfaces);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_port_col_external_ids);
ovsdb_idl_add_table(ovs_idl, &ovsrec_table_interface);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_name);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_ofport);
- ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_external_ids);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_name);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_ofport);
+ ovsdb_idl_track_add_column(ovs_idl, &ovsrec_interface_col_external_ids);
}
static struct simap localvif_to_ofport =
--
2.1.0
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev