aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/tcp.c')
-rw-r--r--net/ipv4/tcp.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 176e11aaea77..cf3254528753 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -2391,7 +2391,12 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
2391 err = tp->af_specific->md5_parse(sk, optval, optlen); 2391 err = tp->af_specific->md5_parse(sk, optval, optlen);
2392 break; 2392 break;
2393#endif 2393#endif
2394 2394 case TCP_USER_TIMEOUT:
2395 /* Cap the max timeout in ms TCP will retry/retrans
2396 * before giving up and aborting (ETIMEDOUT) a connection.
2397 */
2398 icsk->icsk_user_timeout = msecs_to_jiffies(val);
2399 break;
2395 default: 2400 default:
2396 err = -ENOPROTOOPT; 2401 err = -ENOPROTOOPT;
2397 break; 2402 break;
@@ -2610,6 +2615,10 @@ static int do_tcp_getsockopt(struct sock *sk, int level,
2610 case TCP_THIN_DUPACK: 2615 case TCP_THIN_DUPACK:
2611 val = tp->thin_dupack; 2616 val = tp->thin_dupack;
2612 break; 2617 break;
2618
2619 case TCP_USER_TIMEOUT:
2620 val = jiffies_to_msecs(icsk->icsk_user_timeout);
2621 break;
2613 default: 2622 default:
2614 return -ENOPROTOOPT; 2623 return -ENOPROTOOPT;
2615 } 2624 }