Subject: Re: [netconf] WGLC on draft-ietf-netconf-notification-messages? (Was Re: Configured receiver capability exchange)

From: Qin Wu <[email-masked]>
Date: Thu, 27 Feb 2020 13:24:25 +0000

Eric:
发件人: Eric Voit (evoit) [mailto:[email-masked]]
发送时间: 2020年2月26日 6:07
收件人: Qin Wu <[email-masked]>; Mahesh Jethanandani <[email-masked]>
抄送: [email-masked]
主题: RE: [netconf] WGLC on draft-ietf-netconf-notification-messages? (Was Re: Configured receiver capability exchange)

Hi Qin,

From: Qin Wu, February 24, 2020 6:33 AM
Eric:
I am wondering if a set of notification per message can be compressed before being bundled, if the answer is yes, I think data compression algorithm should be specified.
<eric> I hadn't planned that we would need to support per-YANG-Notification compression prior to bundling.  Can you articulate any requirements here?
[Qin]: You might use bundled message to carry some bytestream content or binary encoded data. So you may need to support gzip, deflat compression algorithms.
In addition, subscription mode or type (periodical, on change) can be included as well.
<eric> As period or on-change is known by the notification type enclosed,  i.e. <push-update> or <push-change-update>, this is already supported.
[Qin]: I know, but you know need to support other subscription types such as subscription that is combination of periodic subscription and on-change subscription, we can call adaptive subscription.
Eric

-Qin
发件人: Eric Voit (evoit) [mailto:[email-masked]]
发送时间: 2020年2月21日 21:51
收件人: Qin Wu <[email-masked]<mailto:[email-masked]>>; Mahesh Jethanandani <[email-masked]<mailto:[email-masked]>>
抄送: [email-masked]<mailto:[email-masked]>
主题: RE: [netconf] WGLC on draft-ietf-netconf-notification-messages? (Was Re: Configured receiver capability exchange)

Hi Qin,

If the WG wants it, I have no problem adding this leaf-list.  Good catch.

Beyond that, do you have examples of such transport specific objects?   Transported objects would be named within the notification itself.  And the prefix associated with the object should be mappable.

I believe it should be up to the receiver to correlate the prefix to the right model. And putting more into each notification would make for overhead.

Eric

From: Qin Wu, February 20, 2020 8:30 PM
Yes, what I like to see is to have a leaf-list of augmenting models.
If a set of specific transport objects within the model can be targeted, that will also be nice to have.

-Qin
发件人: Eric Voit (evoit) [mailto:[email-masked]]
发送时间: 2020年2月20日 0:07
收件人: Qin Wu <[email-masked]<mailto:[email-masked]>>; Mahesh Jethanandani <[email-masked]<mailto:[email-masked]>>
抄送: [email-masked]<mailto:[email-masked]>
主题: RE: [netconf] WGLC on draft-ietf-netconf-notification-messages? (Was Re: Configured receiver capability exchange)

Hi Qin,

The parameter "yang-module" is just identifying the YANG module which contains the definition of the encapsulated notification.  I.e., some reference to the transported objects is needed.

That said, the current solution doesn't provide a good solution when new objects are augmented into an existing notification.  So what you bring up is a valid concern.   Do you have suggestions on methods to handle more complex augmented notifications?  One possibility is to have a leaf-list of augmenting models.  Looking at the definitions of these models would allow extraction of the prefixes used.  There are more complex possibilities here, however each adds to the payload.   (It is not an accident that IPFIX has template records.)

Eric

From: Qin Wu <[email-masked]<mailto:[email-masked]>>
Sent: Thursday, February 13, 2020 5:09 AM
To: Mahesh Jethanandani <[email-masked]<mailto:[email-masked]>>; Eric Voit (evoit) <[email-masked]<mailto:[email-masked]>>
Cc: [email-masked]<mailto:[email-masked]>
Subject: RE: [netconf] WGLC on draft-ietf-netconf-notification-messages? (Was Re: Configured receiver capability exchange)

Eric:
Why structure message should tie to a single YANG data module with “yang-module” parameter, is this too restrictive?

-Qin
发件人: netconf [mailto:[email-masked]] 代表 Mahesh Jethanandani
发送时间: 2020年1月28日 8:19
收件人: Eric Voit (evoit) <[email-masked]<mailto:[email-masked]>>
抄送: [email-masked]<mailto:[email-masked]>
主题: [netconf] WGLC on draft-ietf-netconf-notification-messages? (Was Re: Configured receiver capability exchange)

Hi Eric,

This e-mail triggers two responses. Let us deal with draft-ietf-netconf-notification-messages here, and I will bring up comments/questions related to draft-ietf-netconf-https-notif in the other thread.

You have indicated a desire that receiver capabilities should be documented by the transport specific draft, e.g. draft-ietf-netconf-https-notif, and not this draft. As such you believe that the draft is ready.

To the WG, the authors have indicated a desire to wrap up this draft, and would like us, the chairs, to issue a WGLC on it. Before we do that, we wanted to ask if the WG believes that the document is ready, and that there are no more issues that need to discussed/addressed by draft-ietf-netconf-notification-messages document at this time.

Cheers.

Mahesh and Kent (as co-chairs).

On Jan 15, 2020, at 12:23 PM, Eric Voit (evoit) <[email-masked]<mailto:[email-masked]>> wrote:

Hi Mahesh,

During the IETF 106 session, there was discussion on how both a publisher might know if there is receiver support for draft-ietf-netconf-notification-messages<https://datatracker.ietf.org/doc/draft-ietf-netconf-notification-messages/?include_text=1>.  Section 6 highlights several of the considerations.   Relevant are the following:

(a) Remote device capability discovery from the point of view of the Publisher needs to be enhanced to know if the far end can interpret notification messages type beyond RFC-5277, Section 4.

(b) This capability discovery question is relevant for both configured subscription receivers and dynamic subscribers.

(c) The capability discovery question can be generalized beyond subscriptions, as there are many reasons to know the available capabilities of the far end.

(d) Capability discovery advertisement has traditionally been discussed within transport documents (e.g. RFC-6241 Section 8.1).

Based on (a)-(d), coming up with a transport independent point-solution within draft-ietf-netconf-notification-messages<https://datatracker.ietf.org/doc/draft-ietf-netconf-notification-messages/?include_text=1> *just* to discover this single element of client functionality seems overkill/heavyweight.

I was fine with letting this remote capabilities discovery question sit for a while.   However draft-ietf-netconf-https-notif<https://tools.ietf.org/html/draft-ietf-netconf-https-notif-01> shows that we now must address this question.  Specifically should the diagram section 1.4.1 show this capability exchange?

It turns out that independent of draft-ietf-netconf-notification-messages, there several questions in draft-ietf-netconf-https-notif which need to be answered prior to the section 1.4.1 arrow: "Send HTTPS POST message with YANG defined notification #1" anyway.  These questions are:
  (1) Does the targeted HTTPS receiver support configured subscriptions?
  (2) Can the targeted HTTP@ receiver accept a new subscription as described in a <subscription-started>?
Only if these questions are "yes", should the <subscription-started> be responded to with an "OK".

Add to this a third question driven from (a)-(d):
  (3) Does the receiver support the message type within "draft-ietf-netconf-notification-messages"?

A strawman way to handle the all three questions within draft-ietf-netconf-https-notif would be to respond to a <subscription-started> notification with an HTTP Status 202 (Accepted)" acknowledgement.  This 202 would include body elements listing supported receiver resources.  Maybe something YANG encoded via ietf-yang-structure-ext containing:

      <foo xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
        <capabilities>
          <capability>
            urn:ietf:params:xml:ns:yang:ietf-notification-messages:1.0
          </capability>
        </capabilities>
      </foo>

What do you think of this approach?

Eric

Mahesh Jethanandani
[email-masked]<mailto:[email-masked]>