Re: [Netconf] a joint discussion on dynamic subscription

Martin Bjorklund <> Thu, 14 June 2018 07:18 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 27D68130DF4 for <>; Thu, 14 Jun 2018 00:18:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id cDFPcDo5HidC for <>; Thu, 14 Jun 2018 00:18:32 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 1E2DB130DE4 for <>; Thu, 14 Jun 2018 00:18:32 -0700 (PDT)
Received: from localhost ( []) by (Postfix) with ESMTPSA id 3CB0C1AE0388; Thu, 14 Jun 2018 09:18:29 +0200 (CEST)
Date: Thu, 14 Jun 2018 09:18:28 +0200 (CEST)
Message-Id: <>
From: Martin Bjorklund <>
In-Reply-To: <>
References: <> <>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <>
Subject: Re: [Netconf] a joint discussion on dynamic subscription
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: Network Configuration WG mailing list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 14 Jun 2018 07:18:34 -0000


"Eric Voit (evoit)" <> wrote:
> Hi Tianran,
> > From: Tianran Zhou, June 12, 2018 11:47 PM
> > 
> > Hi Eric,
> > 
> > When we are discussing the draft-ietf-netconf-udp-pub-channel, we find
> > a
> > conflict with current dynamic subscription design.
> > 1. The dynamic subscription requires notification to use the same
> > channel as
> > the subscription.
> This is true when you look at the NETCONF transport draft.  However
> this is *not* required by the base subscribed-notification draft.  And
> in fact, the HTTP transport draft might not use the same logical
> channel.  E.g., see how the URI is returned within:
> So if you wanted to define some transport session independence for a
> UDP transport, subscribed-notifications should permit that.  And if
> you believe there is something in the text which prohibits this, let
> me know.

Cool!  I think that this should be explcitly described in the
subscribed-notifications document.

In the case of RESTCONF, decision to use a separate channel for the
notifs is implicit in the transport of the request to

In the case of UDP, I think the idea is that the
establish-subscription is sent over any protocol that can do RPCs
(NETCONF, RESTCONF, ...), but then some specific input parameter
informs the server that the notifs are supposed to be sent over some
other transport.

While reading the text about sessions, I found this:

In 2.4.3:

   The "modify-subscription" operation permits changing the terms of an
   existing dynamic subscription established on that transport session
   via "establish-subscription".

Which session does "that transport session" mean?  Perhaps simply:


   The "modify-subscription" operation permits changing the terms of an
   existing dynamic subscription.

> > 2. The RPC does not have the input information about the receiver
> > because the
> > above assumption.
> > 
> > However, when we talk about the distributed data collection (multi
> > data
> > originators), the publication channel is always different from the
> > subscription
> > channel.
> While it likely isn't what you want, even with NETCONF, the single
> NETCONF session doesn't means that distributed line card generation of
> the notification messages is impossible.  For example, the inclusion
> of the header object message-generator-id (as defined within
> draft-ietf-netconf-notification-messages) allows the notification
> message generation to be distributed onto linecards even if the
> messages themselves are still driven back to a central transport
> session.  Note that I am not recommending this, but the specifications
> would support this.
> > So either the distributed data collection does not support dynamic
> > subscription, or current dynamic subscription definition may need
> > modification.
> I think for UDP, you will want to define a way to bind the lifecycle
> of the dynamic subscription's channels across multiple line cards.
> This will require some thinking as well as coordination within the
> publisher.

But this is an implementation detail.  However, it is true that the
specification must work out the fate-sharing details between the
session that sent the establish-subscription and the notif channel.
Just as in the "restconf" draft.


> Perhaps returning multiple URIs (one for each linecard) might be
> something which could make this easier.  If you go down this path, you
> still will need to fate-share the lifecycle of the subscription across
> all of those line cards.
> Eric
> > What's your thoughts?
> > 
> > Regards,
> > Tianran