Re: [netmod] augment and if-feature

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Thu, 16 March 2017 10:04 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
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 56CE0127097 for <netmod@ietfa.amsl.com>; Thu, 16 Mar 2017 03:04:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.001] autolearn=ham autolearn_force=no
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 GvR8fSA-5gpf for <netmod@ietfa.amsl.com>; Thu, 16 Mar 2017 03:04:25 -0700 (PDT)
Received: from atlas3.jacobs-university.de (atlas3.jacobs-university.de [212.201.44.18]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0D463126DD9 for <netmod@ietf.org>; Thu, 16 Mar 2017 03:04:23 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id D8812131E; Thu, 16 Mar 2017 11:04:21 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.205]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id FzphUcW7qvEY; Thu, 16 Mar 2017 11:04:20 +0100 (CET)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas3.jacobs-university.de (Postfix) with ESMTPS; Thu, 16 Mar 2017 11:04:21 +0100 (CET)
Received: from localhost (demetrius4.jacobs-university.de [212.201.44.49]) by hermes.jacobs-university.de (Postfix) with ESMTP id 8C98820033; Thu, 16 Mar 2017 11:04:21 +0100 (CET)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius4.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id ZXT7U2s8b-5L; Thu, 16 Mar 2017 11:04:20 +0100 (CET)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id EB15D20038; Thu, 16 Mar 2017 11:04:20 +0100 (CET)
Received: by elstar.local (Postfix, from userid 501) id 594293EDBCC4; Thu, 16 Mar 2017 11:04:24 +0100 (CET)
Date: Thu, 16 Mar 2017 11:04:23 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Robert Wilton <rwilton@cisco.com>
Cc: netmod@ietf.org
Message-ID: <20170316100421.GA59698@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Robert Wilton <rwilton@cisco.com>, netmod@ietf.org
References: <877f3q2wje.fsf@hobgoblin.ariadne.com> <ef923b5e-8557-c6d3-8b10-e103cf8d38de@cisco.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <ef923b5e-8557-c6d3-8b10-e103cf8d38de@cisco.com>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/XtiZ-BNjQ038q9dmPRpLTqKRbcw>
Subject: Re: [netmod] augment and if-feature
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
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: Thu, 16 Mar 2017 10:04:27 -0000

On Thu, Mar 16, 2017 at 09:54:14AM +0000, Robert Wilton wrote:

> In short, I think that if-feature statements work better if they act on the
> given node and all descendant nodes, regardless of which module those
> descendants are defined in.

I think there is something important here. The augment does not really
make a difference. What seems to be the root of the issue is whether
an if-feature on say a container or list applies down the hierarchy.
RFC 7950 is not very specific about this. It only says:

   The "if-feature" statement makes its parent statement conditional.

Of course, if a container or list is conditional, then everything
inside will only exist if the feature is supported, so I think it is
reasonable to assume that the if-feature applies down the hierarchy
but this is not explicitly stated (but it seems to be the only
reasonable way to implement this). Anyway, once we have clarified
this, the augment behaviour falls out of this.

That said, as a service to readers, it might still be useful to repeat
the if-feature definition in augmenting modules but this would purely
be a service to the readers, not something that is required by the
language itself.

/js

-- 
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/>