From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nm7.access.bullet.mail.mud.yahoo.com (nm7.access.bullet.mail.mud.yahoo.com [66.94.237.208]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by huchra.bufferbloat.net (Postfix) with ESMTPS id 2A4BF2021A8 for ; Thu, 30 May 2013 12:59:34 -0700 (PDT) Received: from [66.94.237.196] by nm7.access.bullet.mail.mud.yahoo.com with NNFMP; 30 May 2013 19:59:32 -0000 Received: from [98.139.221.65] by tm7.access.bullet.mail.mud.yahoo.com with NNFMP; 30 May 2013 19:59:32 -0000 Received: from [127.0.0.1] by smtp102.rog.mail.bf1.yahoo.com with NNFMP; 30 May 2013 19:59:32 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rogers.com; s=s1024; t=1369943972; bh=2zQPQ7j3rhWdPTex9HH5ITtoIfukxMQHc4PinSf2Uds=; h=X-Yahoo-Newman-Id:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:X-Rocket-Received:Message-ID:Date:From:Reply-To:User-Agent:MIME-Version:To:Subject:References:In-Reply-To:X-Enigmail-Version:Content-Type:Content-Transfer-Encoding; b=Fgqh/hkp9p5GAKFO625FW9eTMREUNUNxCR3KioNU8Mk8yN++eGeHEjbpnYgCzQ7UBgGGt8fuogtgz7KLft377EykzPgGpgCYMa1PeKmp0WQKLWmlYE679e8qlPbGdSbJauU5Z3jP7CiiDSLXxmRksDNCFvutqm+Jvc3qAPbKMuA= X-Yahoo-Newman-Id: 761742.851.bm@smtp102.rog.mail.bf1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: EsSt8H8VM1mAToYsb8h28p3Ien1Z6T.WGeWBTm39avqhsWm H9PRRTozrezsjew2vz_o5n4NWB00aLh1CO0jOXxNffQSso2G_6AcPtiJK48F Sd.Pzfvm7nUf9gRJnTEq1PQqdZ7YF0DYrSvV69Z_KkxBqQEm54oh1rK_5Bam 0WSATLnBbNVOVqFoFyR5IqAIJ9fBbHWMmkLhroO2xWNr4U.P.FQT0Ee9wrPG XOvSD8I4R7ZwU9eUP36CxQY6Lbc2VMbJUN5KbqgrFoiJ0GDFwcTrLDdvl3cZ zHRstKOMxIm.mzIaNlmwHPmsa7DpG7NXZXfivpirgNC8LpybCEu9sjDQiN6P aiekPQN2WNmND5ogKr3JtiTacJdQQ54KtUknv8v3GztE.DCbnTFy4ldMIG7K blknPB8Ve38vfk1dnGTr10ROcXLhJ13v_BU9PZK.oejSvUz8o7v7yVF0_MXp VzJ7Q3FKPl161XHJivARBnN7WFylMPXy8xe.fuzSTW_1oL8NIvyCfacsKnhM _2EPnu53DC_PGoXH.zfYmyMda1.dGPblHkK7oGOtA7abViFPN3_X3Zpxl8Se LlypK8fdITkxjgv4E89g9Zbc_AG_dWQe7UftfxriO2FTaRxlWHiohpOW8M5E lkcpQam5qV0HkLPMYHuV1wcIMwKtCxkc- X-Yahoo-SMTP: sltvjZWswBCRD.ElTuB1l9j6s9wRYPpuyTNWOE5oEg-- X-Rocket-Received: from [192.168.1.103] (davec-b@99.225.204.110 with plain) by smtp102.rog.mail.bf1.yahoo.com with SMTP; 30 May 2013 12:59:32 -0700 PDT Message-ID: <51A7B0EF.3060709@rogers.com> Date: Thu, 30 May 2013 16:05:03 -0400 From: David Collier-Brown User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4 MIME-Version: 1.0 To: bloat@lists.bufferbloat.net References: In-Reply-To: X-Enigmail-Version: 1.5.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: [Bloat] Sidebar re compatibility (was: tc linklayer ADSL calc broken after commit 56b765b79) X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list Reply-To: davecb@spamcop.net List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 May 2013 19:59:34 -0000 Jesper Dangaard Brouer wrote: > On Wed, 29 May 2013 16:18:26 -0700 Eric Dumazet > wrote: >> On Wed, 2013-05-29 at 15:50 -0700, Stephen Hemminger wrote: >>> On Wed, 29 May 2013 08:52:04 -0700 >>> Eric Dumazet wrote: >>> >>>> On Wed, 2013-05-29 at 15:13 +0200, Jesper Dangaard Brouer wrote: >>>>> I recently discovered that the (traffic control) tc linklayer >>>>> calculations for ATM/ADSL have been broken by: >>>>> commit 56b765b79 (htb: improved accuracy at high rates). >>>>> >>>>> Thus, people shaping on ADSL links, using e.g.: >>>>> tc class add ... htb rate X ceil Y linklayer atm overhead 10 >>>>> >>>>> Will no-longer get ATM cell tax/overhead adjusted. >>>>> >> Adding the logic on the kernel is doable, by adding some clean >> attributes so that tc can setup the feature, and report the attributes >> back. > Yes, doing the logic in the kernel might be a better solution. > But the question is how do we keep iproute2 backward compatible with > older kernels? If you're adding a new functionality, and distinguish it from the existing ones in some reasonable way, the problem should not exist. In the special case of fixing a bug that no-one depends on, the change is strictly to one's advantage. The only time one requires backward compatibility is when someone depends on the previous behaviour. If someone legitimately depends on the bug, you have the choice of visibly distinguishing the fixed version from the buggy one, or invisibly ensuring that old users get the old buggy behaviour and new ones get the new behaviour. The latter is usually done with linker tricks, so that anyone who compiles and links with the fixed version gets the fixed behaviour, while anyone who merely re-links old software gets the old behaviour. [I can blather on about this interminably: for more detail see http://cacm.acm.org/magazines/2009/11/48444-you-dont-know-jack-about-software-maintenance and send me offline email] --dave -- David Collier-Brown, | Always do right. This will gratify System Programmer and Author | some people and astonish the rest davecb@spamcop.net | -- Mark Twain (416) 223-8968