Re: [forces] Avoiding need to issue a draft every time WAS(Re: FEO events
Joel Halpern Direct <jmh.direct@joelhalpern.com> Thu, 20 November 2014 16:13 UTC
Return-Path: <jmh.direct@joelhalpern.com>
X-Original-To: forces@ietfa.amsl.com
Delivered-To: forces@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CDFCF1A1ABB for <forces@ietfa.amsl.com>; Thu, 20 Nov 2014 08:13:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id m-TVFXY2UDHf for <forces@ietfa.amsl.com>; Thu, 20 Nov 2014 08:13:24 -0800 (PST)
Received: from mailb2.tigertech.net (mailb2.tigertech.net [208.80.4.154]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DFDAC1A1A65 for <forces@ietf.org>; Thu, 20 Nov 2014 08:13:23 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by mailb2.tigertech.net (Postfix) with ESMTP id 90C4E1C0806; Thu, 20 Nov 2014 08:13:23 -0800 (PST)
X-Virus-Scanned: Debian amavisd-new at b2.tigertech.net
Received: from Joels-MacBook-Pro.local (unknown [212.214.9.162]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by mailb2.tigertech.net (Postfix) with ESMTPSA id 53E871C00AC; Thu, 20 Nov 2014 08:13:22 -0800 (PST)
Message-ID: <546E1320.3080701@joelhalpern.com>
Date: Thu, 20 Nov 2014 11:13:20 -0500
From: Joel Halpern Direct <jmh.direct@joelhalpern.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Jamal Hadi Salim <hadi@mojatatu.com>
References: <CAAFAkD9LhtrpCe2QPkz67O+G9t5L6qkfQyF0=3cOGtfiQgo8ZQ@mail.gmail.com> <546E0992.8000300@joelhalpern.com> <CAAFAkD9Q6HE-X+00vz4gVk_ao9wffsZ5ru87qF+HP24H6E8_2g@mail.gmail.com> <546E0E4F.4010502@joelhalpern.com> <CAAFAkD_9jW+z8C-Sj3mquCvmy_T3CwHYJKRKLUrXx4oNbMSe9A@mail.gmail.com>
In-Reply-To: <CAAFAkD_9jW+z8C-Sj3mquCvmy_T3CwHYJKRKLUrXx4oNbMSe9A@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: http://mailarchive.ietf.org/arch/msg/forces/8heAPPRFklFQhXcd7XqWTbN1YqM
Cc: Julian Reschke <julian.reschke@gmx.de>, forces <forces@ietf.org>
Subject: Re: [forces] Avoiding need to issue a draft every time WAS(Re: FEO events
X-BeenThere: forces@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: ForCES WG mailing list <forces.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/forces>, <mailto:forces-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/forces/>
List-Post: <mailto:forces@ietf.org>
List-Help: <mailto:forces-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/forces>, <mailto:forces-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 20 Nov 2014 16:13:33 -0000
You can always create parallel classes (gre-augmenting-class1) which are used just to hold extra configuration without being in the data path. Yes, it is a bit awkward as you can have the back-pointer but no forward-pointer. But it works. And it requires no RFC. Just use the FCFS portion of the registry. Yours, Joel On 11/20/14, 10:58 AM, Jamal Hadi Salim wrote: > On Thu, Nov 20, 2014 at 10:52 AM, Joel Halpern Direct > <jmh.direct@joelhalpern.com> wrote: >> Subclassing is precisely designed to provide augmentation. >> You can also do associated classes / instances (which is what folks usually >> get with augmentation) but I prefer subclassing. >> > > Sub classing requires a new class identity. > > If i defined a port LFB and then inherited into > a gre LFB it makes sense because I need most of the fields > port has to offer; i can override some of them and i > can augment. > > But all i wanted was to add a new field to gre meaningful > to gre, it doesnt make sense i go and subclass that. > My initial thinking (before Julian commented) was we change > the version. The scaling problem i am describing here is > this idea of adding new fields in self-contained LFB classes > is the way of life in open source. And people survive fine without > versioning. > > cheers, > jamal > >> Yours, >> Joel >> >> On 11/20/14, 10:50 AM, Jamal Hadi Salim wrote: >>> >>> On Thu, Nov 20, 2014 at 10:32 AM, Joel M. Halpern <jmh@joelhalpern.com> >>> wrote: >>>> >>>> I think that there are several issues combined here. >>>> >>>> We already have mechanisms so that anyone can define LFBs. And that >>>> includes new subclasses of existing LFBs. Note that he information as to >>>> what LFB classes and subclasses an FE supports is easily discoverable, >>>> by design. >>>> >>> >>> That part works well. >>> >>> Lets put FEPO/FEO to the side for the sake of discussion. >>> Say i defined a port LFB and I publish it and it ends up being RFC. >>> And then two months down the road i would like to add a new >>> component - the process requires me to publish a new document >>> and go through the same publication. That is manageable if the >>> churn stops at some point. It never stops in open source. >>> So the idea that i have to create a document and go through a standards >>> process doesnt scale. >>> >>>> There is the question of whether event mechanism should be more easily >>>> extended than a new subclass. I have trouble seeing how we could >>>> do that, >>>> since in many instances it will require different code in the FE to >>>> generate >>>> new events. >>>> >>> >>> I think the sub-classing issue also works well. What i am refering to >>> is more class "augmentation" than it is sub-classing. >>> >>>> Then there is the question of changes to the FEO (or FEPO). For >>>> itneroperability, those have to be very stable. In this case, for >>>> example, >>>> if your CE needs those events, you can only work with FEs that have been >>>> upgraded to generate those events from the FEO. If we allow random >>>> changes >>>> to the FEO, the probability of interoperability between independent >>>> implementations is very low. So while I am sympathetic, I am reluctant >>>> to >>>> go down a path the makes interoperability harder. >>>> >>> >>> We can make an exception for FEPO/FEO. But think of other >>> classes which merely require a new component augmented >>> (not subclassing). >>> >>> cheers, >>> jamal >>> >>
- [forces] Avoiding need to issue a draft every tim… Jamal Hadi Salim
- Re: [forces] Avoiding need to issue a draft every… Joel M. Halpern
- Re: [forces] Avoiding need to issue a draft every… Jamal Hadi Salim
- Re: [forces] Avoiding need to issue a draft every… Jamal Hadi Salim
- Re: [forces] Avoiding need to issue a draft every… Joel Halpern Direct
- Re: [forces] Avoiding need to issue a draft every… Joel Halpern Direct
- Re: [forces] Avoiding need to issue a draft every… Jamal Hadi Salim