Subject: Re: [Netconf] yang-push issue: XPath filter

From: "Eric Voit (evoit)" <[email-masked]>
Date: Fri, 1 Dec 2017 14:47:10 +0000

Hi Andy,

From: Andy Bierman, November 30, 2017 7:56 PM

Hi,

In sec. 3.6:

   These filters are intended to be used as selectors that define which

   objects are within the scope of a subscription.  A publisher MUST

   support at least one type of selection filter.

This is inconsistent with NETCONF, where subtree filtering in mandatory-to-implement
and XPath filtering is optional (if-feature).

<Eric> We had some input from IoT people that Xpath and not subtree was preferred in their use cases and transport.

One way to address this would be to make subtree filtering mandatory when the transport is NETCONF, and place this requirement within
draft-ietf-netconf-netconf-event-notifications
would that work for you?

A client does not have any way to know what a
publisher will support.

<Eric> Subtree and xpath filtering are if-features defined within subscribed-notifications, and tagged within the filter types of yang-push.  I will add a note after:

A publisher MUST support at least one type of selection filter.

that:

A subscriber can determine available selection filter options by looking for “subtree” and “xpath” feature support within “ietf-subscribed-notifications”.

It would be better to follow NETCONF and add an if-feature to XPath, and declare
that subtree is mandatory.

Also, the example on pg 36 is wrong:

OLD:

       <yp:xpath-filter

            xmlns:ex="http://example.com/sample-data/1.0"

            select="/ex:foo"/>

NEW:

       <yp:xpath-filter

        xmlns:ex="http://example.com/sample-data/1.0">/ex:foo

       </yp:xpath-filter>

From the YANG module:

      leaf xpath-filter {

        type yang:xpath1.0;

        description

          "This parameter contains an XPath expression identifying the

          portions of the target datastore to retrieve.";

        reference "http://www.w3.org/TR/1999/REC-xpath-19991116";

      }

<Eric> Will fix, thanks!

Eric

Andy

---

From: Alexander Clemm <[email-masked]>
Date: Tue, 5 Dec 2017 20:24:45 +0000

Just coming back to this older thread as I am not sure we have closure:
Just to be clear, with XPath filtering we would look to select which nodes to update on.  However, we would not filter on node values.  Correct?

Regarding making subtree filtering from mandatory to conditional-mandatory, this would seem to make sense to me.  It arguably would also be one more step to disentangle data model and transport (or really, data model and support functions tied to specific transports).
--- Alex

From: Netconf [mailto:[email-masked]] On Behalf Of Eric Voit (evoit)
Sent: Friday, December 01, 2017 6:47 AM
To: Andy Bierman <[email-masked]>; Netconf <[email-masked]>
Subject: Re: [Netconf] yang-push issue: XPath filter

Hi Andy,

In sec. 3.6:

that:

OLD:

       <yp:xpath-filter

            select="/ex:foo"/>

NEW:

       <yp:xpath-filter

       </yp:xpath-filter>

From the YANG module:

      leaf xpath-filter {

        type yang:xpath1.0;

        description

      }

<Eric> Will fix, thanks!

Eric

Andy