<html>
<head>
<meta content="text/html; charset=ISO-8859-15"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Aha!!!!!!<br>
<br>
<br>
<a class="moz-txt-link-freetext" href="http://www.tamacom.com/tour/kernel/bsd/S/23.html">http://www.tamacom.com/tour/kernel/bsd/S/23.html</a><br>
<br>
</div>
Oh yes:<br>
<br>
<blockquote type="cite">
<pre><a id="L54" name="L54"></a> 54 <em class="comment">/*</em>
<a id="L55" name="L55"></a> 55 <em class="comment"> * Determine length of data that should be transmitted,</em>
<a id="L56" name="L56"></a> 56 <em class="comment"> * and flags that will be used.</em>
<a id="L57" name="L57"></a> 57 <em class="comment"> * If there is some data or critical controls (SYN, RST)</em>
<a id="L58" name="L58"></a> 58 <em class="comment"> * to send, then transmit; otherwise, investigate further.</em>
<a id="L59" name="L59"></a> 59 <em class="comment"> */</em>
<a id="L60" name="L60"></a> 60 <a href="http://www.tamacom.com/tour/kernel/bsd/Y/2307.html" title="Multiple used in 6 places.">idle</a> = (<a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/4845.html" title="Multiple used in 13 places.">snd_max</a> == <a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/4847.html" title="Multiple used in 30 places.">snd_una</a>);
<a id="L61" name="L61"></a> 61 <a href="http://www.tamacom.com/tour/kernel/bsd/Y/585.html" title="Multiple used in 29 places.">again</a>:
<a id="L62" name="L62"></a> 62 <a href="http://www.tamacom.com/tour/kernel/bsd/Y/4756.html" title="Multiple used in 4 places.">sendalot</a> = 0;
<a id="L63" name="L63"></a> 63 <a href="http://www.tamacom.com/tour/kernel/bsd/Y/3595.html" title="Multiple used in 273 places.">off</a> = <a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/4846.html" title="Multiple used in 31 places.">snd_nxt</a> - <a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/4847.html" title="Multiple used in 30 places.">snd_una</a>;
<a id="L64" name="L64"></a> 64 <a href="http://www.tamacom.com/tour/kernel/bsd/Y/5989.html" title="Multiple used in 27 places.">win</a> = <a href="http://www.tamacom.com/tour/kernel/bsd/D/2353.html" title="Multiple defined in 2 places.">MIN</a>(<a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/4851.html" title="Multiple used in 9 places.">snd_wnd</a>, <a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/4843.html" title="Multiple used in 5 places.">snd_cwnd</a>);
<a id="L65" name="L65"></a> 65 </pre>
</blockquote>
<br>
And sendalot tells the loop whether only one packet is sent or
anything from snd_nxt to what is available AND allowed?<br>
<br>
Next one:<br>
<br>
<a class="moz-txt-link-freetext" href="http://www.tamacom.com/tour/kernel/bsd/S/26.html">http://www.tamacom.com/tour/kernel/bsd/S/26.html</a><br>
<br>
<blockquote type="cite">
<pre> <strong class="reserved">case</strong> <a href="http://www.tamacom.com/tour/kernel/bsd/S/27.html#L15" title="Defined at 15 in netinet/tcp_timer.h.">TCPT_REXMT</a>:
<a id="L148" name="L148"></a> 148 <a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/5082.html" title="Multiple used in 14 places.">t_rxtshift</a>++;
<a id="L149" name="L149"></a> 149 <strong class="reserved">if</strong> (<a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/5082.html" title="Multiple used in 14 places.">t_rxtshift</a> > <a href="http://www.tamacom.com/tour/kernel/bsd/S/27.html#L74" title="Defined at 74 in netinet/tcp_timer.h.">TCP_MAXRXTSHIFT</a>) <em class="brace">{</em>
<a id="L150" name="L150"></a> 150 <a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a> = <a href="http://www.tamacom.com/tour/kernel/bsd/S/25.html#L181" title="Defined at 181 in netinet/tcp_subr.c.">tcp_drop</a>(<a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>, <a href="http://www.tamacom.com/tour/kernel/bsd/D/948.html" title="Multiple defined in 2 places.">ETIMEDOUT</a>);
<a id="L151" name="L151"></a> 151 <strong class="reserved">break</strong>;
<a id="L152" name="L152"></a> 152 <em class="brace">}</em>
<a id="L153" name="L153"></a> 153 <strong class="reserved">if</strong> (<a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/5084.html" title="Multiple used in 12 places.">t_srtt</a> == 0)
<a id="L154" name="L154"></a> 154 <a href="http://www.tamacom.com/tour/kernel/bsd/Y/4221.html" title="Multiple used in 6 places.">rexmt</a> = <a href="http://www.tamacom.com/tour/kernel/bsd/Y/5136.html" title="Multiple used in 10 places.">tcp_beta</a> * <a href="http://www.tamacom.com/tour/kernel/bsd/S/27.html#L61" title="Defined at 61 in netinet/tcp_timer.h.">TCPTV_SRTTDFLT</a>;
<a id="L155" name="L155"></a> 155 <strong class="reserved">else</strong>
<a id="L156" name="L156"></a> 156 <a href="http://www.tamacom.com/tour/kernel/bsd/Y/4221.html" title="Multiple used in 6 places.">rexmt</a> = (<strong class="reserved">int</strong>)(<a href="http://www.tamacom.com/tour/kernel/bsd/Y/5136.html" title="Multiple used in 10 places.">tcp_beta</a> * <a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/5084.html" title="Multiple used in 12 places.">t_srtt</a>);
<a id="L157" name="L157"></a> 157 <a href="http://www.tamacom.com/tour/kernel/bsd/Y/4221.html" title="Multiple used in 6 places.">rexmt</a> *= <a href="http://www.tamacom.com/tour/kernel/bsd/Y/5135.html" title="Multiple used in 2 places.">tcp_backoff</a>[<a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/5082.html" title="Multiple used in 14 places.">t_rxtshift</a> - 1];
<a id="L158" name="L158"></a> 158 <a href="http://www.tamacom.com/tour/kernel/bsd/S/27.html#L104" title="Defined at 104 in netinet/tcp_timer.h.">TCPT_RANGESET</a>(<a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/5090.html" title="Multiple used in 29 places.">t_timer</a>[<a href="http://www.tamacom.com/tour/kernel/bsd/S/27.html#L15" title="Defined at 15 in netinet/tcp_timer.h.">TCPT_REXMT</a>], <a href="http://www.tamacom.com/tour/kernel/bsd/Y/4221.html" title="Multiple used in 6 places.">rexmt</a>,
<a id="L159" name="L159"></a> 159 <a href="http://www.tamacom.com/tour/kernel/bsd/S/27.html#L69" title="Defined at 69 in netinet/tcp_timer.h.">TCPTV_MIN</a>, <a href="http://www.tamacom.com/tour/kernel/bsd/S/27.html#L70" title="Defined at 70 in netinet/tcp_timer.h.">TCPTV_MAX</a>);
<a id="L160" name="L160"></a> 160 <em class="comment">/*</em>
<a id="L161" name="L161"></a> 161 <em class="comment"> * If losing, let the lower level know</em>
<a id="L162" name="L162"></a> 162 <em class="comment"> * and try for a better route.</em>
<a id="L163" name="L163"></a> 163 <em class="comment"> */</em>
<a id="L164" name="L164"></a> 164 <strong class="reserved">if</strong> (<a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/5082.html" title="Multiple used in 14 places.">t_rxtshift</a> >= <a href="http://www.tamacom.com/tour/kernel/bsd/S/27.html#L74" title="Defined at 74 in netinet/tcp_timer.h.">TCP_MAXRXTSHIFT</a> / 4 ||
<a id="L165" name="L165"></a> 165 <a href="http://www.tamacom.com/tour/kernel/bsd/Y/4221.html" title="Multiple used in 6 places.">rexmt</a> >= 10 * <a href="http://www.tamacom.com/tour/kernel/bsd/D/3250.html" title="Multiple defined in 2 places.">PR_SLOWHZ</a>)
<a id="L166" name="L166"></a> 166 <a href="http://www.tamacom.com/tour/kernel/bsd/S/6.html#L290" title="Defined at 290 in netinet/in_pcb.c.">in_losing</a>(<a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/5061.html" title="Multiple used in 18 places.">t_inpcb</a>);
<a id="L167" name="L167"></a> 167 <a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/4846.html" title="Multiple used in 31 places.">snd_nxt</a> = <a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/4847.html" title="Multiple used in 30 places.">snd_una</a>;
<a id="L168" name="L168"></a> 168 <em class="comment">/*</em>
<a id="L169" name="L169"></a> 169 <em class="comment"> * If timing a segment in this window,</em>
<a id="L170" name="L170"></a> 170 <em class="comment"> * and we have already gotten some timing estimate,</em>
<a id="L171" name="L171"></a> 171 <em class="comment"> * stop the timer.</em>
<a id="L172" name="L172"></a> 172 <em class="comment"> */</em>
<a id="L173" name="L173"></a> 173 <strong class="reserved">if</strong> (<a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/5081.html" title="Multiple used in 11 places.">t_rtt</a> && <a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/5084.html" title="Multiple used in 12 places.">t_srtt</a>)
<a id="L174" name="L174"></a> 174 <a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>-><a href="http://www.tamacom.com/tour/kernel/bsd/Y/5081.html" title="Multiple used in 11 places.">t_rtt</a> = 0;
<a id="L175" name="L175"></a> 175 (<strong class="reserved">void</strong>) <a href="http://www.tamacom.com/tour/kernel/bsd/S/23.html#L41" title="Defined at 41 in netinet/tcp_output.c.">tcp_output</a>(<a href="http://www.tamacom.com/tour/kernel/bsd/Y/5305.html" title="Multiple used in 1832 places.">tp</a>);
<a id="L176" name="L176"></a> 176 <strong class="reserved">break</strong>;</pre>
</blockquote>
<br>
now, what happens in line 175? Do we send 1 packet? <br>
At least, I think, tcp_output reads from an array with
unacknowledged data here and not from a seperate queue?<br>
<br>
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...<br>
<pre class="moz-signature" cols="72">--
------------------------------------------------------------------
Detlef Bosau
Galileistraße 30
70565 Stuttgart Tel.: +49 711 5208031
mobile: +49 172 6819937
skype: detlef.bosau
ICQ: 566129673
<a class="moz-txt-link-abbreviated" href="mailto:detlef.bosau@web.de">detlef.bosau@web.de</a> <a class="moz-txt-link-freetext" href="http://www.detlef-bosau.de">http://www.detlef-bosau.de</a>
</pre>
</body>
</html>