[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