<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>