Subject: [Netconf] NETCONF message serialization

From: Alan Luchuk <[email-masked]>
Date: Wed, 25 Apr 2012 16:01:35 -0400 (EDT)

Hello,

On Mon, 23 Apr 2012, Andy Bierman wrote:

AB>I don't think NETCONF provides any atomicity across sessions.
AB>Messages within a session are serialized but not across multiple sessions.

Where is this behavior specified?  RFC 6241 Section 4.5 says:

4.5.  Pipelining

   NETCONF <rpc> requests MUST be processed serially by the managed
   device.  Additional <rpc> requests MAY be sent before previous ones
   have been completed.  The managed device MUST send responses only in
   the order the requests were received.

I interpret section 4.5 as "all messages (from all sessions) must be 
serialized."  Have I missed a clarification specified somewhere else?

Regards,
--Alan

 ------------------------------------------------------------------------------
 Alan Luchuk               SNMP Research, Inc.          Voice:  +1 865 573 1434
 Senior Software Engineer  3001 Kimberlin Heights Road  FAX:    +1 865 573 9197
 [email-masked]           Knoxville, TN  37920-9716    http://www.snmp.com/
 ------------------------------------------------------------------------------

---

From: Andy Bierman <[email-masked]>
Date: Wed, 25 Apr 2012 13:19:23 -0700

On 04/25/2012 01:01 PM, Alan Luchuk wrote:
>     NETCONF<rpc>  requests MUST be processed serially by the managed
>     device.  Additional<rpc>  requests MAY be sent before previous ones

I thought there was text that this serialization was just within a single session.
I remember that was the intent of the co-authors.

Imagine if one session is doing a <get> of the entire device over a slow link.
The server is supposed to lock out all other sessions until that RPC is done?
I hope not.  That does not scale well.  I think Sec. 4 refers to <rpc> within a single session.

There is also the possibility that the datastore is altered from some other
protocol than NETCONF, in which case this serialization rule does not apply at all.

> --Alan

Andy

---

From: Kent Watsen <[email-masked]>
Date: Wed, 25 Apr 2012 13:24:04 -0700

> I thought there was text that this serialization was just within a single session.

Agreed.  This is how it was intended, and how we implemented it...

K.

---

From: Martin Bjorklund <[email-masked]>
Date: Wed, 25 Apr 2012 22:44:30 +0200 (CEST)

> Agreed.  This is how it was intended, and how we implemented it...

Same here.  It would be pretty bad if one time-consuming rpc would
lock out any other session trying to read a single state leaf, for
example.

/martin