From nobody@FreeBSD.org  Wed Sep  9 06:02:40 2009
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id A884F1065709
	for <freebsd-gnats-submit@FreeBSD.org>; Wed,  9 Sep 2009 06:02:40 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 974CF8FC21
	for <freebsd-gnats-submit@FreeBSD.org>; Wed,  9 Sep 2009 06:02:40 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n8962eb4077256
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 9 Sep 2009 06:02:40 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id n8962eD5077255;
	Wed, 9 Sep 2009 06:02:40 GMT
	(envelope-from nobody)
Message-Id: <200909090602.n8962eD5077255@www.freebsd.org>
Date: Wed, 9 Sep 2009 06:02:40 GMT
From: Gaurav Goel <gaurav0287@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: TCP window scaling value
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         138652
>Category:       kern
>Synopsis:       [tcp] TCP window scaling value calculated incorrectly?
>Confidential:   no
>Severity:       non-critical
>Priority:       high
>Responsible:    andre
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep 09 06:10:01 UTC 2009
>Closed-Date:    Wed Aug 18 20:05:47 UTC 2010
>Last-Modified:  Wed Aug 18 20:05:47 UTC 2010
>Originator:     Gaurav Goel
>Release:        
>Organization:
MTree Software Pvt. Ltd.
>Environment:
>Description:
I found in file "tcp_input.c-orig" located at location "usr/src/sys/netinet" at line number 511, "tp->request_r_scale" is incremented depending on condition. 16 bits are reserved for window and its value could be MAX 30 bits.
In your if condition "TCP_MAXWIN << tp->request_r_scale < so->so_rcv.sb_hiwat", if I have "so->so_rcv.sb_hiwat" value to be 524286, then "tp->request_r_scale" is incremented four times but its value should be 3.

Reason being, while shifting TCP_MAXWIN,
1st iteration 1111111111111111 < 1111111111111111110 [TRUE]
increment once
2nd iteration 11111111111111110 < 1111111111111111110 [TRUE]
increment again
3rd iteration 111111111111111100 < 1111111111111111110 [TRUE]
increment once
4th iteration 1111111111111111000 < 1111111111111111110 [TRUE]
increment again
5th iteration 11111111111111110000 < 1111111111111111110 [FALSE]

The LSB are zeros, which should be one.

Please tell me if I am wrong.
>How-To-Repeat:

>Fix:


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->feedback 
State-Changed-By: gavin 
State-Changed-When: Wed Sep 9 12:38:16 UTC 2009 
State-Changed-Why:  
To submitter: Firstly, tcp_input.c-orig is not a file distributed with 
FreeBSD.  I suspect this is left over from a failed patch attempt to 
src/sys/netinet/tcp_input.c.  Can you confirm that the problem exists 
in that file?  Can you also please give the version number of the copy 
you are looking at, and the line numbers where the problem occurs? 
Thanks! 


Responsible-Changed-From-To: freebsd-bugs->gavin 
Responsible-Changed-By: gavin 
Responsible-Changed-When: Wed Sep 9 12:38:16 UTC 2009 
Responsible-Changed-Why:  
Track 

http://www.freebsd.org/cgi/query-pr.cgi?pr=138652 

From: Gaurav Goel <gaurav0287@gmail.com>
To: bug-followup@freebsd.org
Cc:  
Subject: Re: kern/138652: TCP window scaling value
Date: Wed, 9 Sep 2009 19:36:48 +0530

 
 Hello,
 
 I was having the older version. Now the same code segment is available in
 file "src/sys/netinet/tcp_usrreq.c"
 
 Thanks,
 Gaurav Goel
 
 On Wed, Sep 9, 2009 at 7:19 PM, Gaurav Goel <gaurav0287@gmail.com> wrote:
 
 > Dear Gavin,
 >
 > Version- Revision *1.192.2.1 *(check it on link "
 > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/tcp_usrreq.c")
 > File- "src/sys/netinet/tcp_usrreq.c"
 > Line No- 1101
 >
 > Problem described as above
 >
 > Thanks,
 > Gaurav Goel
 >
 
 
 -- 
 Gaurav Goel
 
State-Changed-From-To: feedback->open 
State-Changed-By: gavin 
State-Changed-When: Wed Sep 9 14:24:24 UTC 2009 
State-Changed-Why:  
Over to maintainer(s) for investigation 


Responsible-Changed-From-To: gavin->freebsd-net 
Responsible-Changed-By: gavin 
Responsible-Changed-When: Wed Sep 9 14:24:24 UTC 2009 
Responsible-Changed-Why:  
Feedback was received, thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=138652 

From: Gaurav Goel <gaurav0287@gmail.com>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/138652: TCP window scaling value
Date: Wed, 9 Sep 2009 19:19:58 +0530

 --000feaef6808cf00280473255b4d
 Content-Type: text/plain; charset=UTF-8
 
 Dear Gavin,
 
 Version- Revision *1.192.2.1 *(check it on link "
 http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/tcp_usrreq.c")
 File- "src/sys/netinet/tcp_usrreq.c"
 Line No- 1101
 
 Problem described as above
 
 Thanks,
 Gaurav Goel
 
 On Wed, Sep 9, 2009 at 6:13 PM, <gavin@freebsd.org> wrote:
 
 > Synopsis: TCP window scaling value
 >
 > State-Changed-From-To: open->feedback
 > State-Changed-By: gavin
 > State-Changed-When: Wed Sep 9 12:38:16 UTC 2009
 > State-Changed-Why:
 > To submitter: Firstly, tcp_input.c-orig is not a file distributed with
 > FreeBSD.  I suspect this is left over from a failed patch attempt to
 > src/sys/netinet/tcp_input.c.  Can you confirm that the problem exists
 > in that file?  Can you also please give the version number of the copy
 > you are looking at, and the line numbers where the problem occurs?
 > Thanks!
 >
 >
 > Responsible-Changed-From-To: freebsd-bugs->gavin
 > Responsible-Changed-By: gavin
 > Responsible-Changed-When: Wed Sep 9 12:38:16 UTC 2009
 > Responsible-Changed-Why:
 > Track
 >
 > http://www.freebsd.org/cgi/query-pr.cgi?pr=138652
 >
 
 
 
 -- 
 Gaurav Goel
 
 --000feaef6808cf00280473255b4d
 Content-Type: text/html; charset=UTF-8
 Content-Transfer-Encoding: quoted-printable
 
 Dear Gavin,<br><br>Version- Revision <b>1.192.2.1 </b>(check it on link &qu=
 ot;<a href=3D"http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/tcp_usr=
 req.c">http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/tcp_usrreq.c</=
 a>&quot;)<br>
 File- &quot;src/sys/netinet/tcp_usrreq.c&quot;<br>Line No- 1101<br><br>Prob=
 lem described as above<br><br>Thanks,<br>Gaurav Goel<br><br><div class=3D"g=
 mail_quote">On Wed, Sep 9, 2009 at 6:13 PM,  <span dir=3D"ltr">&lt;<a href=
 =3D"mailto:gavin@freebsd.org">gavin@freebsd.org</a>&gt;</span> wrote:<br>
 <blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, =
 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Synopsis: TCP win=
 dow scaling value<br>
 <br>
 State-Changed-From-To: open-&gt;feedback<br>
 State-Changed-By: gavin<br>
 State-Changed-When: Wed Sep 9 12:38:16 UTC 2009<br>
 State-Changed-Why:<br>
 To submitter: Firstly, tcp_input.c-orig is not a file distributed with<br>
 FreeBSD. =C2=A0I suspect this is left over from a failed patch attempt to<b=
 r>
 src/sys/netinet/tcp_input.c. =C2=A0Can you confirm that the problem exists<=
 br>
 in that file? =C2=A0Can you also please give the version number of the copy=
 <br>
 you are looking at, and the line numbers where the problem occurs?<br>
 Thanks!<br>
 <br>
 <br>
 Responsible-Changed-From-To: freebsd-bugs-&gt;gavin<br>
 Responsible-Changed-By: gavin<br>
 Responsible-Changed-When: Wed Sep 9 12:38:16 UTC 2009<br>
 Responsible-Changed-Why:<br>
 Track<br>
 <br>
 <a href=3D"http://www.freebsd.org/cgi/query-pr.cgi?pr=3D138652" target=3D"_=
 blank">http://www.freebsd.org/cgi/query-pr.cgi?pr=3D138652</a><br>
 </blockquote></div><br><br clear=3D"all"><br>-- <br>Gaurav Goel<br>
 
 --000feaef6808cf00280473255b4d--

From: Gaurav Goel <gaurav0287@gmail.com>
To: bug-followup@freebsd.org
Cc:  
Subject: Re: kern/138652: TCP window scaling value calculated incorrectly?
Date: Thu, 10 Sep 2009 19:00:37 +0530

 --000feae95a4f797c710473393423
 Content-Type: text/plain; charset=UTF-8
 
 Dear Gavin,
 
 Please find the fix for the problem:
 
 *Replace*
 *    while (tp->request_r_scale < TCP_MAX_WINSHIFT &&
         (TCP_MAXWIN << tp->request_r_scale) < sb_max)
         tp->request_r_scale++;*
 
 *With*
 *unsigned int new_TCP_MAXWIN = TCP_MAXWIN;
 while (tp->request_r_scale < TCP_MAX_WINSHIFT)
 {
     if(new_TCP_MAXWIN < sb_max)
         tp->request_r_scale++;
     else
         break;**
 **    new_TCP_MAXWIN <<=1;**
 **    new_TCP_MAXWIN |=1;**
 **}*
 
 Please inform me if I am right/wrong.
 
 Thanks,
 Gaurav Goel
 
 On Wed, Sep 9, 2009 at 7:59 PM, <gavin@freebsd.org> wrote:
 
 > Old Synopsis: TCP window scaling value
 > New Synopsis: TCP window scaling value calculated incorrectly?
 >
 > State-Changed-From-To: feedback->open
 > State-Changed-By: gavin
 > State-Changed-When: Wed Sep 9 14:24:24 UTC 2009
 > State-Changed-Why:
 > Over to maintainer(s) for investigation
 >
 >
 > Responsible-Changed-From-To: gavin->freebsd-net
 > Responsible-Changed-By: gavin
 > Responsible-Changed-When: Wed Sep 9 14:24:24 UTC 2009
 > Responsible-Changed-Why:
 > Feedback was received, thanks!
 >
 > http://www.freebsd.org/cgi/query-pr.cgi?pr=138652
 >
 
 
 
 -- 
 Gaurav Goel
 
 --000feae95a4f797c710473393423
 Content-Type: text/html; charset=UTF-8
 Content-Transfer-Encoding: quoted-printable
 
 Dear Gavin,<br><br>Please find the fix for the problem:<br><br><u><b>Replac=
 e</b></u><br><b><span style=3D"color: rgb(153, 0, 0); background-color: rgb=
 (255, 255, 255);">=C2=A0=C2=A0=C2=A0 while (tp-&gt;request_r_scale &lt; TCP=
 _MAX_WINSHIFT &amp;&amp;</span><br style=3D"color: rgb(153, 0, 0); backgrou=
 nd-color: rgb(255, 255, 255);">
 <span style=3D"color: rgb(153, 0, 0); background-color: rgb(255, 255, 255);=
 ">=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 (TCP_MAXWIN &lt;&lt; tp-&gt;request=
 _r_scale) &lt; sb_max)</span><br style=3D"color: rgb(153, 0, 0); background=
 -color: rgb(255, 255, 255);"><span style=3D"color: rgb(153, 0, 0); backgrou=
 nd-color: rgb(255, 255, 255);">=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 tp-&gt=
 ;request_r_scale++;</span></b><br>
 <br><u><b>With</b></u><br><b><span style=3D"color: rgb(0, 153, 0);">unsigne=
 d int new_TCP_MAXWIN =3D TCP_MAXWIN;</span><br style=3D"color: rgb(0, 153, =
 0);"><span style=3D"color: rgb(0, 153, 0);">while (tp-&gt;request_r_scale &=
 lt; TCP_MAX_WINSHIFT)</span><br style=3D"color: rgb(0, 153, 0);">
 <span style=3D"color: rgb(0, 153, 0);">{</span><span style=3D"color: rgb(0,=
  153, 0);"></span><br style=3D"color: rgb(0, 153, 0);"><span style=3D"color=
 : rgb(0, 153, 0);">=C2=A0=C2=A0=C2=A0 if(new_TCP_MAXWIN &lt; sb_max)</span>=
 <br style=3D"color: rgb(0, 153, 0);">
 <span style=3D"color: rgb(0, 153, 0);">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 =C2=A0 tp-&gt;request_r_scale++;</span><br style=3D"color: rgb(0, 153, 0);"=
 ><span style=3D"color: rgb(0, 153, 0);">=C2=A0=C2=A0=C2=A0 else</span><br s=
 tyle=3D"color: rgb(0, 153, 0);"><span style=3D"color: rgb(0, 153, 0);">=C2=
 =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break;</span></b><b><span style=3D"=
 color: rgb(0, 153, 0);"></span><br style=3D"color: rgb(0, 153, 0);">
 
 <span style=3D"color: rgb(0, 153, 0);"></span></b><b><span style=3D"color: =
 rgb(0, 153, 0);">=C2=A0=C2=A0=C2=A0 new_TCP_MAXWIN &lt;&lt;=3D1;</span></b>=
 <b><br style=3D"color: rgb(0, 153, 0);"></b><b><span style=3D"color: rgb(0,=
  153, 0);">=C2=A0=C2=A0=C2=A0 new_TCP_MAXWIN |=3D1;</span></b><b><br style=
 =3D"color: rgb(0, 153, 0);">
 
 </b><b><span style=3D"color: rgb(0, 153, 0);">}</span></b><br><br>Please in=
 form me if I am right/wrong.<br><br>Thanks,<br>Gaurav Goel<br><br><div clas=
 s=3D"gmail_quote">On Wed, Sep 9, 2009 at 7:59 PM,  <span dir=3D"ltr">&lt;<a=
  href=3D"mailto:gavin@freebsd.org">gavin@freebsd.org</a>&gt;</span> wrote:<=
 br>
 <blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, =
 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Old Synopsis: TCP=
  window scaling value<br>
 New Synopsis: TCP window scaling value calculated incorrectly?<br>
 <br>
 State-Changed-From-To: feedback-&gt;open<br>
 State-Changed-By: gavin<br>
 State-Changed-When: Wed Sep 9 14:24:24 UTC 2009<br>
 State-Changed-Why:<br>
 Over to maintainer(s) for investigation<br>
 <br>
 <br>
 Responsible-Changed-From-To: gavin-&gt;freebsd-net<br>
 Responsible-Changed-By: gavin<br>
 Responsible-Changed-When: Wed Sep 9 14:24:24 UTC 2009<br>
 Responsible-Changed-Why:<br>
 Feedback was received, thanks!<br>
 <br>
 <a href=3D"http://www.freebsd.org/cgi/query-pr.cgi?pr=3D138652" target=3D"_=
 blank">http://www.freebsd.org/cgi/query-pr.cgi?pr=3D138652</a><br>
 </blockquote></div><br><br clear=3D"all"><br>-- <br>Gaurav Goel<br>
 
 --000feae95a4f797c710473393423--

From: Gaurav Goel <gaurav0287@gmail.com>
To: bug-followup@freebsd.org
Cc:  
Subject: Re: kern/138652: TCP window scaling value calculated incorrectly?
Date: Tue, 6 Oct 2009 14:47:52 +0530

 --000feaf371bd7882aa047540b470
 Content-Type: text/plain; charset=UTF-8
 
 Hi,
 
 May I know if someone is working on the bug. I have provided the solution
 too, but didn't get any response.
 
 Thanks,
 Gaurav Goel
 
 On Thu, Sep 10, 2009 at 7:00 PM, Gaurav Goel <gaurav0287@gmail.com> wrote:
 
 > Dear Gavin,
 >
 > Please find the fix for the problem:
 >
 > *Replace*
 > *    while (tp->request_r_scale < TCP_MAX_WINSHIFT &&
 >         (TCP_MAXWIN << tp->request_r_scale) < sb_max)
 >         tp->request_r_scale++;*
 >
 > *With*
 > *unsigned int new_TCP_MAXWIN = TCP_MAXWIN;
 > while (tp->request_r_scale < TCP_MAX_WINSHIFT)
 > {
 >     if(new_TCP_MAXWIN < sb_max)
 >         tp->request_r_scale++;
 >     else
 >         break;**
 > **    new_TCP_MAXWIN <<=1;**
 > **    new_TCP_MAXWIN |=1;**
 > **}*
 >
 > Please inform me if I am right/wrong.
 >
 > Thanks,
 > Gaurav Goel
 >
 >
 > On Wed, Sep 9, 2009 at 7:59 PM, <gavin@freebsd.org> wrote:
 >
 >> Old Synopsis: TCP window scaling value
 >> New Synopsis: TCP window scaling value calculated incorrectly?
 >>
 >> State-Changed-From-To: feedback->open
 >> State-Changed-By: gavin
 >> State-Changed-When: Wed Sep 9 14:24:24 UTC 2009
 >> State-Changed-Why:
 >> Over to maintainer(s) for investigation
 >>
 >>
 >> Responsible-Changed-From-To: gavin->freebsd-net
 >> Responsible-Changed-By: gavin
 >> Responsible-Changed-When: Wed Sep 9 14:24:24 UTC 2009
 >> Responsible-Changed-Why:
 >> Feedback was received, thanks!
 >>
 >> http://www.freebsd.org/cgi/query-pr.cgi?pr=138652
 >>
 >
 >
 >
 > --
 > Gaurav Goel
 >
 
 
 
 -- 
 Gaurav Goel
 
 --000feaf371bd7882aa047540b470
 Content-Type: text/html; charset=UTF-8
 Content-Transfer-Encoding: quoted-printable
 
 Hi,<br><br>May I know if someone is working on the bug. I have provided the=
  solution too, but didn&#39;t get any response.<br><br>Thanks,<br>Gaurav Go=
 el<br><br><div class=3D"gmail_quote">On Thu, Sep 10, 2009 at 7:00 PM, Gaura=
 v Goel <span dir=3D"ltr">&lt;<a href=3D"mailto:gaurav0287@gmail.com">gaurav=
 0287@gmail.com</a>&gt;</span> wrote:<br>
 <blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, =
 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Dear Gavin,<br><b=
 r>Please find the fix for the problem:<br><br><u><b>Replace</b></u><br><b><=
 span style=3D"color: rgb(153, 0, 0); background-color: rgb(255, 255, 255);"=
 >=C2=A0=C2=A0=C2=A0 while (tp-&gt;request_r_scale &lt; TCP_MAX_WINSHIFT &am=
 p;&amp;</span><br style=3D"color: rgb(153, 0, 0); background-color: rgb(255=
 , 255, 255);">
 
 <span style=3D"color: rgb(153, 0, 0); background-color: rgb(255, 255, 255);=
 ">=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 (TCP_MAXWIN &lt;&lt; tp-&gt;request=
 _r_scale) &lt; sb_max)</span><br style=3D"color: rgb(153, 0, 0); background=
 -color: rgb(255, 255, 255);">
 <span style=3D"color: rgb(153, 0, 0); background-color: rgb(255, 255, 255);=
 ">=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 tp-&gt;request_r_scale++;</span></b=
 ><br>
 <br><u><b>With</b></u><br><b><span style=3D"color: rgb(0, 153, 0);">unsigne=
 d int new_TCP_MAXWIN =3D TCP_MAXWIN;</span><br style=3D"color: rgb(0, 153, =
 0);"><span style=3D"color: rgb(0, 153, 0);">while (tp-&gt;request_r_scale &=
 lt; TCP_MAX_WINSHIFT)</span><br style=3D"color: rgb(0, 153, 0);">
 
 <span style=3D"color: rgb(0, 153, 0);">{</span><span style=3D"color: rgb(0,=
  153, 0);"></span><br style=3D"color: rgb(0, 153, 0);"><span style=3D"color=
 : rgb(0, 153, 0);">=C2=A0=C2=A0=C2=A0 if(new_TCP_MAXWIN &lt; sb_max)</span>=
 <br style=3D"color: rgb(0, 153, 0);">
 
 <span style=3D"color: rgb(0, 153, 0);">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 =C2=A0 tp-&gt;request_r_scale++;</span><br style=3D"color: rgb(0, 153, 0);"=
 ><span style=3D"color: rgb(0, 153, 0);">=C2=A0=C2=A0=C2=A0 else</span><br s=
 tyle=3D"color: rgb(0, 153, 0);"><span style=3D"color: rgb(0, 153, 0);">=C2=
 =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break;</span></b><b><span style=3D"=
 color: rgb(0, 153, 0);"></span><br style=3D"color: rgb(0, 153, 0);">
 
 
 <span style=3D"color: rgb(0, 153, 0);"></span></b><b><span style=3D"color: =
 rgb(0, 153, 0);">=C2=A0=C2=A0=C2=A0 new_TCP_MAXWIN &lt;&lt;=3D1;</span></b>=
 <b><br style=3D"color: rgb(0, 153, 0);"></b><b><span style=3D"color: rgb(0,=
  153, 0);">=C2=A0=C2=A0=C2=A0 new_TCP_MAXWIN |=3D1;</span></b><b><br style=
 =3D"color: rgb(0, 153, 0);">
 
 
 </b><b><span style=3D"color: rgb(0, 153, 0);">}</span></b><br><br>Please in=
 form me if I am right/wrong.<br><br>Thanks,<br>Gaurav Goel<div><div></div><=
 div class=3D"h5"><br><br><div class=3D"gmail_quote">On Wed, Sep 9, 2009 at =
 7:59 PM,  <span dir=3D"ltr">&lt;<a href=3D"mailto:gavin@freebsd.org" target=
 =3D"_blank">gavin@freebsd.org</a>&gt;</span> wrote:<br>
 
 <blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, =
 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Old Synopsis: TCP=
  window scaling value<br>
 New Synopsis: TCP window scaling value calculated incorrectly?<br>
 <br>
 State-Changed-From-To: feedback-&gt;open<br>
 State-Changed-By: gavin<br>
 State-Changed-When: Wed Sep 9 14:24:24 UTC 2009<br>
 State-Changed-Why:<br>
 Over to maintainer(s) for investigation<br>
 <br>
 <br>
 Responsible-Changed-From-To: gavin-&gt;freebsd-net<br>
 Responsible-Changed-By: gavin<br>
 Responsible-Changed-When: Wed Sep 9 14:24:24 UTC 2009<br>
 Responsible-Changed-Why:<br>
 Feedback was received, thanks!<br>
 <br>
 <a href=3D"http://www.freebsd.org/cgi/query-pr.cgi?pr=3D138652" target=3D"_=
 blank">http://www.freebsd.org/cgi/query-pr.cgi?pr=3D138652</a><br>
 </blockquote></div><br><br clear=3D"all"><br></div></div>-- <br><font color=
 =3D"#888888">Gaurav Goel<br>
 </font></blockquote></div><br><br clear=3D"all"><br>-- <br>Gaurav Goel<br>
 
 --000feaf371bd7882aa047540b470--
Responsible-Changed-From-To: freebsd-net->andre 
Responsible-Changed-By: andre 
Responsible-Changed-When: Tue Aug 10 22:17:20 UTC 2010 
Responsible-Changed-Why:  
Take over. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=138652 

From: Andre Oppermann <andre@freebsd.org>
To: gaurav0287@gmail.com
Cc: bug-followup@freebsd.org
Subject: Re: kern/138652: [tcp] TCP window scaling value calculated incorrectly?
Date: Wed, 18 Aug 2010 21:40:33 +0200

 Gaurav
 
 The window scale computation as found in FreeBSD is indeed correct.
 The LSB have to be zero as the window is shiftet.  The values of
 these bits are lost to the TCP window.  We can't represent the LSB
 in the downshifted window field in the TCP header.
 
 -- 
 Andre
State-Changed-From-To: open->closed 
State-Changed-By: andre 
State-Changed-When: Wed Aug 18 20:05:09 UTC 2010 
State-Changed-Why:  
Not a bug but correct behavior. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=138652 
>Unformatted:
