rand % conn->c_reconnect_jiffies, conn->c_reconnect_jiffies,
conn, &conn->c_laddr, &conn->c_faddr, conn->c_tos);
- if (conn->c_laddr >= conn->c_faddr)
queue_delayed_work(conn->c_wq, &conn->c_conn_w,
rand % conn->c_reconnect_jiffies);
- else
- queue_delayed_work(conn->c_wq, &conn->c_conn_w,
- msecs_to_jiffies(100));
conn->c_reconnect_jiffies = min(conn->c_reconnect_jiffies * 2,
rds_sysctl_reconnect_max_jiffies);
NIPQUAD(conn->c_laddr), NIPQUAD(conn->c_faddr),
conn->c_tos);
rds_conn_drop(conn, DR_RECONNECT_TIMEOUT);
- conn->c_reconnect_racing = 0;
}
}
conn->c_tos,
conn_drop_reason_str(conn->c_drop_source));
- /* if racing is detected, lower IP backs off and let the higher IP
- * drives the reconnect (one-sided reconnect)
- */
- if (conn->c_laddr < conn->c_faddr && conn->c_reconnect_racing) {
- rds_rtd(RDS_RTD_CM,
- "calling rds_conn_shutdown, conn %p:0 <%u.%u.%u.%u,%u.%u.%u.%u,%d>\n",
- conn, NIPQUAD(conn->c_laddr), NIPQUAD(conn->c_faddr),
- conn->c_tos);
- rds_conn_shutdown(conn, 0);
- queue_delayed_work(conn->c_wq, &conn->c_reconn_w,
- msecs_to_jiffies(5000));
- } else {
- rds_rtd(RDS_RTD_CM,
- "calling rds_conn_shutdown, conn %p:1 <%u.%u.%u.%u,%u.%u.%u.%u,%d>\n",
- conn, NIPQUAD(conn->c_laddr), NIPQUAD(conn->c_faddr),
- conn->c_tos);
- rds_conn_shutdown(conn, 1);
- }
-
+ rds_conn_shutdown(conn, 1);
}
void rds_threads_exit(void)