@@ -1017,7 +1017,7 @@ open_db(struct server_config *server_config,
if (model == SM_RELAY) {
ovsdb_relay_add_db(db->db, conf->source, update_schema, server_config,
- conf->options->rpc.probe_interval);
+ &conf->options->rpc);
}
if (model == SM_ACTIVE_BACKUP && conf->ab.backup) {
const struct uuid *server_uuid;
@@ -127,7 +127,8 @@ static struct ovsdb_cs_ops relay_cs_ops = {
void
ovsdb_relay_add_db(struct ovsdb *db, const char *remote,
schema_change_callback schema_change_cb,
- void *schema_change_aux, int probe_interval)
+ void *schema_change_aux,
+ const struct jsonrpc_session_options *options)
{
struct relay_ctx *ctx;
@@ -138,6 +139,7 @@ ovsdb_relay_add_db(struct ovsdb *db, const char *remote,
ctx = shash_find_data(&relay_dbs, db->name);
if (ctx) {
ovsdb_cs_set_remote(ctx->cs, remote, true);
+ ovsdb_cs_set_jsonrpc_options(ctx->cs, options);
VLOG_DBG("%s: relay source set to '%s'", db->name, remote);
return;
}
@@ -152,7 +154,7 @@ ovsdb_relay_add_db(struct ovsdb *db, const char *remote,
shash_add(&relay_dbs, db->name, ctx);
ovsdb_cs_set_leader_only(ctx->cs, false);
ovsdb_cs_set_remote(ctx->cs, remote, true);
- ovsdb_cs_set_probe_interval(ctx->cs, probe_interval);
+ ovsdb_cs_set_jsonrpc_options(ctx->cs, options);
VLOG_DBG("added database: %s, %s", db->name, remote);
}
@@ -22,6 +22,7 @@
#include "reconnect.h"
struct json;
+struct jsonrpc_session_options;
struct ovsdb;
struct ovsdb_schema;
struct uuid;
@@ -37,7 +38,8 @@ typedef struct ovsdb_error *(*schema_change_callback)(
void ovsdb_relay_add_db(struct ovsdb *, const char *remote,
schema_change_callback schema_change_cb,
- void *schema_change_aux, int probe_interval);
+ void *schema_change_aux,
+ const struct jsonrpc_session_options *);
void ovsdb_relay_del_db(struct ovsdb *);
void ovsdb_relay_run(void);
void ovsdb_relay_wait(void);
Allow setting all the JSON-RPC session options at once. While at it, allow updating options the same way the source can be updated while calling 'ovsdb_relay_add_db()' if the relay is already configured. Signed-off-by: Ilya Maximets <i.maximets@ovn.org> --- ovsdb/ovsdb-server.c | 2 +- ovsdb/relay.c | 6 ++++-- ovsdb/relay.h | 4 +++- 3 files changed, 8 insertions(+), 4 deletions(-)