When Highspeed TCP is used I get Floating Point Exceptions. Here are the trace values:
(gdb) bt #0 0x0807e193 in TcpAgent::limited_slow_start (this=0x86617a8, cwnd=2, max_ssthresh=100, increment=0.5) at tcp/tcp.cc:986 ************************************************** tcp.cc:986 double TcpAgent::limited_slow_start(double cwnd, double max_ssthresh, double increment) { int round = int(cwnd / (double(max_ssthresh)/2.0)); double increment1 = 1.0/(double(round)); if (increment < increment1) increment = increment1; return increment; } ************************************************** If I need to fix this ,I should use the rfc3742. Any suggestions are welcome! //written as per RFC3742 and to avoid floating pt //error! if(cwnd <= max_ssthresh) return increment; else { int round = int(cwnd/(double(max_ssthresh)/2.0)); double increment1 = 1.0/(double(round)); increment = increment1; return increment; } ************************************************** ____________________________________________________________________________________ Get your own web address. Have a HUGE year through Yahoo! Small Business. http://smallbusiness.yahoo.com/domains/?p=BESTDEAL