[ih] O.k., so BSD 4.3 Tahoe is the version of interest.
Detlef Bosau
detlef.bosau at web.de
Tue May 27 16:08:27 PDT 2014
Aha!!!!!!
http://www.tamacom.com/tour/kernel/bsd/S/23.html
Oh yes:
> 54 //*/
> 55 / * Determine length of data that should be transmitted,/
> 56 / * and flags that will be used./
> 57 / * If there is some data or critical controls (SYN, RST)/
> 58 / * to send, then transmit; otherwise, investigate further./
> 59 / *//
> 60 idle <http://www.tamacom.com/tour/kernel/bsd/Y/2307.html> = (tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->snd_max <http://www.tamacom.com/tour/kernel/bsd/Y/4845.html> == tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->snd_una <http://www.tamacom.com/tour/kernel/bsd/Y/4847.html>);
> 61 again <http://www.tamacom.com/tour/kernel/bsd/Y/585.html>:
> 62 sendalot <http://www.tamacom.com/tour/kernel/bsd/Y/4756.html> = 0;
> 63 off <http://www.tamacom.com/tour/kernel/bsd/Y/3595.html> = tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->snd_nxt <http://www.tamacom.com/tour/kernel/bsd/Y/4846.html> - tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->snd_una <http://www.tamacom.com/tour/kernel/bsd/Y/4847.html>;
> 64 win <http://www.tamacom.com/tour/kernel/bsd/Y/5989.html> = MIN <http://www.tamacom.com/tour/kernel/bsd/D/2353.html>(tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->snd_wnd <http://www.tamacom.com/tour/kernel/bsd/Y/4851.html>, tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->snd_cwnd <http://www.tamacom.com/tour/kernel/bsd/Y/4843.html>);
> 65
And sendalot tells the loop whether only one packet is sent or anything
from snd_nxt to what is available AND allowed?
Next one:
http://www.tamacom.com/tour/kernel/bsd/S/26.html
> *case* TCPT_REXMT <http://www.tamacom.com/tour/kernel/bsd/S/27.html#L15>:
> 148 tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->t_rxtshift <http://www.tamacom.com/tour/kernel/bsd/Y/5082.html>++;
> 149 *if* (tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->t_rxtshift <http://www.tamacom.com/tour/kernel/bsd/Y/5082.html> > TCP_MAXRXTSHIFT <http://www.tamacom.com/tour/kernel/bsd/S/27.html#L74>) /{/
> 150 tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html> = tcp_drop <http://www.tamacom.com/tour/kernel/bsd/S/25.html#L181>(tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>, ETIMEDOUT <http://www.tamacom.com/tour/kernel/bsd/D/948.html>);
> 151 *break*;
> 152 /}/
> 153 *if* (tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->t_srtt <http://www.tamacom.com/tour/kernel/bsd/Y/5084.html> == 0)
> 154 rexmt <http://www.tamacom.com/tour/kernel/bsd/Y/4221.html> = tcp_beta <http://www.tamacom.com/tour/kernel/bsd/Y/5136.html> * TCPTV_SRTTDFLT <http://www.tamacom.com/tour/kernel/bsd/S/27.html#L61>;
> 155 *else*
> 156 rexmt <http://www.tamacom.com/tour/kernel/bsd/Y/4221.html> = (*int*)(tcp_beta <http://www.tamacom.com/tour/kernel/bsd/Y/5136.html> * tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->t_srtt <http://www.tamacom.com/tour/kernel/bsd/Y/5084.html>);
> 157 rexmt <http://www.tamacom.com/tour/kernel/bsd/Y/4221.html> *= tcp_backoff <http://www.tamacom.com/tour/kernel/bsd/Y/5135.html>[tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->t_rxtshift <http://www.tamacom.com/tour/kernel/bsd/Y/5082.html> - 1];
> 158 TCPT_RANGESET <http://www.tamacom.com/tour/kernel/bsd/S/27.html#L104>(tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->t_timer <http://www.tamacom.com/tour/kernel/bsd/Y/5090.html>[TCPT_REXMT <http://www.tamacom.com/tour/kernel/bsd/S/27.html#L15>], rexmt <http://www.tamacom.com/tour/kernel/bsd/Y/4221.html>,
> 159 TCPTV_MIN <http://www.tamacom.com/tour/kernel/bsd/S/27.html#L69>, TCPTV_MAX <http://www.tamacom.com/tour/kernel/bsd/S/27.html#L70>);
> 160 //*/
> 161 / * If losing, let the lower level know/
> 162 / * and try for a better route./
> 163 / *//
> 164 *if* (tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->t_rxtshift <http://www.tamacom.com/tour/kernel/bsd/Y/5082.html> >= TCP_MAXRXTSHIFT <http://www.tamacom.com/tour/kernel/bsd/S/27.html#L74> / 4 ||
> 165 rexmt <http://www.tamacom.com/tour/kernel/bsd/Y/4221.html> >= 10 * PR_SLOWHZ <http://www.tamacom.com/tour/kernel/bsd/D/3250.html>)
> 166 in_losing <http://www.tamacom.com/tour/kernel/bsd/S/6.html#L290>(tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->t_inpcb <http://www.tamacom.com/tour/kernel/bsd/Y/5061.html>);
> 167 tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->snd_nxt <http://www.tamacom.com/tour/kernel/bsd/Y/4846.html> = tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->snd_una <http://www.tamacom.com/tour/kernel/bsd/Y/4847.html>;
> 168 //*/
> 169 / * If timing a segment in this window,/
> 170 / * and we have already gotten some timing estimate,/
> 171 / * stop the timer./
> 172 / *//
> 173 *if* (tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->t_rtt <http://www.tamacom.com/tour/kernel/bsd/Y/5081.html> && tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->t_srtt <http://www.tamacom.com/tour/kernel/bsd/Y/5084.html>)
> 174 tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>->t_rtt <http://www.tamacom.com/tour/kernel/bsd/Y/5081.html> = 0;
> 175 (*void*) tcp_output <http://www.tamacom.com/tour/kernel/bsd/S/23.html#L41>(tp <http://www.tamacom.com/tour/kernel/bsd/Y/5305.html>);
> 176 *break*;
now, what happens in line 175? Do we send 1 packet?
At least, I think, tcp_output reads from an array with unacknowledged
data here and not from a seperate queue?
O.k., it is 1.00 h here, I'm not going to read this the whole night
through, but gut feeling tells me, that I will find GBN here...
--
------------------------------------------------------------------
Detlef Bosau
Galileistraße 30
70565 Stuttgart Tel.: +49 711 5208031
mobile: +49 172 6819937
skype: detlef.bosau
ICQ: 566129673
detlef.bosau at web.de http://www.detlef-bosau.de
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://elists.isoc.org/pipermail/internet-history/attachments/20140528/ed20578a/attachment.htm>
More information about the Internet-history
mailing list