Different SYN retransmit backoff between active and passive connections

Karim Fodil-Lemelin kfl at xiplink.com
Mon Feb 8 16:31:30 UTC 2010


Greetings,

When doing an active connect and assuming that SYN packets are lost. The 
next retransmit timeout will trigger retransmissions of the SYN 
according to this code (in tcp_timer_rexmt):

rexmt = TCP_REXMTVAL(tp) * tcp_syn_backoff[tp->t_rxtshift];


Now, when doing passive connections the syncache handles sending the 
SYN-ACK and assuming again the SYN-ACK is lost the next retransmit 
timeout will be calculated using this code:

sc->sc_rxttime = ticks + TCPTV_RTOBASE * (tcp_backoff[sc->sc_rxmits]);

Is there a reason why FreeBSD is not using the tcp_syn_backoff array in 
syncache_timeout?

Regards,

Karim.


More information about the freebsd-net mailing list