Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Jul 2005 13:40:23 GMT
From:      Pieter de Boer <pieter@os3.nl>
To:        freebsd-net@FreeBSD.org
Subject:   Re: kern/82470: FreeBSD advertises wrong window scale in some situations
Message-ID:  <200507241340.j6ODeNTj008661@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/82470; it has been noted by GNATS.

From: Pieter de Boer <pieter@os3.nl>
To: bug-followup@freebsd.org
Cc:  
Subject: Re: kern/82470: FreeBSD advertises wrong window scale in some situations
Date: Sun, 24 Jul 2005 15:39:15 +0200

 The following patch seems to fix the problem:
 
 
 diff -u netinet.orig/tcp_syncache.c netinet/tcp_syncache.c
 --- netinet.orig/tcp_syncache.c	Sun Jul 24 15:26:14 2005
 +++ netinet/tcp_syncache.c	Sun Jul 24 15:26:56 2005
 @@ -966,7 +966,7 @@
 
   			/* Compute proper scaling value from buffer space */
   			while (wscale < TCP_MAX_WINSHIFT &&
 -			    (TCP_MAXWIN << wscale) < so->so_rcv.sb_hiwat)
 +			    (TCP_MAXWIN << (wscale + 1)) <= so->so_rcv.sb_hiwat)
   				wscale++;
   			sc->sc_request_r_scale = wscale;
   			sc->sc_requested_s_scale = to->to_requested_s_scale;
 diff -u netinet.orig/tcp_usrreq.c netinet/tcp_usrreq.c
 --- netinet.orig/tcp_usrreq.c	Sun Jul 24 15:26:14 2005
 +++ netinet/tcp_usrreq.c	Sun Jul 24 15:26:47 2005
 @@ -888,7 +888,7 @@
 
   	/* Compute window scaling to request.  */
   	while (tp->request_r_scale < TCP_MAX_WINSHIFT &&
 -	    (TCP_MAXWIN << tp->request_r_scale) < so->so_rcv.sb_hiwat)
 +	    (TCP_MAXWIN << (tp->request_r_scale + 1)) <= so->so_rcv.sb_hiwat)
   		tp->request_r_scale++;
 
   	soisconnecting(so);
 @@ -950,7 +950,7 @@
 
   	/* Compute window scaling to request.  */
   	while (tp->request_r_scale < TCP_MAX_WINSHIFT &&
 -	    (TCP_MAXWIN << tp->request_r_scale) < so->so_rcv.sb_hiwat)
 +	    (TCP_MAXWIN << (tp->request_r_scale + 1)) <= so->so_rcv.sb_hiwat)
   		tp->request_r_scale++;
 
   	soisconnecting(so);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200507241340.j6ODeNTj008661>