Re: [Netconf] dynamic capabilities

Martin Bjorklund <mbj@tail-f.com> Wed, 15 April 2009 12:11 UTC

Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@core3.amsl.com
Delivered-To: netconf@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EFF403A6B12 for <netconf@core3.amsl.com>; Wed, 15 Apr 2009 05:11:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.984
X-Spam-Level:
X-Spam-Status: No, score=-1.984 tagged_above=-999 required=5 tests=[AWL=0.062, BAYES_00=-2.599, HELO_MISMATCH_COM=0.553]
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 5VAmY0KrIQpS for <netconf@core3.amsl.com>; Wed, 15 Apr 2009 05:11:07 -0700 (PDT)
Received: from mail.tail-f.com (de-0316.d.ipeer.se [213.180.79.212]) by core3.amsl.com (Postfix) with ESMTP id C662A3A6B18 for <netconf@ietf.org>; Wed, 15 Apr 2009 05:11:06 -0700 (PDT)
Received: from localhost (138.162.241.83.in-addr.dgcsystems.net [83.241.162.138]) by mail.tail-f.com (Postfix) with ESMTPSA id C3BDB616004; Wed, 15 Apr 2009 14:12:17 +0200 (CEST)
Date: Wed, 15 Apr 2009 14:12:17 +0200
Message-Id: <20090415.141217.59541259.mbj@tail-f.com>
To: balazs.lengyel@ericsson.com
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <49E44535.8000704@ericsson.com>
References: <20090407170549.GA29864@elstar.local> <20090414.081508.215323178.mbj@tail-f.com> <49E44535.8000704@ericsson.com>
X-Mailer: Mew version 6.0.51 on Emacs 22.2 / Mule 5.0 (SAKAKI)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Cc: netconf@ietf.org
Subject: Re: [Netconf] dynamic capabilities
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/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: Wed, 15 Apr 2009 12:11:08 -0000

Balazs Lengyel <balazs.lengyel@ericsson.com> wrote:
> 
> 
> Martin Bjorklund wrote:
> > Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote:
> >> I believe it depends on the nature of a given capability change
> >> whether this should cause a reaction in terms or an error state or can
> >> be ignored. And to keep implementation costs reasonable, I believe the
> >> server wants to decided based on the semantics of the capability
> >> change whether it (a) does nothing or (b) signals the capability
> >> change by throwing capability change errors. Having only certain
> >> affected operations fail seems like a lot of complexity on the server
> >> side which will likely no honored on the client side. 
> > Agreed.
> > 
> >> This actually sounds a little bit like the defaults debate; perhaps
> >> the answer is to let the client tell the server which behaviour the
> >> client wants...
> > I don't think we should use :with-default as a blueprint for other
> > capabilities, if we can avoid it... It adds complexity to the system
> > ("system" as in clients and servers).
> > In this particular case I hope we can find a simpler solution.  My
> > proposal is to specify the error 'capabilities-changed', but let the
> > server itself decide if it will issues it just for affected
> > operations, or for all operations.
> > 
> Sound nice to me. So is the following text what we are looking for:
> 
> The capabilities of a NETCONF server may change during a NETCONF session. If
> capabilities change, the server MAY answer any RPC request with a
> 'capabilities-changed' error message; except the <close-session>
> request. Unless the server can assure that the capability change does not
> affect a specific RPC request, it MUST answer the requests with a
> 'capabilities-changed' error message.

Hm.  IMO the point of sending 'capabilities-changed' error is because
we want to make sure that the announced capabilities does NOT change
in a session.  So I would rather see something like:

  The capabilities of a NETCONF server may change over time.  However,
  once a NETCONF server has announced its capabilities in the <hello>
  message, the capabilities for that session MUST NOT change.  A
  server MUST reply with a 'capabilities-changed' error if the client
  sends a request which is affected by a modified capability.

And maybe add:

  A server MAY choose to send 'capabilities-changed' as the response
  to any request other than <close-session> if its capabilities has
  changed.



/martin