Re: [yang-doctors] Review of draft-wu-l3sm-rfc8049bis?
Lou Berger <lberger@labn.net> Fri, 06 October 2017 13:01 UTC
Return-Path: <lberger@labn.net>
X-Original-To: yang-doctors@ietfa.amsl.com
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C81811349AE for <yang-doctors@ietfa.amsl.com>; Fri, 6 Oct 2017 06:01:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.701
X-Spam-Level:
X-Spam-Status: No, score=-4.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (768-bit key) header.d=labn.net
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 i6bBnKmZHzRA for <yang-doctors@ietfa.amsl.com>; Fri, 6 Oct 2017 06:00:58 -0700 (PDT)
Received: from gproxy4-pub.mail.unifiedlayer.com (gproxy4-pub.mail.unifiedlayer.com [69.89.23.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9328D1349B4 for <yang-doctors@ietf.org>; Fri, 6 Oct 2017 06:00:52 -0700 (PDT)
Received: from cmgw4 (unknown [10.0.90.85]) by gproxy4.mail.unifiedlayer.com (Postfix) with ESMTP id 3B267176089 for <yang-doctors@ietf.org>; Fri, 6 Oct 2017 07:00:49 -0600 (MDT)
Received: from box313.bluehost.com ([69.89.31.113]) by cmgw4 with id JD0l1w00A2SSUrH01D0oNs; Fri, 06 Oct 2017 07:00:49 -0600
X-Authority-Analysis: v=2.2 cv=OZLoNlbY c=1 sm=1 tr=0 a=h1BC+oY+fLhyFmnTBx92Jg==:117 a=h1BC+oY+fLhyFmnTBx92Jg==:17 a=IkcTkHD0fZMA:10 a=xqWC_Br6kY4A:10 a=02M-m0pO-4AA:10 a=2HyfR_PSAAAA:8 a=uX8G0ybSAAAA:8 a=48vgC7mUAAAA:8 a=j3Z76cjpAAAA:8 a=dtDrH-5Levq-ZukVAA8A:9 a=V25fX3KtGABqdy8Y:21 a=T-yt0G-x7IVT-zpb:21 a=QEXdDO2ut3YA:10 a=FvgKqOQ44qUA:10 a=JrSEOxZJtCQA:10 a=0zSPmqmPh2d1CTP8umvz:22 a=uNZJWEtFmtcl922f2nWS:22 a=w1C3t2QeGrPiZgrLijVG:22 a=9ZYBcOd_X9kS2t7VFny2:22
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=labn.net; s=default; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version :Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=tX9t6pPyOWvegW12kTwg0FdcR9/V13gV26mfXc9Jf1c=; b=VPnXh8CrfrZPWXxZ21i20e7rXM 5KAqYm4cgZiEGt9IYp7kWnMiinsq5TLtZZUxVaGOYWn0KHNWWRy0LJTtVThmlN45LvG8WF2+O4wYp vNjuOAPsZZJmexSHrQQhRz7PO;
Received: from pool-100-15-84-20.washdc.fios.verizon.net ([100.15.84.20]:41832 helo=[IPv6:::1]) by box313.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.87) (envelope-from <lberger@labn.net>) id 1e0SFA-002ESw-R2; Fri, 06 Oct 2017 07:00:44 -0600
To: Benoit Claise <bclaise@cisco.com>, Jan Lindblad <janl@tail-f.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Cc: Adrian Farrel <adrian@olddog.co.uk>, YANG Doctors <yang-doctors@ietf.org>, draft-wu-l3sm-rfc8049bis.all@ietf.org, "Joe Clarke (jclarke)" <jclarke@cisco.com>
References: <262fdd36-5213-f716-016a-02442c427a0a@labn.net> <EA5D631C-818D-4F84-83C9-26B8A2D73A70@tail-f.com> <196ce82f-2bc3-18c5-4232-2a874efb5062@labn.net> <50B59D11-E865-4025-AAFA-7E2505B540B9@tail-f.com> <20171005140709.xdzqbhyanhpzkyzi@elstar.local> <015901d33de8$083822c0$18a86840$@olddog.co.uk> <20171005161039.rgxdyqlzkg7a4pqn@elstar.local> <5CA105C4-E0DA-4DF0-9001-E47D3C7514BA@tail-f.com> <6887e486-5a02-ddd2-925a-a821872b6a31@cisco.com> <5da176b2-594f-9144-56d0-2bc8afeefacb@labn.net> <c13eb8c5-4cae-05b5-4712-892141c223e1@cisco.com>
From: Lou Berger <lberger@labn.net>
Message-ID: <8f72465e-255c-f6d1-4f5f-865bd5ac6631@labn.net>
Date: Fri, 06 Oct 2017 09:00:41 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0
MIME-Version: 1.0
In-Reply-To: <c13eb8c5-4cae-05b5-4712-892141c223e1@cisco.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - box313.bluehost.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - labn.net
X-BWhitelist: no
X-Source-IP: 100.15.84.20
X-Exim-ID: 1e0SFA-002ESw-R2
X-Source:
X-Source-Args:
X-Source-Dir:
X-Source-Sender: pool-100-15-84-20.washdc.fios.verizon.net ([IPv6:::1]) [100.15.84.20]:41832
X-Source-Auth: lberger@labn.net
X-Email-Count: 5
X-Source-Cap: bGFibm1vYmk7bGFibm1vYmk7Ym94MzEzLmJsdWVob3N0LmNvbQ==
X-Local-Domain: yes
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/Jigm52HLQFpOe9uKxSIU3r38r4I>
Subject: Re: [yang-doctors] Review of draft-wu-l3sm-rfc8049bis?
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Email list of the yang-doctors directorate <yang-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/yang-doctors/>
List-Post: <mailto:yang-doctors@ietf.org>
List-Help: <mailto:yang-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Oct 2017 13:01:01 -0000
On 10/6/2017 8:55 AM, Benoit Claise wrote: > Lou, >> Benoit, >> >> I agree this we should move this to netmod WG list. Do you want to kick >> it off or should I? > Ok, I'll do it (most probably on Monday) okay, I can send something to day that gives the 8049 specific context. >> Another alternative that doesn't modify existing versioning rules is to >> (a) rename the module and (b) add the "obsolete" statement to indicate >> that the -N version replaces the N-1 version. > Like what I proposed below? well, a variant of it. > This would be a new YANG statement. > <CODE BEGINS>file "ietf-l3vpn-svc@2017-09-14.yang" > module ietf-l3vpn-svc-2 { > yang-version 1.1; > namespace "urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"; > prefix l3vpn-svc; > *obsolete *ietf-l3vpn-svc@2017-01-2 the difference is I'd change the name as well, e.g., ietf-l3vpn-svc-2 > Note also that draft-claise-semver was also an attempt at solving the > semantic versioning issue. > Understood. Lou > Regards, Benoit >> Lou >> >> >> On 10/06/2017 08:40 AM, Benoit Claise wrote: >>> Dear all, >>> >>> The big problem: RFC8049 is broken >>> The small problem: trying to maintain backward compatibility. >>> >>> draft-wu-l3sm-rfc8049bis has rightly focused on the big problem. >>> >>> As I mentioned in the past (see "semver.org comparison of two YANG >>> modules" email in NETMOD), I believe the IETF will have to change its >>> way of working in terms of backward compatibility. See also the email >>> "ietf-routing or ietf-routing-2? module naming convention for NMDA >>> transition. Re: [netmod] upcoming adoptions" in NETMOD. The lack of >>> responses might be perceived as the IETF community not being ready for >>> this discussion. >>> >>> The point is that we need, in an automatic way, to make the link between >>> the YANG module in RFC8049 and the YANG module in >>> draft-wu-l3sm-rfc8049bis, or any non backward compatible YANG module. >>> >>> Two solutions: >>> 1. We keep the same module name and express that the YANG module in >>> draft-wu-l3sm-rfc8049bis is not backward compatible with the RFC8049 >>> one. This is the openconfig way. See draft-clacla-netmod-model-catalog >>> >>> // extension statements >>> extension openconfig-version { >>> argument "semver" { >>> yin-element false; >>> } >>> description >>> "The OpenConfig version number for the module. This is >>> expressed as a semantic version number of the form: >>> x.y.z >>> where: >>> * x corresponds to the major version, >>> * y corresponds to a minor version, >>> * z corresponds to a patch version. >>> This version corresponds to the model file within which it is >>> defined, and does not cover the whole set of OpenConfig models. >>> Where several modules are used to build up a single block of >>> functionality, the same module version is specified across each >>> file that makes up the module. >>> >>> A major version number of 0 indicates that this model is still >>> in development (whether within OpenConfig or with industry >>> partners), and is potentially subject to change. >>> >>> Following a release of major version 1, all modules will >>> increment major revision number where backwards incompatible >>> changes to the model are made. >>> >>> The minor version is changed when features are added to the >>> model that do not impact current clients use of the model. >>> >>> The patch-level version is incremented when non-feature changes >>> (such as bugfixes or clarifications to human-readable >>> descriptions that do not impact model functionality) are made >>> that maintain backwards compatibility. >>> >>> The version number is stored in the module meta-data."; >>> } >>> >>> 2. Or we have a different module name, let's say ietf-l3vpn-svc-2. >>> Then ... What? We create extension that will link the >>> draft-wu-l3sm-rfc8049bis YANG module to the RFC8049 YANG module? Same >>> principle as #1, but just more complex. Or we have a new YANG keyword? >>> >>> <CODE BEGINS>file "ietf-l3vpn-svc@2017-09-14.yang" >>> module ietf-l3vpn-svc-2 { >>> yang-version 1.1; >>> namespace "urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"; >>> prefix l3vpn-svc; >>> obsolete ietf-l3vpn-svc@2017-01-2 >>> >>> Going from the draft-wu-l3sm-rfc8049bis YANG _module _to the >>> draft-wu-l3sm-rfc8049bis _document _to lookup the IETF "obsolete" flag >>> in order to understand that the RFC8049 YANG module is obsolete is not >>> an automatic solution. >>> Using the yangcatalog.org might be a solution, but this is just an >>> offline trick. >>> Using the YANG module description field might be interesting, but again >>> this is not an automatic way: >>> >>> description >>> "This YANG module defines a generic service configuration >>> model for Layer 3 VPNs. This model is common across all >>> vendor implementations. This obsoletes the RFC8049 YANG >>> module, ietf-l3vpn-svc@2017-01-2"; >>> revision 2017-09-14 { >>> description >>> "First revision of RFC8049 <https://tools.ietf.org/html/rfc8049>."; >>> reference >>> "RFC xxxx: YANG Data Model for L3VPN Service Delivery"; >>> >>> >>> Maybe we should discuss this on the NETMOD mailing list in the end, for >>> a longer term solution. Thoughts? >>> However, let's not block the RFC8049bis and RFC8022bis publications at >>> this point in time. >>> >>> Regards, Benoit >>> >>> >>>> Jürgen, >>>> >>>>> I do not understand the details why RFC 8049 is fundamentally >>>>> broken. >>>> The 8049 YANG model had broken XPATH expressions, so a compliant implementation was impossible. The qos rules architecture was at odds with other IETF models, e.g. the ACL model. I would actually call this out as a bigger problem than the former. Then, there were some minor description enhancements, added defaults and adjustments of types. >>>> >>>>> The abstract of the ID says: >>>>> >>>>> If approved, this document obsoletes RFC 8049. The changes are a >>>>> series of small fixes to the YANG module, and some clarifications to >>>>> the text. >>>>> >>>>> This does not read like fundamentally flawed and not implementable. >>>> 8049 does not compile if you have a compiler that understands XPATH. >>>> >>>>> That said, I did react to Jan's statement that kind of indicated that >>>>> these changes are generally OK - which I think they are not. >>>>> >>>>> If this document chooses to not follow the YANG update rules, I think >>>>> this should be supported by a clear documentation why this is >>>>> considered to be OK, somewhere in the document. >>>> I never pretended the new module would be backwards compatible with 8049. The specific element I mentioned as being individually backwards compatible, is not according to section 11 in 7950. Thanks for clarifying that. >>>> >>>> Maybe what we should do to respect section 11 rules, and give a clear message to implementors, is to give the module a new namespace and name. >>>> >>>> /jan >>>> >>>> >>>>> On Thu, Oct 05, 2017 at 03:41:28PM +0100, Adrian Farrel wrote: >>>>>> Pardon me for asking for some help getting this straight in my head. >>>>>> >>>>>> When we move from one version of an I-D to another, we don't pay any attention >>>>>> to backward compatibility. >>>>>> >>>>>> When we revise an established module we must be backward compatible to allow the >>>>>> new version to be inserted without damaging existing implementations, or we must >>>>>> call the module something new to avoid confusion. >>>>>> >>>>>> When we have a module that cannot be implemented (because it is broken) and that >>>>>> is being fixed through the obsoleting of an RFC, do we *really* care about >>>>>> backward compatibility? If we do care, then the answer is simple: we revise the >>>>>> module name, etc. If the issue isn't a big deal, we go ahead as written. >>>>>> >>>>>> Thanks, >>>>>> Adrian >>>>>> >>>>>>> -----Original Message----- >>>>>>> From: Juergen Schoenwaelder [mailto:j.schoenwaelder@jacobs-university.de] >>>>>>> Sent: 05 October 2017 15:07 >>>>>>> To: Jan Lindblad >>>>>>> Cc: Lou Berger; YANG Doctors; draft-wu-l3sm-rfc8049bis.all@ietf.org >>>>>>> Subject: Re: [yang-doctors] Review of draft-wu-l3sm-rfc8049bis? >>>>>>> >>>>>>> On Thu, Oct 05, 2017 at 03:44:24PM +0200, Jan Lindblad wrote: >>>>>>>> Lou, >>>>>>>> >>>>>>>>> What about the type changes (int32->int64, >>>>>>>> This is a backwards compatible change according to both 6020 and 7950. >>>>>>>> >>>>>>>>> int->string)? >>>>>>>> Even if a type change int->str might qualify as "backwards compatible" >>>>>>> according to 6020 and 7950, the particular change at hand is not because of >>>>>>> considerable changes in semantics. >>>>>>> >>>>>>> I think both type changes are problematic. RFC 7950 says: >>>>>>> >>>>>>> o A "type" statement may be replaced with another "type" statement >>>>>>> that does not change the syntax or semantics of the type. For >>>>>>> example, an inline type definition may be replaced with a typedef, >>>>>>> but an int8 type cannot be replaced by an int16, since the syntax >>>>>>> would change. >>>>>>> >>>>>>> /js >>>>>>> >>>>>>>> /jan >>>>>>>> >>>>>>>> >>>>>>>>> On 10/5/2017 9:27 AM, Jan Lindblad wrote: >>>>>>>>>> Lou, >>>>>>>>>> >>>>>>>>>> I have reviewed the updated model from a YANG perspective. The old >>>>>>> model contained syntax errors(!), so there was no way to (correctly) implement >>>>>>> it. Hence I believe requirements on backwards compatibility should be treated >>>>>>> lightly. >>>>>>>>>> /jan >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> Has there been a review conducted or is there one planned for >>>>>>>>>>> draft-wu-l3sm-rfc8049bis? If not, I think one is needed. I'm looking >>>>>>>>>>> at it now as part of RtgDir review and I believe some non-backwards >>>>>>>>>>> compatible changes in the defined yang module. >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Lou >>>>>>>>>>> >>>>>>>>>>> PS for module diffs see: >>>>>>>>>>> >>>>>>>>>>> https://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=draft-wu-l3sm- >>>>>>> rfc8049bis-05.txt&url1=rfc8049 >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> yang-doctors mailing list >>>>>>>>>>> yang-doctors@ietf.org >>>>>>>>>>> https://www.ietf.org/mailman/listinfo/yang-doctors >>>>>>>> _______________________________________________ >>>>>>>> yang-doctors mailing list >>>>>>>> yang-doctors@ietf.org >>>>>>>> https://www.ietf.org/mailman/listinfo/yang-doctors >>>>>>> -- >>>>>>> Juergen Schoenwaelder Jacobs University Bremen gGmbH >>>>>>> Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany >>>>>>> Fax: +49 421 200 3103 <http://www.jacobs-university.de/> >>>>> -- >>>>> Juergen Schoenwaelder Jacobs University Bremen gGmbH >>>>> Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany >>>>> Fax: +49 421 200 3103 <http://www.jacobs-university.de/> >>>>> >>>> . >>>> >> . >> >
- [yang-doctors] Review of draft-wu-l3sm-rfc8049bis? Lou Berger
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Jan Lindblad
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Adrian Farrel
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Lou Berger
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Lou Berger
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Jan Lindblad
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Adrian Farrel
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Juergen Schoenwaelder
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Lou Berger
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Adrian Farrel
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Juergen Schoenwaelder
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Jan Lindblad
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Benoit Claise
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Lou Berger
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Benoit Claise
- Re: [yang-doctors] Review of draft-wu-l3sm-rfc804… Lou Berger