Re: [Netconf] [SPAM?] RE: LC on subscribed-notifications-10

Rohit R Ranade <> Sun, 18 March 2018 13:16 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E90FD12D0C3; Sun, 18 Mar 2018 06:16:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.662
X-Spam-Status: No, score=-3.662 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, INVALID_MSGID=0.568, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id h9zKj2xmaL5b; Sun, 18 Mar 2018 06:16:08 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 56B42129515; Sun, 18 Mar 2018 06:16:08 -0700 (PDT)
Received: from (unknown []) by Forcepoint Email with ESMTP id 30FD92321CD49; Sun, 18 Mar 2018 13:16:05 +0000 (GMT)
Received: from ( by ( with Microsoft SMTP Server (TLS) id 14.3.382.0; Sun, 18 Mar 2018 13:16:06 +0000
Received: from ([]) by ([]) with mapi id 14.03.0361.001; Sun, 18 Mar 2018 21:15:56 +0800
From: Rohit R Ranade <>
To: "" <>, 'Andy Bierman' <>, "'Eric Voit (evoit)'" <>
CC: "" <>, "" <>
Thread-Topic: [SPAM?] RE: [Netconf] LC on subscribed-notifications-10
Date: Sun, 18 Mar 2018 13:15:56 +0000
Message-ID: 90C5D721-F848-4A0A-B911-713BC3AD6254
References: <> <> <> <> <>, <> 6ADBF186-A27B-4180-9F31-6E83A709D685, <041f01d3be9f$c73a2370$55ae6a50$>
In-Reply-To: <041f01d3be9f$c73a2370$55ae6a50$>
Accept-Language: en-US
Content-Language: en-US
Content-Type: multipart/alternative; boundary="_000_90C5D721F8484A0AB911713BC3AD6254_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <>
Subject: Re: [Netconf] [SPAM?] RE: LC on subscribed-notifications-10
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 18 Mar 2018 13:16:11 -0000

Hi Alex,

1. If this is a push update specific point, the newly updated Nacm rfc need to mention this point specifically.
2. If a session had subcribed to multiple paths and it was ok, but another session added a deny rule for one of the path, are all subscriptions dropped ? how will user know what caused the termination.we may need to add to the subscription termination list
3. also when a nacm read-deny rule is configured, we may need to scan through all filters and terminate accordingly.. whether the nacm rfc can mention this point
To:Rohit R Ranade,'Andy Bierman','Eric Voit (evoit)',,,
Date:2018-03-18 15:29:20
Subject:RE: [SPAM?] RE: [Netconf] LC on subscribed-notifications-10

Hi Rohit,

Yes.  Conceptually, it is cleanest to apply the filter on the event contents with each update.  At the same time, in the interest of performance, Andy and others have raised the issue of performance penalty if every update has to be subjected to a filter.  One option is for an implementation to simply reject a subscription if there is a chance that it might contain information that would have to be filtered (i.e. do the NACM check at the time the subscription is created), and in case of NACM changes later that might affect subscriptions, to terminate the subscription (and let users resubscribe).

--- Alex

From: Rohit R Ranade <>
Sent: Saturday, March 17, 2018 9:59 PM
To: Andy Bierman <>; Eric Voit (evoit) <>
Subject: [SPAM?] RE: [Netconf] LC on subscribed-notifications-10

hi all,

If user has permission to read on parent but not child, and if user has subscription filter on parent, the user should be able to get changes on parent ONLY even if both parent and child were modified..
So I feel nacm rules need to be applied at the time of generating push updates..user should not get any updates if only child is updated.. this will be my expectation as an user..

From:Andy Bierman
To:Eric Voit (evoit),,,,
Date:2018-03-14 22:23:10
Subject:Re: [Netconf] LC on subscribed-notifications-10

On Wed, Mar 14, 2018 at 8:35 AM, Eric Voit (evoit) <<>> wrote:
(reducing to the single open item, and adding Andy + Alex to the "to")

> From: Martin Bjorklund, March 14, 2018 9:59 AM
> Hi,
> "Eric Voit (evoit)" <<>> wrote:
> > Hi Martin,
> >
> > But for
> > subscription to event streams, it is assumed that any event records
> > placed on a stream permitted for that receiver is authorized content
> > (just like RFC-5277).
> Hmm.  This is not how it is defined in RFC 5277:

Agree.   I should not have said "just like 5277".   More below.

>    After generation of the <notification> element, access control is
>    applied by the server.  If a session does not have permission to
>    receive the <notification>, then it is discarded for that session,
>    and processing of the internal event is completed for that session.
> Also, NACM is designed to drop notifications that the client doesn't have
> access to.

A few years ago during early discussions, Alex and I remember Andy asking that per receiver access control not be applied to traffic coming out of a stream.    We took that to mean that a receiver should get all the event records on a stream, without any per-notification filtering.  This is what drove the current text.

Per RFC-6536, section 3.4.6., the outgoing <notification> authorization is able to look at the notification event type, and if a receiver is authorized to receive the notification event type, then it is also authorized to receive any data it contains.

Reconsidering this, perhaps Alex and I interpreted Andy's intent wrong.  And Andy actually requested the current event type behavior which NACM can currently perform on the RFC-5277 NETCONF event stream, but no other filtering of event records beyond that.

I think the notification event type filtering is still applicable.

I remember some discussions about applying NACM to YANG Push subscriptions.
Of course the client needs permission to receive <push-update> events.
The issue for YP is that this is the only access control provided.

In order to support NACM for the contents of <push-update> events, the client
MUST have permission to read every data node specified in the filters for
a subscription. This is checked when the subscription is configured or activated.
If a filter-ref filter is changed so this is no longer true, then the server MUST
suspend or terminate the subscription.

IMO even this is quite an implementation burden, but less than having the
server check NACM rules for every descendant node of every edited node for every

If that is the case, and this capability is desired by the WG, Alex and I would be happy to replicate the relevant text from RFC-5277 section 3.2 to draft-ietf-netconf-subscribed-notifications to cover this.



> > Effects like this are why the two drafts, as well as the YANG model
> > targets and filters for datastores and to streams have been separated.
> >
> > > Your statement:
> > >
> > >   Access control is to the stream rather than the content.
> > >
> > > seems to imply that in order to subscribe to changes to the
> > > datastore, you need full access to all nodes covered by the filter.
> >
> > As a stream and a datastore are different, hopefully my comment above
> > clears this up.
> >
> > Eric
> > > /martin
> /martin