[netmod] Y34

Ladislav Lhotka <lhotka@nic.cz> Mon, 20 July 2015 12:45 UTC

Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9D92B1A8740 for <netmod@ietfa.amsl.com>; Mon, 20 Jul 2015 05:45:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham
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 ls3EAELwsVLp for <netmod@ietfa.amsl.com>; Mon, 20 Jul 2015 05:45:14 -0700 (PDT)
Received: from trail.lhotka.name (trail.lhotka.name [77.48.224.143]) by ietfa.amsl.com (Postfix) with ESMTP id 1CCAD1A8700 for <netmod@ietf.org>; Mon, 20 Jul 2015 05:45:14 -0700 (PDT)
Received: from localhost (unknown [130.129.13.254]) by trail.lhotka.name (Postfix) with ESMTPSA id BA2181CC03EE for <netmod@ietf.org>; Mon, 20 Jul 2015 14:45:18 +0200 (CEST)
From: Ladislav Lhotka <lhotka@nic.cz>
To: netmod@ietf.org
User-Agent: Notmuch/0.20 (http://notmuchmail.org) Emacs/24.4.51.2 (x86_64-apple-darwin14.0.0)
Date: Mon, 20 Jul 2015 14:45:09 +0200
Message-ID: <m2d1zn0zhm.fsf@dhcp-hotel-wired-13-fe.meeting.ietf.org>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <http://mailarchive.ietf.org/arch/msg/netmod/QKXTfNvi_-Y20Cqy_k7HxmjyJj8>
Subject: [netmod] Y34
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.15
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: Mon, 20 Jul 2015 12:45:18 -0000

Hi,

after listening to the presentation of
draft-rtgyangdt-rtgwg-device-model-00 at RTGWG session, I am wondering
whether the solution chosen for Y34 is really useful.

The draft states they want to reuse ietf-interfaces but their tree in
fact is

   +--rw device
          +--rw info
          |  +--rw device-type?   enumeration
          +--rw hardware
          +--rw interfaces
          |  +--rw interface* [name]
          |     ...
          +--rw qos

So the "interfaces" container is no more a top-level node. There are
three possible options:

1. Change the ietf-interfaces module.
2. Replicate its contents in another module.
3. Extend YANG so that a *specific* schema tree can be grafted at a
   given data node.

IMO #1 & #2 are really bad. I thought Y34-04 was essentially #3 but it
seems it is not so because it doesn't specify a concrete data model
that's allowed at a given location.

On the other hand, the only real contribution of "anydata" over "anyxml"
is that is doesn't permit mixed content in XML, which is IMO not much.

I know Y34 was already closed but I think it is more important to do
things right before YANG 1.1 becomes an RFC.

What I want to propose is this:

- Rename "anydata" as a synonym to "anyxml", and deprecate "anyxml" (but
  keep it for backward compatibility).

- Introduce a new statement and data node type, e.g. "root", that will
  extend the schema tree starting from that data node with a precisely
  specified data model. The specification can be same or similar as
  in yang-library.

I believe there are other use cases in the existing modules. For
example, the ietf-routing module could simply define the data model for
a single routing instance (i.e. without "routing-instance" list at the
top), and it can be then used without changes on simple devices, and
more complex router implementations can graft it as a subtree under
"routing-instance", "networking-instance" or whatever.

Lada

-- 
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C