[ovs-dev] [PATCH ovn 1/2] ovn-northd: By default don't enable probe for unix socket.
Mark Michelson
mmichels at redhat.com
Tue Aug 25 15:39:21 UTC 2020
For the series:
Acked-by: Mark Michelson <mmichels at redhat.com>
On 8/24/20 10:05 PM, Han Zhou wrote:
> The commit ed09854e5b3 ("ovn-northd: Add the option to configure probe
> interval") introduced the option northd-probe-interval to configure
> ovn-northd probe interval with NB/SB DBs. However, it overrided the
> default behavior that it used before - setting default probe interval
> according to stream type. E.g., for unix socket, probe was disabled by default
> but with the change it defaults to 5 seconds, if the option
> northd-probe-interval is not set.
>
> This patch restores the default behavior, while honoring the settings of
> northd-probe-interval when it is configured.
>
> Signed-off-by: Han Zhou <hzhou at ovn.org>
> ---
> northd/ovn-northd.c | 31 ++++++++++++++++++++++---------
> 1 file changed, 22 insertions(+), 9 deletions(-)
>
> diff --git a/northd/ovn-northd.c b/northd/ovn-northd.c
> index 99eb582..476ef9b 100644
> --- a/northd/ovn-northd.c
> +++ b/northd/ovn-northd.c
> @@ -96,7 +96,8 @@ static struct eth_addr svc_monitor_mac_ea;
>
> /* Default probe interval for NB and SB DB connections. */
> #define DEFAULT_PROBE_INTERVAL_MSEC 5000
> -static int northd_probe_interval = DEFAULT_PROBE_INTERVAL_MSEC;
> +static int northd_probe_interval_nb = DEFAULT_PROBE_INTERVAL_MSEC;
> +static int northd_probe_interval_sb = DEFAULT_PROBE_INTERVAL_MSEC;
>
> #define MAX_OVN_TAGS 4096
>
> @@ -11597,6 +11598,20 @@ build_meter_groups(struct northd_context *ctx,
> }
> }
>
> +static int
> +get_probe_interval(const char *db, const struct nbrec_nb_global *nb)
> +{
> + int default_interval = (db && !stream_or_pstream_needs_probes(db)
> + ? 0 : DEFAULT_PROBE_INTERVAL_MSEC);
> + int interval = smap_get_int(&nb->options,
> + "northd_probe_interval", default_interval);
> +
> + if (interval > 0 && interval < 1000) {
> + interval = 1000;
> + }
> + return interval;
> +}
> +
> static void
> ovnnb_db_run(struct northd_context *ctx,
> struct ovsdb_idl_index *sbrec_chassis_by_name,
> @@ -11680,12 +11695,8 @@ ovnnb_db_run(struct northd_context *ctx,
> }
>
> /* Update the probe interval. */
> - northd_probe_interval = smap_get_int(&nb->options, "northd_probe_interval",
> - DEFAULT_PROBE_INTERVAL_MSEC);
> -
> - if (northd_probe_interval > 0 && northd_probe_interval < 1000) {
> - northd_probe_interval = 1000;
> - }
> + northd_probe_interval_nb = get_probe_interval(ovnnb_db, nb);
> + northd_probe_interval_sb = get_probe_interval(ovnsb_db, nb);
>
> controller_event_en = smap_get_bool(&nb->options,
> "controller_event", false);
> @@ -12670,8 +12681,10 @@ main(int argc, char *argv[])
> }
>
>
> - ovsdb_idl_set_probe_interval(ovnnb_idl_loop.idl, northd_probe_interval);
> - ovsdb_idl_set_probe_interval(ovnsb_idl_loop.idl, northd_probe_interval);
> + ovsdb_idl_set_probe_interval(ovnnb_idl_loop.idl,
> + northd_probe_interval_nb);
> + ovsdb_idl_set_probe_interval(ovnsb_idl_loop.idl,
> + northd_probe_interval_sb);
>
> if (reset_ovnsb_idl_min_index) {
> VLOG_INFO("Resetting southbound database cluster state");
>
More information about the dev
mailing list