This patch adds new configuration option for ovn-controller-vtep service to supply OVSDB (only OVN_Southbound DB) probe interval value.
It can be configured through Hardware_Vtep database, Global table, column other_config:ovn-remote-probe-interval. Signed-off-by: Vladislav Odintsov <odiv...@gmail.com> --- controller-vtep/ovn-controller-vtep.8.xml | 14 ++++++++++++++ controller-vtep/ovn-controller-vtep.c | 17 +++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/controller-vtep/ovn-controller-vtep.8.xml b/controller-vtep/ovn-controller-vtep.8.xml index 0b9987bdb..89acae7ed 100644 --- a/controller-vtep/ovn-controller-vtep.8.xml +++ b/controller-vtep/ovn-controller-vtep.8.xml @@ -96,6 +96,20 @@ connected <code>hardware_vtep</code> database changes. The default value is considered false if this option is not defined. </dd> + + <dt><code>other_config:ovn-remote-probe-interval</code></dt> + <dd> + <p> + The inactivity probe interval of the connection to the OVN Southbound + database, in milliseconds. If the value is zero, it disables the + connection keepalive feature. + </p> + + <p> + If the value is nonzero, then it will be forced to a value of at + least 1000 ms. + </p> + </dd> </dl> </p> </manpage> diff --git a/controller-vtep/ovn-controller-vtep.c b/controller-vtep/ovn-controller-vtep.c index 26f8fd115..8023bb869 100644 --- a/controller-vtep/ovn-controller-vtep.c +++ b/controller-vtep/ovn-controller-vtep.c @@ -31,6 +31,7 @@ #include "openvswitch/poll-loop.h" #include "simap.h" #include "ovsdb-idl.h" +#include "smap.h" #include "stream.h" #include "stream-ssl.h" #include "unixctl.h" @@ -88,6 +89,20 @@ check_northd_version(struct ovsdb_idl *vtep_idl, struct ovsdb_idl *ovnsb_idl, return true; } +/* Set probe interval, based on user configuration and the remote. */ +static void +update_idl_probe_interval(struct ovsdb_idl *ovn_sb_idl, + struct ovsdb_idl *vtep_idl) +{ + const struct vteprec_global *cfg = vteprec_global_first(vtep_idl); + int interval = -1; + if (cfg) { + interval = smap_get_int(&cfg->other_config, + "ovn-remote-probe-interval", interval); + } + set_idl_probe_interval(ovn_sb_idl, ovnsb_remote, interval); +} + int main(int argc, char *argv[]) { @@ -179,6 +194,8 @@ main(int argc, char *argv[]) simap_destroy(&usage); } + update_idl_probe_interval(ovnsb_idl_loop.idl, vtep_idl_loop.idl); + if (ovsdb_idl_has_ever_connected(ovnsb_idl_loop.idl) && ovsdb_idl_has_ever_connected(vtep_idl_loop.idl) && check_northd_version(vtep_idl_loop.idl, ovnsb_idl_loop.idl, -- 2.36.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev