diff -ru linux-2.4.0-test8-cut-tcp_rto/include/linux/sysctl.h linux-2.4.0-test8c/include/linux/sysctl.h --- linux-2.4.0-test8-cut-tcp_rto/include/linux/sysctl.h Fri Sep 22 16:17:46 2000 +++ linux-2.4.0-test8c/include/linux/sysctl.h Fri Sep 22 17:30:12 2000 @@ -269,6 +269,7 @@ NET_TCP_RMEM=85, NET_TCP_APP_WIN=86, NET_TCP_ADV_WIN_SCALE=87, + NET_TCP_RTO_MAX=88, }; enum { diff -ru linux-2.4.0-test8-cut-tcp_rto/include/net/tcp.h linux-2.4.0-test8c/include/net/tcp.h --- linux-2.4.0-test8-cut-tcp_rto/include/net/tcp.h Fri Sep 22 16:17:46 2000 +++ linux-2.4.0-test8c/include/net/tcp.h Fri Sep 22 16:19:55 2000 @@ -299,7 +299,8 @@ #define TCP_DELACK_MIN (2) /* minimal time to delay before sending an ACK, * 2 scheduler ticks, not depending on HZ. */ #define TCP_ATO_MIN 2 -#define TCP_RTO_MAX (120*HZ) +#define TCP_RTO_MAX_init (120*HZ) +extern int TCP_RTO_MAX; #define TCP_RTO_MIN (HZ/5) #define TCP_TIMEOUT_INIT (3*HZ) /* RFC 1122 initial RTO value */ diff -ru linux-2.4.0-test8-cut-tcp_rto/net/ipv4/sysctl_net_ipv4.c linux-2.4.0-test8c/net/ipv4/sysctl_net_ipv4.c --- linux-2.4.0-test8-cut-tcp_rto/net/ipv4/sysctl_net_ipv4.c Fri Sep 22 16:17:55 2000 +++ linux-2.4.0-test8c/net/ipv4/sysctl_net_ipv4.c Fri Sep 22 17:30:29 2000 @@ -229,6 +229,8 @@ &sysctl_tcp_app_win, sizeof(int), 0644, NULL, &proc_dointvec}, {NET_TCP_ADV_WIN_SCALE, "tcp_adv_win_scale", &sysctl_tcp_adv_win_scale, sizeof(int), 0644, NULL, &proc_dointvec}, + {NET_TCP_RTO_MAX, "tcp_rto_max", + &TCP_RTO_MAX, sizeof(int), 0644, NULL, &proc_dointvec}, {0} }; diff -ru linux-2.4.0-test8-cut-tcp_rto/net/ipv4/tcp_timer.c linux-2.4.0-test8c/net/ipv4/tcp_timer.c --- linux-2.4.0-test8-cut-tcp_rto/net/ipv4/tcp_timer.c Fri Sep 22 16:17:47 2000 +++ linux-2.4.0-test8c/net/ipv4/tcp_timer.c Fri Sep 22 16:22:09 2000 @@ -30,6 +30,7 @@ int sysctl_tcp_retries1 = TCP_RETR1; int sysctl_tcp_retries2 = TCP_RETR2; int sysctl_tcp_orphan_retries = 0; +int TCP_RTO_MAX = TCP_RTO_MAX_init; static void tcp_write_timer(unsigned long); static void tcp_delack_timer(unsigned long);