Re: [netmod] if-feature vs. Identifiers and Their Namespaces

Robert Varga <nite@hq.sk> Tue, 07 August 2018 14:05 UTC

Return-Path: <nite@hq.sk>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BB1AA130FE8 for <netmod@ietfa.amsl.com>; Tue, 7 Aug 2018 07:05:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=hq.sk
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 LR5OX2MSKuTY for <netmod@ietfa.amsl.com>; Tue, 7 Aug 2018 07:05:21 -0700 (PDT)
Received: from mail.hq.sk (hq.sk [81.89.59.181]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 96823130EED for <netmod@ietf.org>; Tue, 7 Aug 2018 07:05:20 -0700 (PDT)
Received: from nitebug.localdomain (unknown [46.229.239.158]) by mail.hq.sk (Postfix) with ESMTPSA id AD21C241A05; Tue, 7 Aug 2018 16:05:18 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hq.sk; s=mail; t=1533650718; bh=ONjbP/Ru10PktJowUcdxa90y+a9LfcQwAWaU1E0s+GQ=; h=Subject:To:Cc:References:From:Date:In-Reply-To; b=KNXaYBZ4/jq8HuncXciI6BHiYlTqdQ+fwLF8tJVS69eDTGcf4U8hMPlOmqc+ytK3C xJlh/3Rv+hWzf6R8nwut+S5G1G9RXkb+4qiKqmY8cEeMLhX/tSqbyhrDS4OmC06Cjc AyOoOoIO6IrtX7klKBZJD3nHDwQmb3aQ3eWQfk4Q=
To: Martin Bjorklund <mbj@tail-f.com>
Cc: netmod@ietf.org
References: <357fbf04-0092-93f4-1cb1-f8e27cf639c2@hq.sk> <20180805.133206.1339559704042694800.mbj@tail-f.com>
From: Robert Varga <nite@hq.sk>
Openpgp: preference=signencrypt
Message-ID: <7e4fecc8-9556-4fc2-e9da-2be24fa80c6d@hq.sk>
Date: Tue, 07 Aug 2018 16:05:11 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <20180805.133206.1339559704042694800.mbj@tail-f.com>
Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="jw19bWMHYQdQc5bMv7SK9cik2bo4CWfoD"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/DbuZ9mUsicxm7te-aR8vBQdpjjU>
Subject: Re: [netmod] if-feature vs. Identifiers and Their Namespaces
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.27
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 07 Aug 2018 14:05:23 -0000

On 05/08/18 13:32, Martin Bjorklund wrote:
> Robert Varga <nite@hq.sk> wrote:
>> Hello,
>>
>> I have went through RFC7950, but I cannot find the text which would give
>> answer whether:
>>
>> feature foo;
>> feature bar;
>>
>> container baz {
>>    if-feature "foo and (not baz)";
>> }
>>
>> list baz {
>>    if-feature "(not foo) and baz";
>> }
>>
>> is valid YANG or not. The two statements violate Section 6.1.2, but they
>> are mutually exlusive when conformance comes into play.

Hello Martin,

thanks for your reply.

> I think you mean 6.2.1.  You are right; these two statements violate
> 6.2.1 and this is thus not legal.
> 
> Consider what this would mean in the model above:
> 
>   augement /baz {
>     ...
>   }

This is precisely what I considered and in the specific case of list vs.
container, both being mutually exclusive, I have not found a case which
would break down.

>> Does compliance (Section 5.6) have any bearing on namespaces (Section
>> 6.1.2)?
> 
> Section 5.6 is about server conformance, and the first sentence is:
> 
>    Conformance to a model is a measure of how accurately a server
>    follows the model.
> 
> Namespaces are not related to how accurately a server follows a model.

My mistake for not being quite clear. In this context both the list and
container are optional to implement and cannot, obviously, be
implemented at the same time.

That having been said, I much prefer this being invalid YANG to needing
to support it -- just because it keeps my implementation simple :)

Regards,
Robert