summaryrefslogtreecommitdiff
path: root/lib/jsonrpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/jsonrpc.c')
-rw-r--r--lib/jsonrpc.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/jsonrpc.c b/lib/jsonrpc.c
index 8c5126ffc..926cbcb86 100644
--- a/lib/jsonrpc.c
+++ b/lib/jsonrpc.c
@@ -26,6 +26,7 @@
#include "openvswitch/json.h"
#include "openvswitch/list.h"
#include "openvswitch/ofpbuf.h"
+#include "ovs-replay.h"
#include "ovs-thread.h"
#include "openvswitch/poll-loop.h"
#include "reconnect.h"
@@ -888,7 +889,7 @@ jsonrpc_session_open_multiple(const struct svec *remotes, bool retry)
reconnect_set_backoff(s->reconnect, INT_MAX, INT_MAX);
}
- if (!stream_or_pstream_needs_probes(name)) {
+ if (!stream_or_pstream_needs_probes(name) || ovs_replay_is_active()) {
reconnect_set_probe_interval(s->reconnect, 0);
}
@@ -914,6 +915,11 @@ jsonrpc_session_open_unreliably(struct jsonrpc *jsonrpc, uint8_t dscp)
reconnect_set_name(s->reconnect, jsonrpc_get_name(jsonrpc));
reconnect_set_max_tries(s->reconnect, 0);
reconnect_connected(s->reconnect, time_msec());
+
+ if (ovs_replay_is_active()) {
+ reconnect_set_probe_interval(s->reconnect, 0);
+ }
+
s->dscp = dscp;
s->rpc = jsonrpc;
s->stream = NULL;
@@ -1279,6 +1285,9 @@ void
jsonrpc_session_set_probe_interval(struct jsonrpc_session *s,
int probe_interval)
{
+ if (ovs_replay_is_active()) {
+ return;
+ }
reconnect_set_probe_interval(s->reconnect, probe_interval);
}