[netconf] YANG Library 1.1: a deviation module may exist without a module entry?

Jernej Tuljak <jernej.tuljak@mg-soft.si> Wed, 12 May 2021 09:18 UTC

Return-Path: <jernej.tuljak@mg-soft.si>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 7BB0A3A0A86 for <netconf@ietfa.amsl.com>; Wed, 12 May 2021 02:18:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mg-soft.si
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id 3kfbwI7ra9ze for <netconf@ietfa.amsl.com>; Wed, 12 May 2021 02:18:50 -0700 (PDT)
Received: from galileo.mg-soft.si (gate.mg-soft.si []) by ietfa.amsl.com (Postfix) with ESMTP id 88E893A0A85 for <netconf@ietf.org>; Wed, 12 May 2021 02:18:49 -0700 (PDT)
Received: from [] (teleport2.mg-soft.si []) by galileo.mg-soft.si (Postfix) with ESMTP id C0AA4C41754A for <netconf@ietf.org>; Wed, 12 May 2021 11:18:47 +0200 (CEST)
DKIM-Filter: OpenDKIM Filter v2.11.0 galileo.mg-soft.si C0AA4C41754A
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mg-soft.si; s=default; t=1620811127; bh=PeDCmxeOn+7PizFn4lBeZV0fH7/5ZlMXONferU050jI=; h=To:From:Subject:Date:From; b=OGw4FgCVn1DvJiGezHX4OMoa5DnUkH0+hSQTiXZAfiQHHP6SYAJXdZLfAboPNzFWp KjMepWCwzFqnZOnOMR2K+emFkB8xqVn6QPT/qZ1497+COwQAK4jspQRWmfCfDn/5jw xci2cBGucAJauB3rVXeOoaXu6pXps/q9hAW7WbaBkZ3QNQiw8AcDNlNpsKMH/lJroM LhkBpaDd4bYtAdbrzFOMYXoWNiAhjIdhRLbKOPZOSbWjLPZ2+6cdeOPiR3vZAn+ylj 6oq8SWHxY09AoAxVe3CLanR8sfuqqE1WFZiE6HlCaJTM6k6DTfcZQ14lfcq6u8NjEA fI1uggT9TmX2A==
To: Netconf <netconf@ietf.org>
From: Jernej Tuljak <jernej.tuljak@mg-soft.si>
Message-ID: <6b520a21-02a7-a41e-caac-fe8dc38a1a9d@mg-soft.si>
Date: Wed, 12 May 2021 11:18:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/9ZHhYJsV42VMdsTzI6HWt_3zPeI>
Subject: [netconf] YANG Library 1.1: a deviation module may exist without a module entry?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 12 May 2021 09:18:56 -0000


is there a particular reason for the deviation leaf-list in 
ietf-yang-library@2019-01-04 not having require-instance true for its 
leafref path, therefore allowing servers to report "incomplete" module 
sets/schemas to the client?

      grouping module-implementation-parameters {
          "Parameters for describing the implementation of a module.";
        leaf-list feature {
          type yang:yang-identifier;
            "List of all YANG feature names from this module that are
             supported by the server, regardless whether they are defined
             in the module or any included submodule.";
        leaf-list deviation {
          type leafref {
            path "../../module/name";

            "List of all YANG deviation modules used by this server to
             modify the conformance of the module associated with this
             entry.  Note that the same module can be used for deviations
             for multiple modules, so the same entry MAY appear within
             multiple 'module' entries.

             This reference MUST NOT (directly or indirectly)
             refer to the module being deviated.

             Robust clients may want to make sure that they handle a
             situation where a module deviates itself (directly or
             indirectly) gracefully.";

Why are deviation modules allowed to exist without a module entry within 
YANG Library instances? Why would a server choose to withhold namespace 
information for a deviation module?