Andreani Stefano
2002-12-12 19:15:42 UTC
Problem: I need to change the max value of the TCP retransmission timeout.
Background: According to Karn's exponential backoff algorithm, when the receiver doesn't acknowledge packets for a while, the sender should retransmit the latest not acknowledged packet several times increasing the delay (RTO) since this delay reaches the Max Retransmission Timeout Value.
Testing environment: Red Hat Linux release 7.2 (Enigma), Kernel 2.4.7-10 on an i686, Kernel 2.4.7-10.
Test details: I supposed this timeout in Linux was TCP_RTO_MAX, so I changed in /include/net/tcp.h the following line:
#define TCP_RTO_MAX ((unsigned)(6*HZ)) //It was: ((unsigned)(120*HZ))
Then I recompiled the kernel, rebooted the machine and tested the solution. The result I obtained was the same I had before this modification.
I'm confident there isn't an error in the testing procedure because I already tested with a Solaris server the same procedure (changing the tcp_rexmit_interval_max variable) and it works. I'm just trying to reproduce the modification of that parameter in Linux.
Could it be a bug on the RTO calculation algorithm, or there is something I mistook?
This is the first time I get into the linux kernel, so please be patient!
Thanks,
Stefano.
-------------------------------
Stefano Andreani
Freelance ICT Consultant
H3G IOT Team - Italy
tel. +39 347 8215965
***@h3g.it
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Background: According to Karn's exponential backoff algorithm, when the receiver doesn't acknowledge packets for a while, the sender should retransmit the latest not acknowledged packet several times increasing the delay (RTO) since this delay reaches the Max Retransmission Timeout Value.
Testing environment: Red Hat Linux release 7.2 (Enigma), Kernel 2.4.7-10 on an i686, Kernel 2.4.7-10.
Test details: I supposed this timeout in Linux was TCP_RTO_MAX, so I changed in /include/net/tcp.h the following line:
#define TCP_RTO_MAX ((unsigned)(6*HZ)) //It was: ((unsigned)(120*HZ))
Then I recompiled the kernel, rebooted the machine and tested the solution. The result I obtained was the same I had before this modification.
I'm confident there isn't an error in the testing procedure because I already tested with a Solaris server the same procedure (changing the tcp_rexmit_interval_max variable) and it works. I'm just trying to reproduce the modification of that parameter in Linux.
Could it be a bug on the RTO calculation algorithm, or there is something I mistook?
This is the first time I get into the linux kernel, so please be patient!
Thanks,
Stefano.
-------------------------------
Stefano Andreani
Freelance ICT Consultant
H3G IOT Team - Italy
tel. +39 347 8215965
***@h3g.it
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html