Re: [CCAMP] [netmod] What to reference when importing an IANA module?

Benoit Claise <benoit.claise@huawei.com> Mon, 16 January 2023 10:49 UTC

Return-Path: <benoit.claise@huawei.com>
X-Original-To: ccamp@ietfa.amsl.com
Delivered-To: ccamp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 42A14C151556; Mon, 16 Jan 2023 02:49:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.897
X-Spam-Level:
X-Spam-Status: No, score=-6.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GJ6IBG3NbE8l; Mon, 16 Jan 2023 02:49:37 -0800 (PST)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5DF01C151557; Mon, 16 Jan 2023 02:49:37 -0800 (PST)
Received: from frapeml500001.china.huawei.com (unknown [172.18.147.226]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4NwTGq6b7jz6H6nM; Mon, 16 Jan 2023 18:46:43 +0800 (CST)
Received: from [10.48.134.82] (10.48.134.82) by frapeml500001.china.huawei.com (7.182.85.94) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 16 Jan 2023 11:49:32 +0100
Content-Type: multipart/alternative; boundary="------------gVIArMcBww0aixb1At9SWU7Z"
Message-ID: <953da02a-b364-cdda-0c6d-89d4ea1ec2fa@huawei.com>
Date: Mon, 16 Jan 2023 11:49:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1
Content-Language: en-GB
To: Randy Presuhn <randy_presuhn@alumni.stanford.edu>, "ccamp@ietf.org" <ccamp@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
References: <900fcde63e90473b8424658bc7095818@huawei.com> <ede7a11a-bc66-26a5-f33a-83b15fc61fde@huawei.com> <AM7PR07MB624874275BBD327AEB38C004A0FD9@AM7PR07MB6248.eurprd07.prod.outlook.com> <ab763386-7668-39a7-a080-1bc202eb992e@huawei.com> <AM7PR07MB6248DE5396AC76C0101B233BA0C29@AM7PR07MB6248.eurprd07.prod.outlook.com> <b4dd6eae-7cab-5c87-5e1e-d90a0859b466@huawei.com> <01000185ac5c8328-452eee8e-b8d8-4ef0-955a-e2ead0c557b2-000000@email.amazonses.com> <072be8fa-3801-1236-752a-e44df9347d18@alumni.stanford.edu>
From: Benoit Claise <benoit.claise@huawei.com>
In-Reply-To: <072be8fa-3801-1236-752a-e44df9347d18@alumni.stanford.edu>
X-Originating-IP: [10.48.134.82]
X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To frapeml500001.china.huawei.com (7.182.85.94)
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/ccamp/rQInNVBg80XgtAZ2fSqVcaG3rmw>
Subject: Re: [CCAMP] [netmod] What to reference when importing an IANA module?
X-BeenThere: ccamp@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Discussion list for the CCAMP working group <ccamp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ccamp>, <mailto:ccamp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ccamp/>
List-Post: <mailto:ccamp@ietf.org>
List-Help: <mailto:ccamp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ccamp>, <mailto:ccamp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 16 Jan 2023 10:49:41 -0000

Dear all,

On 1/13/2023 9:22 PM, Randy Presuhn wrote:
> Hi -
>
> On 2023-01-13 10:20 AM, Kent Watsen wrote:
>>
>>
>>> On Jan 13, 2023, at 11:25 AM, Benoit Claise 
>>> <benoit.claise=40huawei.com@dmarc.ietf.org> wrote:
>>>
>>> Hi Tom,
>>>> Yes I do think that people outside the IETF may be ignorant of the 
>>>> nuances of the way the IETF works and  may not realise that a URL 
>>>> to the IANA website must be used in preference to an RFC.  There is 
>>>> more to YANG modules than extracting the code from somewhere in 
>>>> order to incorporate it into something.  I have even seen RFC 
>>>> reference the obsolete list of possibilities  in the RFC that set 
>>>> up an IANA registry
>>> If this is the case (And Randy supports this), then we should update 
>>> RFC 8047.
>
> Benoit's reference to RFC 8047 had me puzzled until I saw Kent's
> response regarding RFC 8407.  :-)
>
>> Agreed - as a hold for document update?
>>
>> Currently RFC 8407, Section 3.9 says:
>>
>>     For every import or include statement that appears in a module
>>     contained in the specification that identifies a module in a 
>> separate
>>     document, a corresponding normative reference to that document MUST
>>     appear in the Normative References section.  The reference MUST
>>     correspond to the specific module version actually used within the
>>     specification.
>
> I agree with Kent's "hold for document update" assessment.  The
> difficultly with the existing text is that it correctly reflects
> the concerns that were at the forefront when it was written -
> e.g. making it as easy as possible for developers to get the
> necessary context for implementing a module, but, as far as
> I can recall, the group hadn't thought as deeply about
> registries spun off from an initial document.
>
>> Want to take a swing at it?
>
> Not me.  :-)  There are competing requirements, and the "best" answer
> will very much depend on each situation.  I think the *spirit* of
> the RFC 8407 Section 3.9 is  "point to whatever resource will be most
> enlightening to the developer / user."  But the letter of the law is
> "point to whatever is needed to generate a tree of normative
> reference dependencies" - that is, use what will be most helpful
> to the people writing the standards.  There's a point to both kinds of
> pointers.
>
> When in doubt, my preference is to go whichever way will make it
> harder for implementations to get it wrong.
Agree on the principles, but there is no quick fix.
Look at Med's proposal:

        If an IANA-maintained module is imported by another module, a
        normative reference with the IANA URL from where to retrieve the
        IANA-maintained module SHOULD be included.  Although not encouraged,
        referencing the RFC that defines the initial version of the IANA
        module is acceptable in specific cases (e.g., the imported version is
        specifically the initial version, the RFC includes useful description
        about the usage of the module).

If we want to add an IANA link to update RFC 8407, Section 3.9, a couple 
of remarks:
- It's not clear what "a normative reference with the IANA URL" is.
     Is it 
https://www.iana.org/assignments/yang-parameters/yang-parameters.xhtml?
     Or is it 
https://www.iana.org/assignments/yang-parameters/iana-if-type@2022-08-24.yang?
     The more precise the later, right?
     However, the latter, which is a typical example of IANA maintained 
YANG module does NOT work, as the revision in the URL changes with any 
IAN update
- So this leads to have both RFC and IANA, so 
https://www.iana.org/assignments/yang-parameters/yang-parameters.xhtml + 
RFC7224 (in the above example)
- Also, we should make more generic for some other SDOs, as IANA is for 
IETF only.
   And the guidelines are followed by others: BBF, IEEE, etc.

Regards, Benoit
>
> Randy
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod