With the right comparison we get a proper wscale value and thus

more adequate TCP performance with IPv6.

Changes for IPv4, r166403 and r172795, both ignored the
IPv6 counterpart and left it in the state of art of year 2000.

The same logic in syncache already shares code between v4 and v6 so
things do not need to be adapted there.

Reported by:	Steinar Haug (sthaug nethelp.no)
Tested by:	Steinar Haug (sthaug nethelp.no)
MFC after:	3 days
This commit is contained in:
Bjoern A. Zeeb 2009-04-07 14:42:40 +00:00
parent c4abdf1c01
commit 970caf60dd
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=190800

View File

@ -1173,7 +1173,7 @@ tcp6_connect(struct tcpcb *tp, struct sockaddr *nam, struct thread *td)
/* 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) < sb_max)
tp->request_r_scale++;
soisconnecting(so);