Re: [NGO] external module properties

Phil Shafer <phil@juniper.net> Tue, 29 April 2008 23:12 UTC

Return-Path: <ngo-bounces@ietf.org>
X-Original-To: ngo-archive@optimus.ietf.org
Delivered-To: ietfarch-ngo-archive@core3.amsl.com
Received: from core3.amsl.com (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 0380B3A6AED; Tue, 29 Apr 2008 16:12:05 -0700 (PDT)
X-Original-To: ngo@core3.amsl.com
Delivered-To: ngo@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C66F63A6D1C for <ngo@core3.amsl.com>; Tue, 29 Apr 2008 16:11:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1m5XvXJYdrRT for <ngo@core3.amsl.com>; Tue, 29 Apr 2008 16:11:51 -0700 (PDT)
Received: from exprod7og104.obsmtp.com (exprod7og104.obsmtp.com [64.18.2.161]) by core3.amsl.com (Postfix) with ESMTP id 501DC3A68A2 for <ngo@ietf.org>; Tue, 29 Apr 2008 16:11:48 -0700 (PDT)
Received: from source ([66.129.224.36]) by exprod7ob104.postini.com ([64.18.6.12]) with SMTP; Tue, 29 Apr 2008 16:11:24 PDT
Received: from magenta.juniper.net ([172.17.27.123]) by emailsmtp56.jnpr.net with Microsoft SMTPSVC(6.0.3790.3959); Tue, 29 Apr 2008 16:04:16 -0700
Received: from idle.juniper.net (idleski.juniper.net [172.25.4.26]) by magenta.juniper.net (8.11.3/8.11.3) with ESMTP id m3TN4Fx39720; Tue, 29 Apr 2008 16:04:15 -0700 (PDT) (envelope-from phil@juniper.net)
Received: from idle.juniper.net (localhost [127.0.0.1]) by idle.juniper.net (8.13.8/8.13.8) with ESMTP id m3TN2cNc091682; Tue, 29 Apr 2008 23:02:38 GMT (envelope-from phil@idle.juniper.net)
Message-Id: <200804292302.m3TN2cNc091682@idle.juniper.net>
To: David Harrington <ietfdbh@comcast.net>
In-reply-to: <00d001c8aa2b$8b10d170$0600a8c0@china.huawei.com>
Date: Tue, 29 Apr 2008 19:02:37 -0400
From: Phil Shafer <phil@juniper.net>
X-OriginalArrivalTime: 29 Apr 2008 23:04:16.0153 (UTC) FILETIME=[58F23090:01C8AA4D]
Cc: 'NETCONF Goes On' <ngo@ietf.org>
Subject: Re: [NGO] external module properties
X-BeenThere: ngo@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: NETCONF Goes On - discussions on future work and extensions to NETCONF <ngo.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ngo>, <mailto:ngo-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/ngo>
List-Post: <mailto:ngo@ietf.org>
List-Help: <mailto:ngo-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ngo>, <mailto:ngo-request@ietf.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: ngo-bounces@ietf.org
Errors-To: ngo-bounces@ietf.org

"David Harrington" writes:
>Each of these components might support different revisions of the same
>module, depending on the vendor model and release.

I agree this is a thorny problem and one that will likely become
more commonplace.  I don't have a good answer, so here's a bad one ;^)

If you have instance-specific modules, you'd use "augments" to add
the new bits.  Something like:

     augments /interfaces/interface/unit {
         when "../type == 'sonet'";
         leaf new-stuff { ... }
     }

To support multiple revisions, you'd need something like
this in your hierarchy, like:

    augments whatever {
         when "../version > '2008-04-01'";
         ...
    }

Then netconf core component could handle the insertion (on output)
and checking (in input) of this version element.

Thanks,
 Phil
_______________________________________________
NGO mailing list
NGO@ietf.org
https://www.ietf.org/mailman/listinfo/ngo