From owner-cvs-src-old@FreeBSD.ORG Fri Sep 17 22:05:48 2010 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9660F1065675 for ; Fri, 17 Sep 2010 22:05:48 +0000 (UTC) (envelope-from andre@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 84C578FC17 for ; Fri, 17 Sep 2010 22:05:48 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o8HM5mIU074498 for ; Fri, 17 Sep 2010 22:05:48 GMT (envelope-from andre@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o8HM5mAt074497 for cvs-src-old@freebsd.org; Fri, 17 Sep 2010 22:05:48 GMT (envelope-from andre@repoman.freebsd.org) Message-Id: <201009172205.o8HM5mAt074497@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to andre@repoman.freebsd.org using -f From: Andre Oppermann Date: Fri, 17 Sep 2010 22:05:27 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/netinet tcp_output.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Sep 2010 22:05:48 -0000 andre 2010-09-17 22:05:27 UTC FreeBSD src repository Modified files: sys/netinet tcp_output.c Log: SVN rev 212803 on 2010-09-17 22:05:27Z by andre Rearrange the TSO code to make it more readable and to clearly separate the decision logic, of whether we can do TSO, and the calculation of the burst length into two distinct parts. Change the way the TSO burst length calculation is done. While TSO could do bursts of 65535 bytes that can't be represented in ip_len together with the IP and TCP header. Account for that and use IP_MAXPACKET instead of TCP_MAXWIN as base constant (both have the same value of 64K). When more data is available prevent less than MSS sized segments from being sent during the current TSO burst. Add two more KASSERTs to ensure the integrity of the packets. Tested by: Ben Wilber MFC after: 10 days Revision Changes Path 1.172 +49 -33 src/sys/netinet/tcp_output.c