Users at Nicira have commented that a maximum reconnection time of 15
seconds, which was the default, is too long. This commit cuts it to 8
seconds, on the theory that an administrator is willing to wait that long
before deciding that a change that should restore connectivity did not
work.
# MAX_BACKOFF: The maximum time that secchan will wait between
# attempts to connect to the controller. The valid range is 1 and up.
# MAX_BACKOFF: The maximum time that secchan will wait between
# attempts to connect to the controller. The valid range is 1 and up.
-# If unset, secchan defaults to 15 seconds.
-#MAX_BACKOFF=15
+# If unset, secchan defaults to 8 seconds.
+#MAX_BACKOFF=8
# DAEMON_OPTS: Additional options to pass to secchan, e.g. "--fail=open"
DAEMON_OPTS=""
# DAEMON_OPTS: Additional options to pass to secchan, e.g. "--fail=open"
DAEMON_OPTS=""
* 'max_backoff' is the maximum number of seconds between attempts to connect
* to the peer. The actual interval starts at 1 second and doubles on each
* failure until it reaches 'max_backoff'. If 0 is specified, the default of
* 'max_backoff' is the maximum number of seconds between attempts to connect
* to the peer. The actual interval starts at 1 second and doubles on each
* failure until it reaches 'max_backoff'. If 0 is specified, the default of
- * 60 seconds is used. */
+ * 8 seconds is used. */
struct rconn *
rconn_create(int probe_interval, int max_backoff)
{
struct rconn *
rconn_create(int probe_interval, int max_backoff)
{
queue_init(&rc->txq);
rc->backoff = 0;
queue_init(&rc->txq);
rc->backoff = 0;
- rc->max_backoff = max_backoff ? max_backoff : 60;
+ rc->max_backoff = max_backoff ? max_backoff : 8;
rc->backoff_deadline = TIME_MIN;
rc->last_received = time_now();
rc->last_connected = time_now();
rc->backoff_deadline = TIME_MIN;
rc->last_received = time_now();
rc->last_connected = time_now();
s->fail_mode = FAIL_OPEN;
s->max_idle = 0;
s->probe_interval = 0;
s->fail_mode = FAIL_OPEN;
s->max_idle = 0;
s->probe_interval = 0;
s->update_resolv_conf = true;
s->rate_limit = 0;
s->burst_limit = 0;
s->update_resolv_conf = true;
s->rate_limit = 0;
s->burst_limit = 0;
" --inactivity-probe=SECS time between inactivity probes\n"
" --max-idle=SECS max idle for flows set up by secchan\n"
" --max-backoff=SECS max time between controller connection\n"
" --inactivity-probe=SECS time between inactivity probes\n"
" --max-idle=SECS max idle for flows set up by secchan\n"
" --max-backoff=SECS max time between controller connection\n"
- " attempts (default: 15 seconds)\n"
+ " attempts (default: 8 seconds)\n"
" -l, --listen=METHOD allow management connections on METHOD\n"
" (a passive OpenFlow connection method)\n"
" --snoop=METHOD allow controller snooping on METHOD\n"
" -l, --listen=METHOD allow management connections on METHOD\n"
" (a passive OpenFlow connection method)\n"
" --snoop=METHOD allow controller snooping on METHOD\n"
/* Initialize OpenFlow connections. */
list_init(&p->all_conns);
/* Initialize OpenFlow connections. */
list_init(&p->all_conns);
- p->controller = ofconn_create(p, rconn_create(15, 15));
+ p->controller = ofconn_create(p, rconn_create(15, 8));
p->controller->pktbuf = pktbuf_create();
p->controller->miss_send_len = OFP_DEFAULT_MISS_SEND_LEN;
p->listeners = NULL;
p->controller->pktbuf = pktbuf_create();
p->controller->miss_send_len = OFP_DEFAULT_MISS_SEND_LEN;
p->listeners = NULL;
\fIsecs\fR, which must be at least 1. The actual interval between
connection attempts starts at 1 second and doubles on each failing
attempt until it reaches the maximum. The default maximum backoff
\fIsecs\fR, which must be at least 1. The actual interval between
connection attempts starts at 1 second and doubles on each failing
attempt until it reaches the maximum. The default maximum backoff
.TP
\fB-l\fR, \fB--listen=\fImethod\fR
.TP
\fB-l\fR, \fB--listen=\fImethod\fR
if (!max_backoff) {
max_backoff = cfg_get_int(0, "mgmt.max-backoff");
if (!max_backoff) {
if (!max_backoff) {
max_backoff = cfg_get_int(0, "mgmt.max-backoff");
if (!max_backoff) {
}
}
ofproto_set_max_backoff(br->ofproto, max_backoff);
}
}
ofproto_set_max_backoff(br->ofproto, max_backoff);
.PP
The maximum time between attempts to connect to the controller may be
specified in integral seconds with the \fBmgmt.max-backoff\fR key. The
.PP
The maximum time between attempts to connect to the controller may be
specified in integral seconds with the \fBmgmt.max-backoff\fR key. The
-default maximum backoff is 15 seconds, and the minimum value is 1
+default maximum backoff is 8 seconds, and the minimum value is 1
second.
An inactivity probe may be configured with the \fBmgmt.inactivity-probe\fR
second.
An inactivity probe may be configured with the \fBmgmt.inactivity-probe\fR