Re: [NGO] NETCONF-related sessions at IETF 70

Martin Bjorklund <mbj@tail-f.com> Tue, 27 November 2007 10:35 UTC

Return-path: <ngo-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IwxnC-0003nS-KR; Tue, 27 Nov 2007 05:35:50 -0500
Received: from ngo by megatron.ietf.org with local (Exim 4.43) id 1IwxnB-0003nD-Mv for ngo-confirm+ok@megatron.ietf.org; Tue, 27 Nov 2007 05:35:49 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IwxnB-0003mv-Bn for ngo@ietf.org; Tue, 27 Nov 2007 05:35:49 -0500
Received: from [213.180.94.162] (helo=mail.tail-f.com) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1IwxnA-0000HY-OW for ngo@ietf.org; Tue, 27 Nov 2007 05:35:49 -0500
Received: from localhost (138.162.241.83.in-addr.dgcsystems.net [83.241.162.138]) by mail.tail-f.com (Postfix) with ESMTP id 416861B80C3; Tue, 27 Nov 2007 11:35:47 +0100 (CET)
Date: Tue, 27 Nov 2007 11:36:51 +0100
Message-Id: <20071127.113651.89794928.mbj@tail-f.com>
To: jad@jadickinson.co.uk
Subject: Re: [NGO] NETCONF-related sessions at IETF 70
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <8C1259C3-737F-4E9C-8585-1D10E0162368@jadickinson.co.uk>
References: <200711260521.lAQ5LWaq008411@idle.juniper.net> <8C1259C3-737F-4E9C-8585-1D10E0162368@jadickinson.co.uk>
X-Mailer: Mew version 5.1.51 on Emacs 22.1 / Mule 5.0 (SAKAKI)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.1 (/)
X-Scan-Signature: d0bdc596f8dd1c226c458f0b4df27a88
Cc: ngo@ietf.org, netconf@ops.ietf.org
X-BeenThere: ngo@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: NETCONF Goes On - discussions on future work and extensions to NETCONF <ngo.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ngo>, <mailto:ngo-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/ngo>
List-Post: <mailto:ngo@ietf.org>
List-Help: <mailto:ngo-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ngo>, <mailto:ngo-request@ietf.org?subject=subscribe>
Errors-To: ngo-bounces@ietf.org

Hi John,

John Dickinson <jad@jadickinson.co.uk> wrote:
> There has, for example, been some discussion in the dnsop WG about  
> developing a protocol for configuring and controlling nameservers (http://tools.ietf.org/wg/dnsop/minutes?item=minutes69.html 
> ) and I am one of the authors of a draft (http://www.ietf.org/internet-drafts/draft-arends-nscp-00.txt 
> ) that suggests using NETCONF.
> 
> The biggest issue for me in choosing NETCONF was and is to be sure I  
> am using NETCONF appropriately and that it really is the correct  
> solution to my problem.

I have read your draft and I do believe (and hope!) that NETCONF is
a good solution to this problem.

> I am currently looking at such things as, what  
> would be an appropriate data model, how to correctly use capabilities  
> and how to engineer things that are not strictly configuration, such  
> as control commands, monitoring and statistics gathering.

In your draft you also listed:

  Be extensible to allow implementors to extend to cover new objects
  and methods.

Maybe not suprising, but these are exactly the problems that YANG is
designed to help you with.

To be more specific, with YANG, you can write a standard data model
with the the (most) common configuration parameters.  Vendors can then
augment this standard data model with vendor-specific config params.

As an example (NOTE: I don't know what parameters actually would make
sense, this is just an example):

  container server {
      container panorama {
          list view {
              key view-name;
              leaf-list match-client { type inet:ip-prefix; }
              leaf recursion         { type boolean; }
              ...
          }
      }
  }
 
Then vendor X can add its own proprietary stuff:

   augment /dns:server/dns:panorama/dns:view {
       leaf funky-cache-option { ... }
       ...
   }

And in the NETCONF XML you might see:

   <server>
     <panorama>
       <view>
         <view-name>mybiew</view-name>
         <match-client>192.168.23.0/24</match-client>
         <match-client>172.16.30.0/16</match-client>
         <recursion>true</recursion>
         <x:funky-cache-option>magic</x:funky-cache-option>
       </view>
     </panorama>
   </server>

The same goes for commands (rpcs).  You can define standard rpc, and
vendors can e.g. add new rpcs, or augment the standard rpcs.


/martin


_______________________________________________
NGO mailing list
NGO@ietf.org
https://www1.ietf.org/mailman/listinfo/ngo