From owner-svn-src-all@freebsd.org Thu May 19 23:45:21 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 21F28B42880; Thu, 19 May 2016 23:45:21 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from gw.catspoiler.org (unknown [IPv6:2602:304:b010:ef20::f2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "gw.catspoiler.org", Issuer "gw.catspoiler.org" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id F41E01456; Thu, 19 May 2016 23:45:20 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.15.2/8.15.2) with ESMTP id u4JNj9GE084896; Thu, 19 May 2016 16:45:13 -0700 (PDT) (envelope-from truckman@FreeBSD.org) Message-Id: <201605192345.u4JNj9GE084896@gw.catspoiler.org> Date: Thu, 19 May 2016 16:45:09 -0700 (PDT) From: Don Lewis Subject: Re: svn commit: r300240 - head/sys/netinet To: yaneurabeya@gmail.com cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org In-Reply-To: MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 May 2016 23:45:21 -0000 On 19 May, Ngie Cooper wrote: > On Thu, May 19, 2016 at 3:20 PM, Don Lewis wrote: >> Author: truckman >> Date: Thu May 19 22:20:35 2016 >> New Revision: 300240 >> URL: https://svnweb.freebsd.org/changeset/base/300240 >> >> Log: >> Change net.inet.tcp.ecn.enable sysctl mib from a binary off/on >> control to a three way setting. >> 0 - Totally disable ECN. (no change) >> 1 - Enable ECN if incoming connections request it. Outgoing >> connections will request ECN. (no change from present != 0 setting) >> 2 - Enable ECN if incoming connections request it. Outgoing >> conections will not request ECN. >> >> Change the default value of net.inet.tcp.ecn.enable from 0 to 2. >> >> Linux version 2.4.20 and newer, Solaris, and Mac OS X 10.5 and newer have >> similar capabilities. The actual values above match Linux, and the default >> matches the current Linux default. >> >> Reviewed by: eadler >> MFC after: 1 month >> MFH: yes >> Sponsored by: https://reviews.freebsd.org/D6386 > > RelNotes: yes > > Also, does it make sense to merge this to head if it fundamentally > changes behavior from what it was previously on the stable branch(es)? grrh ... that was supposed to be "Relnotes: yes", not "MFH: yes". I do think it makes sense to merge this to stable/10. Linux has had ECN enabled by default for quite some time, and OS X enabled ECN by default last September. The default setting of 2 is fairly safe. If you receive an incoming connection request that wants ECN, then that indicates that you are not behind a broken middlebox that blocks ECN. Requesting ECN by default on outgoing connections is more problematic. If you are behind a broken middlebox, the you could have problems making outgoing connections, though if you don't get a response after sending net.inet.tcp.ecn.enable SYN packets, ECN will get disabled for that connection request.