|
@@ -162,9 +162,9 @@ kill_with_rst:
|
|
|
if (tcp_death_row.sysctl_tw_recycle &&
|
|
|
tcptw->tw_ts_recent_stamp &&
|
|
|
tcp_tw_remember_stamp(tw))
|
|
|
- inet_twsk_schedule(tw, tw->tw_timeout);
|
|
|
+ inet_twsk_reschedule(tw, tw->tw_timeout);
|
|
|
else
|
|
|
- inet_twsk_schedule(tw, TCP_TIMEWAIT_LEN);
|
|
|
+ inet_twsk_reschedule(tw, TCP_TIMEWAIT_LEN);
|
|
|
return TCP_TW_ACK;
|
|
|
}
|
|
|
|
|
@@ -201,7 +201,7 @@ kill:
|
|
|
return TCP_TW_SUCCESS;
|
|
|
}
|
|
|
}
|
|
|
- inet_twsk_schedule(tw, TCP_TIMEWAIT_LEN);
|
|
|
+ inet_twsk_reschedule(tw, TCP_TIMEWAIT_LEN);
|
|
|
|
|
|
if (tmp_opt.saw_tstamp) {
|
|
|
tcptw->tw_ts_recent = tmp_opt.rcv_tsval;
|
|
@@ -251,7 +251,7 @@ kill:
|
|
|
* Do not reschedule in the last case.
|
|
|
*/
|
|
|
if (paws_reject || th->ack)
|
|
|
- inet_twsk_schedule(tw, TCP_TIMEWAIT_LEN);
|
|
|
+ inet_twsk_reschedule(tw, TCP_TIMEWAIT_LEN);
|
|
|
|
|
|
return tcp_timewait_check_oow_rate_limit(
|
|
|
tw, skb, LINUX_MIB_TCPACKSKIPPEDTIMEWAIT);
|
|
@@ -322,9 +322,6 @@ void tcp_time_wait(struct sock *sk, int state, int timeo)
|
|
|
} while (0);
|
|
|
#endif
|
|
|
|
|
|
- /* Linkage updates. */
|
|
|
- __inet_twsk_hashdance(tw, sk, &tcp_hashinfo);
|
|
|
-
|
|
|
/* Get the TIME_WAIT timeout firing. */
|
|
|
if (timeo < rto)
|
|
|
timeo = rto;
|
|
@@ -338,6 +335,8 @@ void tcp_time_wait(struct sock *sk, int state, int timeo)
|
|
|
}
|
|
|
|
|
|
inet_twsk_schedule(tw, timeo);
|
|
|
+ /* Linkage updates. */
|
|
|
+ __inet_twsk_hashdance(tw, sk, &tcp_hashinfo);
|
|
|
inet_twsk_put(tw);
|
|
|
} else {
|
|
|
/* Sorry, if we're out of memory, just CLOSE this
|