[netconf] reverting back to feature statements with boolean expressions

Kent Watsen <kent+ietf@watsen.net> Mon, 29 April 2019 00:02 UTC

Return-Path: <0100016a66666e21-ee25fda4-4886-46e1-b4b4-b150b8412805-000000@amazonses.watsen.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 98C1F120131 for <netconf@ietfa.amsl.com>; Sun, 28 Apr 2019 17:02:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com
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 wnguPbk62kAK for <netconf@ietfa.amsl.com>; Sun, 28 Apr 2019 17:02:33 -0700 (PDT)
Received: from a8-88.smtp-out.amazonses.com (a8-88.smtp-out.amazonses.com [54.240.8.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 714B9120122 for <netconf@ietf.org>; Sun, 28 Apr 2019 17:02:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw; d=amazonses.com; t=1556496150; h=From:Content-Type:Mime-Version:Subject:Message-Id:Date:To:Feedback-ID; bh=00VinLpdXb7OlruNEW7/xjvQQUqz4PftdBvweRVkTm8=; b=F0mK0bibVG9iVHxWkV8cTawYs04ZPWHXDAu7WE+6vcNUwOqGG8Gd85CNuRwsjTla 0dzc/dz8pBJ2jN3NBfQStvb24ZGBixwHMp7QrK9z63fuNrmsrdZm70OfxuO9EvxzNxt jqJ4nVXJJoE4VUz6iciT/v+OpkSopPYDgh/oZ4mA=
From: Kent Watsen <kent+ietf@watsen.net>
Content-Type: multipart/alternative; boundary="Apple-Mail=_8076C19B-71AD-4747-B62B-2ED5EEBE2586"
Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\))
Message-ID: <0100016a66666e21-ee25fda4-4886-46e1-b4b4-b150b8412805-000000@email.amazonses.com>
Date: Mon, 29 Apr 2019 00:02:30 +0000
To: "netconf@ietf.org" <netconf@ietf.org>
X-Mailer: Apple Mail (2.3445.102.3)
X-SES-Outgoing: 2019.04.29-54.240.8.88
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Z2b2T7PhIbycqAX4eZDrRPA3mzw>
Subject: [netconf] reverting back to feature statements with boolean expressions
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: Mon, 29 Apr 2019 00:02:36 -0000

The netconf-client-server and restconf-client-server drafts define top-level features ("initiate", "listen", and "call home"), under which there are fine-grained if-feature statements (e.g. "ssh-listen", tis-listen", ssh-call-home, tls-call-home, etc.).

These can be seen in the following tree diagrams:

  netconf-client-server:
    - https://tools.ietf.org/html/draft-ietf-netconf-netconf-client-server-11#section-3.1 <https://tools.ietf.org/html/draft-ietf-netconf-netconf-client-server-11#section-3.1>
    - https://tools.ietf.org/html/draft-ietf-netconf-netconf-client-server-11#section-4.1 <https://tools.ietf.org/html/draft-ietf-netconf-netconf-client-server-11#section-4.1>

  restconf-client-server:
    - https://tools.ietf.org/html/draft-ietf-netconf-restconf-client-server-11#section-2.1 <https://tools.ietf.org/html/draft-ietf-netconf-restconf-client-server-11#section-2.1>
    - https://tools.ietf.org/html/draft-ietf-netconf-restconf-client-server-11#section-3.1 <https://tools.ietf.org/html/draft-ietf-netconf-restconf-client-server-11#section-3.1>


This begs the question, why aren't these drafts using "if-feature" statements with boolean expression, as this was the use case for adding them to RFC 7950: https://tools.ietf.org/html/rfc7950#section-7.20.2.1 <https://tools.ietf.org/html/rfc7950#section-7.20.2.1>.

We originally had the boolean expressions, but reverted them because (I think) tools (pyang, yanglint, etc.) didn't understand them.  

I just switched the "if-feature" statements back to their original forms using boolean expressions (i.e. if-feature "listen"  --->  if-feature "ssh-listen or tls-listen") and all the tooling seems to work.

Thusly, I propose to make this change permanent.  Unless there are any objections raised, this change will be in the next published update.

Kent // contributor