From owner-svn-src-head@FreeBSD.ORG Thu Sep 16 10:44:18 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 71E6A1065695 for ; Thu, 16 Sep 2010 10:44:18 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id D5E238FC22 for ; Thu, 16 Sep 2010 10:44:17 +0000 (UTC) Received: (qmail 3450 invoked from network); 16 Sep 2010 10:38:55 -0000 Received: from localhost (HELO [127.0.0.1]) ([127.0.0.1]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 16 Sep 2010 10:38:55 -0000 Message-ID: <4C91F503.4000303@freebsd.org> Date: Thu, 16 Sep 2010 12:44:19 +0200 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.9) Gecko/20100825 Thunderbird/3.1.3 MIME-Version: 1.0 To: John Baldwin References: <201009151039.o8FAdU4H030416@svn.freebsd.org> <4C90B326.4000208@freebsd.org> <4C90D27D.4070306@freebsd.org> <201009151212.52337.jhb@freebsd.org> In-Reply-To: <201009151212.52337.jhb@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, Lawrence Stewart , svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r212653 - head/sys/netinet X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Sep 2010 10:44:18 -0000 On 15.09.2010 18:12, John Baldwin wrote: > On Wednesday, September 15, 2010 10:04:45 am Andre Oppermann wrote: >> Below is the wording proposed by Lawrence: >> /* >> * The default Maximum Segment Size (MSS) to use when we do not have specific >> * knowledge (e.g. via path MTU discovery) that the destination host is prepared >> * to accept larger datagrams. The smallest allowable IP datagram MTU and >> * optionless IP/TCP header lengths are used for the calculation as per RFC879. >> * For IPv4 (RFC791): 576 - 20 - 20 = 536. >> * For IPv6 (RFC2460): 1280 - 40 - 20 = 1220. >> */ >> #define TCP_MSS 536 >> #define TCP6_MSS 1220 > > I think the existing text is fine for this comment, with one nit: > > * For IPv4 the MSS is 576 - sizeof(struct tcpiphdr) > > I would find it clearer if it was 'sizeof(struct ip) - sizeof(struct tcphdr)' > instead. I chose 'sizeof(struct tcpiphdr)' for consistency with other parts of the TCP code where the MSS is calculated this way. 'struct tcpiphdr' predates IPv6 and is commonly used in the BSD kernel code. >> * Limit the lowest MSS we accept for path MTU discovery and the TCP SYN MSS >> * option. Allowing low values of MSS can consume significant resources and be >> * used to mount a resource exhaustion attack. Connections requesting lower MSS >> * values will be rounded up to this value and the IP_DF flag will be cleared to >> * allow fragmentation along the path. >> * >> * See tcp_subr.c tcp_minmss SYSCTL declaration for more comments. Setting this >> * SYSCTL to "0" disables the minmss check. >> * >> * The default value is fine for TCP over IPv4 across the Internet's smallest >> * known link MTU (256 bytes for AX.25 packet radio). However, a connection is >> * very unlikely to come across such low MTU interfaces (anno domini 2003). >> */ >> #define TCP_MINMSS 216 > > I actually prefer the above text for this block. The 'amounts of resources' > phrase is certainly redundant and just 'resources' is clearer. OK. I'll update the comment with a small change to the third paragraph. -- Andre