Bug 73021
Summary: | TCP_USER_TIMEOUT not working when interface is taken down, e.g. cable unplugged | ||
---|---|---|---|
Product: | Networking | Reporter: | pelle.johnsen |
Component: | IPV4 | Assignee: | Stephen Hemminger (stephen) |
Status: | NEW --- | ||
Severity: | normal | CC: | alan, szg00000, ycheng |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 3.4.24 and 3.11.0 | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
pelle.johnsen
2014-03-27 12:49:21 UTC
on issue 2, I guess we should not require any probe is attempted / sent? diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index 286227a..8f52c40 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c @@ -610,8 +610,7 @@ static void tcp_keepalive_timer (unsigned long data) * to determine when to timeout instead. */ if ((icsk->icsk_user_timeout != 0 && - elapsed >= icsk->icsk_user_timeout && - icsk->icsk_probes_out > 0) || + elapsed >= icsk->icsk_user_timeout) || (icsk->icsk_user_timeout == 0 && icsk->icsk_probes_out >= keepalive_probes(tp))) { tcp_send_active_reset(sk, GFP_ATOMIC); Networking patches should go to netdev@vger.kernel.org with a Signed-off-by: line See Documentation/SubmittingPatches |