Re: [Netconf] mbj's WGLC comments on subscribed-notifications-10

"Eric Voit (evoit)" <evoit@cisco.com> Fri, 16 March 2018 13:16 UTC

Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4789212706D for <netconf@ietfa.amsl.com>; Fri, 16 Mar 2018 06:16:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.531
X-Spam-Level:
X-Spam-Status: No, score=-14.531 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 67IgWUzKu_ll for <netconf@ietfa.amsl.com>; Fri, 16 Mar 2018 06:16:34 -0700 (PDT)
Received: from rcdn-iport-6.cisco.com (rcdn-iport-6.cisco.com [173.37.86.77]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0EE661241F3 for <netconf@ietf.org>; Fri, 16 Mar 2018 06:16:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=25117; q=dns/txt; s=iport; t=1521206193; x=1522415793; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=grlkN+MDy/3vnoWXlzUTEgHcg2fIkGaJP+CdView7HE=; b=M9KD6T6a59mPkpg8Ep2BG6zxowJyi/+uVXgw1N67pv7PZfkGR12+gdA4 pDcR8QOAB56+UhU5ruGYu9SU9HxVqNMbgwNb4RSzWGtvrnitb/7sZBwX+ WSX73wGyTpiVRB4xecCle11JOHsxknrtwymsISrye5yFu1B7BN+Efvp46 k=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AvAQCDwqta/4YNJK1VAgcZAQEBAQEBAQEBAQEBBwEBAQEBg1BkcSgKjW2Nd4IDgRaTexSBfgoYDYQeTQKDNCE0GAECAQEBAQEBAmsohSUBAQEDAQEBGCA0CQIFCwIBCA4KDREQJwslAgQOBQgThHUID7IHiGKCBQWFLoIUgVSBVIIYgQiDHgEBAoEwChIBAQOFfAOHNAeEboEug0qHBwkChgSCZYY5gVeGbmqEB4kvhloCERMBgSkBHjiBUnAVOoJDkG10jGYqgQeBGAEBAQ
X-IronPort-AV: E=Sophos;i="5.48,315,1517875200"; d="scan'208";a="368659837"
Received: from alln-core-12.cisco.com ([173.36.13.134]) by rcdn-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Mar 2018 13:16:31 +0000
Received: from XCH-RTP-014.cisco.com (xch-rtp-014.cisco.com [64.101.220.154]) by alln-core-12.cisco.com (8.14.5/8.14.5) with ESMTP id w2GDGV66002490 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 16 Mar 2018 13:16:31 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-014.cisco.com (64.101.220.154) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Fri, 16 Mar 2018 09:16:30 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1320.000; Fri, 16 Mar 2018 09:16:30 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] mbj's WGLC comments on subscribed-notifications-10
Thread-Index: AQHTvSL4HCeKzDJPg0iaZdP6MAmKaKPS0Sog
Date: Fri, 16 Mar 2018 13:16:30 +0000
Message-ID: <da2fdfe2f2da4a96a2e9d4797cd03ce8@XCH-RTP-013.cisco.com>
References: <20180315.101146.1606096356347320501.mbj@tail-f.com> <20180316.133303.756381059463348730.mbj@tail-f.com>
In-Reply-To: <20180316.133303.756381059463348730.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/kqwv_VVAX9qep2z5elJwAeHk8k4>
Subject: Re: [Netconf] mbj's WGLC comments on subscribed-notifications-10
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/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: Fri, 16 Mar 2018 13:16:37 -0000

> Martin Bjorklund, March 16, 2018 8:33 AM
>
> Hi,
> 
> While reviewing the other drafts, I found another bug in this document.  The
> "establish-subscription" rpc is supposed to return the subscription id in the
> reply, but the rpc doesn't have any output defined in the YANG model
> (interestingly, it is present in the tree diagram).

Sigh.  I need find better tooling.  I have too much manual stuff right now.   Perhaps someone has documented / is maintaining a continuous integration environment somewhere?   

This particular issue is fixed.  The YANG file if you want it for testing is at
https://github.com/netconf-wg/rfc5277bis/blob/master/ietf-subscribed-notifications%402018-03-16.yang 

Look for responses to your other comments later today.

Eric

> /martin
> 
> 
> Martin Bjorklund <mbj@tail-f.com> wrote:
> > Hi,
> >
> > Here are my WGLC comments on
> > draft-ietf-netconf-subscribed-notifications-10.
> >
> > In general, I think ths document has improved a lot, it is now easier
> > to follow.
> >
> >
> >
> > Major issue
> > -----------
> >
> > o  list receiver
> >
> >    In the YANG model, the "receiver" list is indexed by ip and port.
> >
> >    How is the server supposed to use this simple list of ip/port?
> >
> >    We get a hint from the document in 2.5.2:
> >
> >      transport specific
> >      call-home operations will be used to establish the connection
> >
> >    But it is not clear that this list of ip/port helps.  The document
> >    draft-ietf-netconf-netconf-client-server provides configuration for
> >    call home for NETCONF.  In that document, the receiver is
> >    identified with a "netconf-client" name and an "endpoint" name, not
> >    ip/port. (draft-ietf-netconf-restconf-client-server has a similar
> >    structure for RESTCONF).
> >
> >    The best solution would have been to have leafrefs to these
> >    datamodels, but if we do that now, it would introduce a delay b/c
> >    of the dependency.
> >
> >    The second best solution (I think) is to change this list to have
> >    just a "name" as the single key, and nothing else, and write that
> >    transport-specific modules can add to this in the future.
> >
> >    Once the client-server docs are ready, we need to revise some
> >    document to add the leafrefs in this list.
> >
> >    See also below about my comments about transport identities.  I
> >    think we should introduce a YANG module in both the
> >    transport-specific documents, that would define the transport
> >    identity, and augment the receiever list with the appropriate
> >    leafrefs to call home.
> >
> >
> > Other issues
> > ------------
> >
> > o  Section 1
> >
> >   Somewhere in section 1 you should add:
> >
> >     Tree diagrams used in this document follow the notation defined in
> >     [I-D.ietf-netmod-yang-tree-diagrams].
> >
> >   and add the reference.
> >
> >
> > o  Section 1.4
> >
> >   Should this section explain that this document is intended to be
> >   transport independent, whereas RFC 5277 was for NETCONF only?
> >
> >
> > o  Section 1.4
> >
> >   You write:
> >
> >    o  the data model in this document replaces the data model in
> >       [RFC5277].
> >
> >   Does this mean that in an implementation that supports both 5277 and
> >   this new document, the set of streams in the two data models are
> >   guaranteed to be equal?
> >
> >   I would assume that an implementation should be allowed to keep the
> >   5277 stuff as-is, and just add future streams to this new mechanism.
> >
> >
> > o  Section 1.4
> >
> >   I suggest you make the text a bit more explicit:
> >
> >   OLD:
> >
> >    o  the RPC operations in this draft replaces the symmetrical
> >       operations of [RFC5277], section 4.
> >
> >   NEW:
> >
> >    o  the RPC operations in this draft replaces the operation
> >       "create-subscription" defined in [RFC5277], section 4.
> >
> >
> > o  Section 1.4
> >
> >   I know that RFC 5277 uses the term "one-way operation" in a comment
> >   (but also the term "one-way message").  However, I suggest we align
> >   with the terminology of RFC 6241, and also make the text more
> >   explicit:
> >
> >   OLD:
> >
> >    o  the one way operation of [RFC5277] is still used.  However this
> >       operation will no longer be required with the availability of
> >       [I.D.draft-ietf-netconf-notification-messages].
> >
> >   NEW:
> >
> >    o  the <notification> message defined in [RFC5277] is still used.
> >       However this message will no longer be required with the
> >       availability of [I.D.draft-ietf-netconf-notification-messages].
> >
> >
> > o  Section 1.4
> >
> >   (editorial; quote the name of the stream)
> >
> >   OLD:
> >
> >    o  the definition and contents of the NETCONF stream are identical
> >       between this document and [RFC5277].
> >
> >   NEW:
> >
> >    o  the definition and contents of the "NETCONF" stream are identical
> >       between this document and [RFC5277].
> >
> >
> > o  Section 1.4
> >
> >   You write:
> >
> >    o  a publisher MAY implement both the data model and RPCs defined in
> >       [RFC5277] and this new document concurrently, in order to support
> >       old clients.  However the use of both alternatives on a single
> >       transport session is prohibited.
> >
> >   What exactly does the last sentence mean?  And why do you have this
> >   restriction?   This is just the Introduction, but I can't find any
> >   details about this restriction in the rest of the document.  I
> >   suggest you remove this last sentence.  If not, you should work out
> >   the details later in the doc, and add a reference to that new new
> >   text in section 1.4.
> >
> >
> > o  Section 2.1
> >
> >   (editorial; quote the name of the stream)
> >
> >   OLD:
> >
> >    There is only one reserved event stream within this document:
> >    NETCONF.  The NETCONF event stream contains all NETCONF XML event
> >    record information supported by the publisher, except for where it
> >    has been explicitly indicated that this the event record MUST be
> >    excluded from the NETCONF stream.  The NETCONF stream will include
> >    individual YANG notifications as per [RFC7950] section 7.16.  Each of
> >    these YANG notifications will be treated a distinct event record.
> >    Beyond the NETCONF stream, implementations are free to add additional
> >    event streams.
> >
> >   NEW:
> >
> >    There is only one reserved event stream within this document:
> >    "NETCONF".  The "NETCONF" event stream contains all NETCONF XML
> event
> >    record information supported by the publisher, except for where it
> >    has been explicitly indicated that this the event record MUST be
> >    excluded from the "NETCONF" stream.  The "NETCONF" stream will include
> >    individual YANG notifications as per [RFC7950] section 7.16.  Each of
> >    these YANG notifications will be treated a distinct event record.
> >    Beyond the "NETCONF" stream, implementations are free to add additional
> >    event streams.
> >
> >
> > o  Section 2.3
> >
> >   I think it would be useful to have "dscp" covered by a separate
> >   feature than "dependency" and "weighting".  The former is quite
> >   simple to implement, but the latter seems to require a very separate
> >   implementation; thus I think there should be two separate features.
> >
> >   Also, you write that dependency MUST work identically to 7540, but
> >   7540 defines an "exclusive dependency" that is not covered here.
> >   Maybe it is worth mentioning that this is excluded.
> >
> >
> > o  Section 2.4.1
> >
> >   Be explicit:
> >
> >   OLD:
> >
> >    o  Successful establish or modify RPCs put the subscription into an
> >       active state.
> >
> >    o  Failed modify RPCs will leave the subscription in its previous
> >       state, with no visible change to any streaming updates.
> >
> >    o  A delete or kill RPC will end the subscription.
> >
> >
> >   NEW:
> >
> >    o  Successful "establish-subscription" or "modify-subscription" RPCs
> >       put the subscription into the "active" state.
> >
> >    o  Failed "modify-subscription" RPCs will leave the subscription in
> >       its previous state, with no visible change to any streaming
> >       updates.
> >
> >    o  A "delete-subscription" or "kill-subscription" RPC will end the
> >       subscription.
> >
> >
> > o  Section 2.4.2
> >
> >   (editorial; you have a name for the "via RPC"-subscribtions; use
> >   that name)
> >
> >   OLD:
> >
> >    The "establish-subscription" operation allows a subscriber to request
> >    the creation of a subscription via RPC.
> >
> >   NEW:
> >
> >    The "establish-subscription" operation allows a subscriber to request
> >    the creation of a dynamic subscription.
> >
> >
> > o  Section 2.4.2
> >
> >   You write:
> >
> >    It MUST be possible to
> >    support multiple establish subscription RPC requests made within the
> >    same transport session.
> >
> >   I think you mean:
> >
> >    A server MUST support multiple "establish-subscription" requests
> >    made within the same transport session.
> >
> >
> > o  Section 2.4.2
> >
> >   You write:
> >
> >    And it MUST be possible to support the
> >    interleaving of RPC requests made on independent subscriptions.
> >
> >   I think you mean:
> >
> >    Additionally, a server MUST support interleaving of RPC requests
> >    with outgoing notification messages.
> >
> >
> > o  Section 2.4.2
> >
> >   (clarification)
> >
> >   OLD:
> >
> >    If the publisher can satisfy the "establish-subscription" request, it
> >    provides an identifier for the subscription, and immediately starts
> >    streaming notification messages.
> >
> >   NEW:
> >
> >    If the publisher can satisfy the "establish-subscription" request,
> >    it replies with an identifier for the subscription, and then
> >    immediately starts streaming notification messages.
> >
> >
> > o  Section 2.4.2.1
> >
> >   This is something I have commented on before (see the thread
> >   "Martin's thoughts on subscribed-notifications" from October 2017).
> >   I think there is one small change left to do:
> >
> >   OLD:
> >
> >    If a "stop-time" parameter is included, it MAY also be earlier than
> >    the current time and MUST be later than the "replay-start-time".  The
> >    publisher MUST NOT accept a "replay-start-time" for a future time.
> >
> >    If the "replay-start-time" is later than any information stored in
> >    the replay buffer, then the publisher MUST send a "replay-completed"
> >    notification immediately after the "subscription-started"
> >    notification.
> >
> >   NEW:
> >
> >    If a "stop-time" parameter is included, it MAY also be earlier than
> >    the current time and MUST be later than the "replay-start-time".
> >
> >    If the "replay-start-time" is later than any information stored in
> >    the replay buffer, then the publisher MUST send a "replay-completed"
> >    notification immediately after the "subscription-started"
> >    notification.
> >
> >
> > o  Section 2.4.2.1
> >
> >   (editorial clarification)
> >
> >   OLD:
> >
> >    To assess the availability of replay, subscribers can
> >    perform a get on "replay-log-creation-time" and "replay-log-aged-
> >    time".
> >
> >   NEW:
> >
> >    To assess the availability of replay, subscribers can
> >    read the leafs "replay-log-creation-time" and
> >    "replay-log-aged-time".
> >
> >
> > o  Section 2.4.3
> >
> >   ("via RPC" again)
> >
> >   OLD:
> >
> >    Dynamic subscriptions established via RPC can only be modified via
> >    RPC using the same transport session used to establish that
> >    subscription.
> >
> >   NEW:
> >
> >    Dynamic subscriptions can only be modified
> >    using the same transport session used to establish that
> >    subscription.
> >
> >
> > o  Section 2.4.3
> >
> >   (there is just *one* active state (I assume))
> >
> >   OLD:
> >
> >    (i.e., the modified subscription is returned to an active state.)
> >
> >   NEW:
> >
> >    (i.e., the modified subscription is returned to the "active"
> >    state.)
> >
> >
> > o  Section 2.4.5
> >
> >   (fix typo)
> >
> >   OLD:
> >
> >    by searching for the IP address of a receiver within
> >    "subscriptions\subscription\receivers\receiver\address".
> >
> >   NEW:
> >
> >    by searching for the IP address of a receiver within
> >    "/subscriptions/subscription/receivers/receiver/address".
> >
> >
> > o  Section 2.4.6
> >
> >   OLD:
> >
> >    1.  yang-data establish-subscription-error-stream: This MUST be
> >
> >    NEW:
> >
> >    1.  "establish-subscription-error-stream": This MUST be
> >
> >
> >    And same for the other two.
> >
> >    Also, I suggest you change the name to
> >    "establish-subscription-error".
> >
> >
> > o  Section 2.5.1
> >
> >   (explicitily name the states)
> >
> >   OLD:
> >
> >    subscription may also transition to a concluded state if a
> > configured
> >
> >   NEW:
> >
> >    subscription may also transition to the "concluded" state if a
> > configured
> >
> >
> >   OLD:
> >
> >    subscription, and is only relevant when the configured subscription
> >    itself is determined to be valid.
> >
> >   NEW:
> >
> >    subscription, and is only relevant when the configured subscription
> >    itself is in the "valid" state.
> >
> >   OLD:
> >
> >    When a subscription first becomes valid, the operational state of
> >    each receiver is initialized to connecting.  Individual receivers are
> >    moved to an active state when a "subscription-started" state change
> >    notification is successfully passed to that receiver.  Configured
> >    receivers remain active if transport connectivity is not lost, and
> >    event records are not being dropped due to a publisher buffer
> >    overflow.  A configured subscription's receiver MUST be moved to
> >    connecting if transport connectivity is lost, or if the receiver is
> >    reset via configuration operations.
> >
> >   NEW:
> >
> >    When a subscription first becomes valid, the "state" leaf of
> >    each receiver is initialized to "connecting".  Individual receivers are
> >    moved to the "active" state when a "subscription-started" state change
> >    notification is successfully passed to that receiver.  Configured
> >    receivers remain active if transport connectivity is not lost, and
> >    event records are not being dropped due to a publisher buffer
> >    overflow.  A configured subscription's receiver MUST be moved to the
> >    "connecting" state if transport connectivity is lost, or if the receiver is
> >    reset via configuration operations.
> >
> >   OLD:
> >
> >    A configured subscription's receiver MUST be moved to a suspended
> >    state if there is transport connectivity between the publisher and
> >    receiver, but notification messages are not being generated for that
> >    receiver.  A configured subscription receiver MUST be returned to an
> >    active state from the suspended state when notification messages are
> >    again being generated and a receiver has successfully been sent a
> >    "subscription-resumed" or a "subscription-modified".
> >
> >   NEW:
> >
> >    A configured subscription's receiver MUST be moved to the "suspended"
> >    state if there is transport connectivity between the publisher and
> >    receiver, but notification messages are not being generated for that
> >    receiver.  A configured subscription receiver MUST be returned to the
> >    "active" state from the "suspended" state when notification messages are
> >    again being generated and a receiver has successfully been sent a
> >    "subscription-resumed" or a "subscription-modified" notification.
> >
> >
> >
> > o  Section 2.5.1
> >
> >   You write:
> >
> >    A configured subscription's receiver MUST be moved to
> >    connecting if transport connectivity is lost, or if the receiver is
> >    reset via configuration operations.
> >
> >   What does "reset via configuration operations" mean?  I see an
> >   action called "reset", is that involved here?
> >
> >
> > o  Section 2.5.1
> >
> >   You write:
> >
> >    Suspended receivers will also be
> >    informed of the modification.  However this notification will await
> >    the end of the suspension for that receiver.
> >
> >   What does the last sentence mean here?  Maybe instead write
> >
> >    Suspended receivers will also be
> >    informed of the modification.  See Section 2.5.3 for details.
> >
> >
> > o  Section 2.5.1
> >
> >   OLD:
> >
> >    [I-D.ietf-netconf-yang-push] provides an example of such an
> >    extension.
> >
> >   NEW:
> >
> >    [I-D.ietf-netconf-yang-push] provides a definition of such an
> >    extension.
> >
> >   (it is not just an example...)
> >
> >
> > o  Section 2.5.3
> >
> >   If a suspended receiver exists, and the subscription is modified
> >   several times, does the server have to buffer all
> >   "subscription-modified" notifs?  I think this behavior should be
> >   clarified.
> >
> >
> > o  Section 2.5.5
> >
> >   Add text that explains that the "reset" action is used for this.
> >
> >
> > o  Section 2.6
> >
> >   ("via RPC" again)
> >
> >   OLD:
> >
> >    For dynamic subscriptions set up via RPC
> >    operations, notification messages are sent over the session used to
> >    establish the subscription.
> >
> >   NEW:
> >
> >    For dynamic subscriptions, notification messages are sent over the
> >    session used to establish the subscription.
> >
> >
> > o  Section 2.6
> >
> >   I can't parse this:
> >
> >    A subscription's events MUST NOT be sent to a receiver
> >    until after a corresponding RPC response or state-change notification
> >    has been passed receiver indicating that events should be expected.
> >
> >   Maybe you mean:
> >
> >    A subscription's events MUST NOT be sent to a receiver unless the
> >    receiver is in the "active" state.
> >
> >
> > o  Section 2.6
> >
> >   OLD:
> >
> >    This notification
> >    message MUST be encoded as one-way notification element of [RFC5277],
> >    Section 4.
> >
> >   NEW:
> >
> >    This notification
> >    message MUST be encoded in a <notification> message as defined in
> [RFC5277],
> >    Section 4.
> >
> >   OLD:
> >
> >    This [RFC5277] section 4 one-way operation has the drawback of not
> >    including useful header information such as a subscription
> >    identifier.
> >
> >   NEW:
> >
> >    The <notification> message defined in [RFC5277] section 4 has the
> >    drawback of not including useful header information such as a
> >    subscription identifier.
> >
> >
> > o  Section 2.7
> >
> >   Perhaps write that the subscription state notifications are not
> >   stored in replay buffers.
> >
> >
> > o  Section 2.7.1
> >
> >   The diagram doesn't quite fit.  Using the latest pyang like this:
> >
> >     $ pyang -f tree ietf-subscribed-notifications@2018-02-23.yang \
> >       --tree-line-length 69 --tree-path /subscription-started
> >
> >   gives you a tree that fits.
> >
> >   In general, I think you should re-generate all tree diagrams in the
> >   document, for example by using the latest pyang from github, so that
> >   they match the I-D.ietf-netmod-yang-tree-diagrams.
> >
> >   The RFC editor tries to check that the tree output is correct, so
> >   fixing this before sending the doc to the RFC editor helps.
> >
> >
> > o  Section 2.7.2
> >
> >   (clarififcation)
> >
> >   OLD:
> >
> >       A "subscription-modified" state
> >       change notifications MUST be sent if the contents of a filter
> >       identified by a "stream-filter-ref" has changed.
> >
> >   NEW:
> >
> >       A "subscription-modified" state change notification MUST be sent
> >       if the contents of the filter identified by the subscription's
> >       "stream-filter-ref" leaf has changed.
> >
> >
> > o  Section 2.7.4
> >
> >   You write:
> >
> >    The
> >    two conditions where is this possible are "insufficient-resources"
> >    and "unsupportable-volume".
> >
> >   What exactly is the difference between these two?  If I can't handle
> >   the volume I probably have insufficient resources?
> >
> >
> > o  Section 2.8
> >
> >   ("by RPC" again)
> >
> >   OLD:
> >
> >    Subscriptions that were established by RPC are removed from the list
> >    once they expire (reaching stop-time) or when they are terminated.
> >    Subscriptions that were established by configuration need to be
> >    deleted from the configuration by a configuration editing operation
> >    even if the stop time has been passed.
> >
> >   NEW:
> >
> >    Dynamic subscriptions are removed from the list
> >    once they expire (reaching stop-time) or when they are terminated.
> >    Configured subscriptions need to be
> >    deleted from the configuration by a configuration editing operation
> >    even if the stop time has been passed.
> >
> > o  Section 4
> >
> >   The module's description should contain the usual IETF boilerplate
> >   text.
> >
> >
> > o  subscription-terminated-reason
> >
> >       "Problem condition communicated to a receiver as part of absolute
> >       'subscription-terminated' notification. ";
> >
> >   What does the word "absolute" tell me?  Can it be removed?
> >
> >   (same for subscription-suspended-reason)
> >
> >
> > o  identity encodings
> >
> >   Shouldn't this be "encoding"?  It is just one singluar encoding,
> >   right?
> >
> >
> > o  identity encode-xml
> >
> >    Add "as described in RFC 7950."
> >
> >    and add a reference statement
> >
> >
> > o  identity encode-json
> >
> >    Add "as described in RFC 7951."
> >
> >    and add a reference statement
> >
> >
> > o  For the transport identities, add RFC editor notes to replace the
> >    draft strings.
> >
> >    For the http1.1 and http2 transport, you have listed these docs as
> >    "informative refererences".  I understand this; otherwise it would
> >    have been a downref, but it is really correct?   An alternative
> >    would be to specify the transport-specific identities in the
> >    transport-specific documents.
> >
> >
> > o  typedef stream-ref
> >
> >     description
> >       "This type is used to reference a system-provided datastream.";
> >
> >     What is a "datastream"?   This word occur twice in the document,
> >     w/o further explanation.
> >
> >
> > o    typedef stream-filter-ref {
> >
> >   OLD:
> >
> >       "This type is used to reference a configured stream filter.";
> >
> >   NEW:
> >
> >       "This type is used to reference a stream filter.";
> >
> >
> > o  list stream-filter
> >
> >    What happens if no filter-spec has been defined?
> >    Should the choice filter-spec be mandatory?
> >
> >
> > o  leaf protocol / encoding
> >
> >    Why is "protocol" only for the feature "configured", but "encoding"
> >    is not?
> >
> >
> > o  For all rpcs:
> >
> >    In order to make it clear to implementors what to do in the case of
> >    errors, add a paragraph to the description:
> >
> >      If an error occurs, the server replies with an 'rpc-error' where
> >      the 'error-info' field MAY contain an instantation of the
> >      'establish-subscription-error' structure.
> >
> >
> > o  The YANG module is inconsistently idented.  To get some help, you
> >    can use the latest version of pyang on github and run:
> >
> >      $ pyang -f yang --keep-comments \
> >          ietf-subscribed-notifications@2018-02-23.yang  > x
> >      $ diff ietf-subscribed-notifications@2018-02-23.yang x
> >
> >
> > o  Terminology issue.
> >
> >   I have reported this one before.  You use the terms "transport",
> >   "protocol", and "transport protocol" for the same thing.  I suggest
> >   you pick one.
> >
> >   For example, the leaf "protocol" has type "transport".
> >
> >   I think that the term "protocol" is supposed to mean a management
> >   protocol for YANG data, such as NETCONF or RESTCONF.
> >
> >   NETCONF can use two different transports, SSH and TLS.
> >
> >
> >
> > /martin
> >
> > _______________________________________________
> > Netconf mailing list
> > Netconf@ietf.org
> > https://www.ietf.org/mailman/listinfo/netconf
> >
> 
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf