Re: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

"Alexander Clemm (alex)" <alex@cisco.com> Mon, 13 July 2015 18:46 UTC

Return-Path: <alex@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7E41D1A8770 for <netconf@ietfa.amsl.com>; Mon, 13 Jul 2015 11:46:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level:
X-Spam-Status: No, score=-14.511 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, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 n3ZikjJJ7s3K for <netconf@ietfa.amsl.com>; Mon, 13 Jul 2015 11:46:18 -0700 (PDT)
Received: from alln-iport-1.cisco.com (alln-iport-1.cisco.com [173.37.142.88]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 82BE71A8746 for <netconf@ietf.org>; Mon, 13 Jul 2015 11:46:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=5444; q=dns/txt; s=iport; t=1436813178; x=1438022778; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=VlxuU6DAtUn56oFOB8NnTcJb4vG/M6I4QY6JNS1as84=; b=NjXU+uEsijl8SGmps1mpeVbR768UclKSF7E7SbVFrpypL02TViNENJV1 mZhVidhwG4MKG3FGUSdbOwuOYok3o+41PrYNXgGLZ7ir+yaBLzbgBOQai WWbsn9UIXmxJOCc0K6ThdD3JIg/pRETeFoptIJMtVvJ7C7lb0K/onWzxV A=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0ACBQCZBqRV/5xdJa1bgxNUaQa7RoFqCoUtSgKBPTkTAQEBAQEBAYEKhCMBAQEDAQEBATc0BAcFBwQCAQgRBAEBAQoCAREJBycLFAkIAgQBDQUIE4gLCA3LKgEBAQEBAQEBAQEBAQEBAQEBAQEBARMEi0yEVTEHBoMRgRQFlDEBh0aFfIQYiweELoNfJoIHgXRvgQYlHIEEAQEB
X-IronPort-AV: E=Sophos;i="5.15,464,1432598400"; d="scan'208";a="168287307"
Received: from rcdn-core-5.cisco.com ([173.37.93.156]) by alln-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 13 Jul 2015 18:46:17 +0000
Received: from xhc-rcd-x08.cisco.com (xhc-rcd-x08.cisco.com [173.37.183.82]) by rcdn-core-5.cisco.com (8.14.5/8.14.5) with ESMTP id t6DIkHaH010617 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Mon, 13 Jul 2015 18:46:17 GMT
Received: from xmb-rcd-x05.cisco.com ([169.254.15.132]) by xhc-rcd-x08.cisco.com ([173.37.183.82]) with mapi id 14.03.0195.001; Mon, 13 Jul 2015 13:46:17 -0500
From: "Alexander Clemm (alex)" <alex@cisco.com>
To: "Ambika Prasad Tripathy (ambtripa)" <ambtripa@cisco.com>, "Eric Voit (evoit)" <evoit@cisco.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Thread-Topic: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt
Thread-Index: AQHQuooz6Uik0pcfPUyNY2GdZIVzUZ3Uo0oAgABui4CAApCegIABf5xAgADEoID//9ZhYA==
Date: Mon, 13 Jul 2015 18:46:15 +0000
Message-ID: <DBC595ED2346914F9F81D17DD5C32B571DBE2CBE@xmb-rcd-x05.cisco.com>
References: <DBC595ED2346914F9F81D17DD5C32B571DBDB39F@xmb-rcd-x05.cisco.com> <EF64FF31F4C4384DBCE5D513A791C2B121B0515B@xmb-aln-x11.cisco.com> <20150710073019.GA3709@elstar.local> <EF64FF31F4C4384DBCE5D513A791C2B121B0543A@xmb-aln-x11.cisco.com> <3B675C3A8DF102408C754E30986E43CF110926B0@xmb-aln-x08.cisco.com> <DBC595ED2346914F9F81D17DD5C32B571DBE2420@xmb-rcd-x05.cisco.com> <3B675C3A8DF102408C754E30986E43CF11092DBB@xmb-aln-x08.cisco.com>
In-Reply-To: <3B675C3A8DF102408C754E30986E43CF11092DBB@xmb-aln-x08.cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.61.167.59]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/netconf/g8VPO2h-dkuXUUtGFB225o2kP_Q>
Cc: "netconf@ietf.org" <netconf@ietf.org>
Subject: Re: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.15
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: Mon, 13 Jul 2015 18:46:20 -0000

Hi Ambika,

maybe going at your questions in reverse order, from bottom to top:  

Filters and stream are different.  You subscribe to a stream.  You can apply a filter to that stream, which you specify as part of your subscription.  

You apply the filter to the update records that are part of the stream.  When a data item/update matches the filter condition, you let it pass, otherwise you discard it.  (I am not sure what you mean with validation.  If you specify a filter condition that doesn't match anything in the stream, you will simply not get many updates.)

"We can do the same stuff with filter."  I think here you are referring to custom datastreams.  Yes, indeed, custom datastreams are configured using the same parameters as filter conditions.  It is a convenience function.  There are a number of reasons why you may want to configure a custom datastream, instead of simply entering a subscription with corresponding filter condition to datastream push:  For one, if you have multiple subscribers that require the same informaiton, providing a custom datastream that evaluates a filter once and then pushes the same data to everyone may be more effective than having to evaluate the same filter condition multiple times.  Second, it makes subscriptions easier to provide - as a user, you don't need to articulate potentially complex filter conditions.  

--- Alex

-----Original Message-----
From: Ambika Prasad Tripathy (ambtripa) 
Sent: Monday, July 13, 2015 5:53 PM
To: Alexander Clemm (alex); Eric Voit (evoit); Juergen Schoenwaelder
Cc: netconf@ietf.org
Subject: RE: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

Hi Alex, Thanks.

It is clear about stream. But we can do the same stuff with filter. 

What is the difference between filter and stream is not clear? When I am subscribing to a stream, can I apply filters? If yes, then is the filter should be validated based on stream definition?

Cloud you please explain on filters of subscription and streams and relation?

Br,
Ambika

-----Original Message-----
From: Alexander Clemm (alex) 
Sent: Monday, July 13, 2015 2:19 AM
To: Ambika Prasad Tripathy (ambtripa); Eric Voit (evoit); Juergen Schoenwaelder
Cc: netconf@ietf.org
Subject: RE: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

Hi Ambika,

there is one conceptual stream that is predefined, datastore-push.  

One item for discussion concerns whether there should be other conceptual streams that are predefined:  specifically, one stream with all operational data (in effect, datastore-push with all config data removed) - e.g. "operational-push", and (potentiallly) one stream with all operational data minus counters (specifically for on-change subscriptions, which make little sense for ocunters).  While strictly speaking you could define filters on datastore-push instead, having a dedicated stream is more convenient as the articulation of a separate filter is more tedious and makes the mechanism harder to use.  

To let users define streams is strictly speaking not required, but makes for a "convenience function".  Among other things, again it saves subscribers from having to articulate filters, in particular if an administrator preconfigures corresponding streams.  

In any event, yes, the stream is a mandatory parameter.  You always subscribe to a stream (well, with datastore-push as a default, we can argue if it should therefore whether as a parameter it should be optional after all).  This is also one of the parameters that have  already introduced in RFC 5277 (create-subscription for notifications).  

Thanks
--- Alex

-----Original Message-----
From: Ambika Prasad Tripathy (ambtripa) 
Sent: Sunday, July 12, 2015 7:16 AM
To: Eric Voit (evoit); Juergen Schoenwaelder; Alexander Clemm (alex)
Cc: netconf@ietf.org
Subject: RE: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

Hi Alex/Eric,

Few doubts  

1) who will define streams? What is the practical use of it? Doesn't the filter will address the requirement?

2) If user is defining the streams, how to subscribe to the stream? Is stream is a mandatory parameter for subscription? 

Br,
Ambika Prasad Tripathy

-----Original Message-----
From: Netconf [mailto:netconf-bounces@ietf.org] On Behalf Of Eric Voit (evoit)
Sent: Friday, July 10, 2015 7:06 AM
To: Juergen Schoenwaelder
Cc: netconf@ietf.org
Subject: Re: [Netconf] New version for draft-clemm-netconf-yang-push-01.txt

> From: Juergen Schoenwaelder, July 10, 2015 3:30 AM
>
>> On Thu, Jul 09, 2015 at 08:59:52PM +0000, Eric Voit (evoit) wrote:
>> 
>>  (3) Are there filters which should be provided beyond RFC 5277 Subtree and Property Filters?
>>
>
> What is a 'Property Filter'?

RFC 5277 XPATH Filters for attribute match expressions is what I believe is achievable right now upon YANG objects.  But other PubSub  technologies like DDS (OMG) and MQTT (OASIS) can pass PubSub topic filters which are more flexible.  With this question I was hoping to leave space open for someone willing to argue for a solution here.

Eric

> /js

_______________________________________________
Netconf mailing list
Netconf@ietf.org
https://www.ietf.org/mailman/listinfo/netconf