NETCONF checkpoint

Eliot Lear lear at
Wed Dec 3 07:44:55 UTC 2003

[replies to either the netconf list if you are a member or to me, and I 
will forward them *directly* to the netconf list unless instructed NOT 
to do so.]

Dear NANOG folk,

The NETCONF working group of the IETF is currently developing a 
collection of protocol specifications for the configuration of network 
elements.  This work originated from a roadshow that many of us went on 
to learn what operators of different types want in such a protocol.  Now 
we would like to checkpoint with you on some of the contents of those 

What follows a highlight of two issues I believe are important to NANOG. 
  There are, however, many unresolved issues with NETCONF, some more 
important than others, that have been posted by the chair today to the 
netconf mailing list.  They can be viewed by going to

The working group solicits your opinion on as many of these issues as 
you care to comment on.

The protocol itself is split into two parts: an abstract set of 
functions, and a binding to specific protocols, including SSH, BEEP, and 
SOAP over HTTP(s).  Each protocol has its pluses and minuses.

As envisioned, the base protocol supports an option for notifications. 
The idea is that a manager would be notified of configuration-related 
events, such as a card insertion or removal, and act appropriately to 
configure the element.  The envisioned format of notifications is either 
reliable syslog from RFC 3195 or something similar.  Because 
notifications are asynchronous, one writes code that implements a 
dispatch mechanism that discriminates on the type of event. 
Notifications would be an option that not all managers would have to 

Our first question is whether or not you are interested in receiving 
such notifications?  Related, do you use such a mechanism today?

The working group is attempting to determine whether notifications 
should remain as part of the base specification.  Here are the choices 
facing the group:

Option A.  Leave them in as currently specified, and require all 
protocol mappings to support them.
Option B.  Allow them to be asynchronous, but don't use RFC 3195, and 
require all mappings to support them.
Option C.  Remove them entirely from the specification and let vendors 
implement RFC 3195 or other notification mechanisms as they see fit (for 
instance, existing syslog).

Do you have an opinion on which of these options you would like?

Related, the NETCONF base protocol currently makes use of the notion of 
channels.  Channels are a basic concept in the BEEP protocol, and they 
exist in SSH as well.  However, use of multiple channels in SSH is not 
supported in common SSH applications.  They are completely absent in 
HTTP, and so the notion of a session would have to be introduced in the 

Channels are a means of maintaining multiple communication streams
within a single session.  In NETCONF, there are three types of streams:
management, operations, and notifications.  Channels allow these 
different message types to be multiplexed within the same session 
without the need to interleave the messages in a way that preserves 
their integrity (e.g. valid XML instance documents).  NETCONF utilizes
channels to separate asynchronous messages (notifications or RPC 
progress reports) from normal operations, as well as separate high 
priority operations (RPC abort) from normal operations.

The working group has three choices:

Option A.  Keep channels in the base document and require each mapping 
to support them.
Option B.  Make channels optional.
Option C.  Remove channels from the base protocol and allow their use
            in the protocol bindings.

Which option do you prefer?

Again, these are important protocol issues that will affect your ability 
to build tools.  There are others.

If you would like to read the entire set of documents, you will find 
them by going to the NETCONF working group charter page:

If there is sufficient interest we will seek another BOF at Miami.

Thanks for your help,


More information about the NANOG mailing list