Re: [Netconf] Clarification about subtree filter

Martin Bjorklund <mbj@tail-f.com> Thu, 31 May 2018 08:59 UTC

Return-Path: <mbj@tail-f.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 7E52512DA17 for <netconf@ietfa.amsl.com>; Thu, 31 May 2018 01:59:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 3DZF6t8kLZCi for <netconf@ietfa.amsl.com>; Thu, 31 May 2018 01:58:59 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id D0927124E15 for <netconf@ietf.org>; Thu, 31 May 2018 01:58:58 -0700 (PDT)
Received: from localhost (unknown [173.38.220.61]) by mail.tail-f.com (Postfix) with ESMTPSA id 202961AE027A; Thu, 31 May 2018 10:58:57 +0200 (CEST)
Date: Thu, 31 May 2018 10:58:56 +0200
Message-Id: <20180531.105856.1526290398091833019.mbj@tail-f.com>
To: pathori@gmail.com
Cc: netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <CAJtYN8Joj-MamSp8swDA5-WOR6-zdwXAqonSSpJbfNZArYS8Sw@mail.gmail.com>
References: <CAJtYN8K6YaZESGM5s4_b9+vDEsKFy=G890aaki2KJ2rW+ckKHA@mail.gmail.com> <20180530.082559.1524314498503473875.mbj@tail-f.com> <CAJtYN8Joj-MamSp8swDA5-WOR6-zdwXAqonSSpJbfNZArYS8Sw@mail.gmail.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/v3qN-CJB5tR_7gtDQD6XuIUrp9Y>
Subject: Re: [Netconf] Clarification about subtree filter
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: Thu, 31 May 2018 08:59:03 -0000

Shiva Kumar Pathori <pathori@gmail.com> wrote:
> So as per my understanding the xpath filter provided in the example should
> return empty data container.

Yes.


/martin


> 
> On Wed 30 May, 2018, 11:56 AM Martin Bjorklund, <mbj@tail-f.com> wrote:
> 
> > Hi,
> >
> > Shiva Kumar Pathori <pathori@gmail.com> wrote:
> > > Hi,  Sorry did not update subject line, It's updated now.
> > >
> > > On Wed 30 May, 2018, 2:53 AM , <netconf-request@ietf.org> wrote:
> > >
> > > > Send Netconf mailing list submissions to
> > > >         netconf@ietf.org
> > > >
> > > > To subscribe or unsubscribe via the World Wide Web, visit
> > > >         https://www.ietf.org/mailman/listinfo/netconf
> > > > or, via email, send a message with subject or body 'help' to
> > > >         netconf-request@ietf.org
> > > >
> > > > You can reach the person managing the list at
> > > >         netconf-owner@ietf.org
> > > >
> > > > When replying, please edit your Subject line so it is more specific
> > > > than "Re: Contents of Netconf digest..."
> > > >
> > > >
> > > > Today's Topics:
> > > >
> > > >    1. Re: Netconf Digest, Vol 123, Issue 43 (Shiva Kumar Pathori)
> > > >    2. How would RESTCONF access multiple datastores defined by NMDA
> > > >       (Henry Yu)
> > > >
> > > >
> > > > ----------------------------------------------------------------------
> > > >
> > > > Message: 1
> > > > Date: Wed, 30 May 2018 01:29:53 +0530
> > > > From: Shiva Kumar Pathori <pathori@gmail.com>
> > > > To: netconf@ietf.org
> > > > Subject: Re: [Netconf] Clarification about subtree filter
> > > > Message-ID:
> > > >         <
> > > > CAJtYN8LBOrmZqSJug5n80UdSuOit2rZW8jQaUzsjNPyvs6Q3RQ@mail.gmail.com>
> > > > Content-Type: text/plain; charset="utf-8"
> > > >
> > > > Hi,
> > > > What could be the reason for not including the "<full-name>" leaf in
> > the
> > > > reply?
> > > > I see the example in section 6.4.5 in RFC 6241 include the above
> > mentioned
> > > > leaf when a content match node present in the filter.
> >
> > The reason is that in your example, there is a selection node
> > ("company-info") which means that data from that node only is included
> > in the reply.  In 6.4.5 there is no selection node, which means that
> > all sibling nodes are selected.  Compare with the example in 6.4.6.
> >
> >
> > /martin
> >
> >
> > > >
> > > > BTW, the reply is same for the both xpath and subtree filter RPCs
> > mentioned
> > > > in the mail?
> > > >
> > > > On 29 May 2018 at 00:30, <netconf-request@ietf.org> wrote:
> > > >
> > > > > Send Netconf mailing list submissions to
> > > > >         netconf@ietf.org
> > > > >
> > > > > To subscribe or unsubscribe via the World Wide Web, visit
> > > > >         https://www.ietf.org/mailman/listinfo/netconf
> > > > > or, via email, send a message with subject or body 'help' to
> > > > >         netconf-request@ietf.org
> > > > >
> > > > > You can reach the person managing the list at
> > > > >         netconf-owner@ietf.org
> > > > >
> > > > > When replying, please edit your Subject line so it is more specific
> > > > > than "Re: Contents of Netconf digest..."
> > > > >
> > > > >
> > > > > Today's Topics:
> > > > >
> > > > >    1. Re: Clarification about su tree filtering (Martin Bjorklund)Hi
> > > > >
> > > > >
> > > > >
> > ----------------------------------------------------------------------
> > > > >
> > > > > Message: 1
> > > > > Date: Mon, 28 May 2018 15:37:48 +0200 (CEST)
> > > > > From: Martin Bjorklund <mbj@tail-f.com>
> > > > > To: mjethanandani@gmail.com
> > > > > Cc: netconf@ietf.org
> > > > > Subject: Re: [Netconf] Clarification about su tree filtering
> > > > > Message-ID: <20180528.153748.2044064270808262081.mbj@tail-f.com>
> > > > > Content-Type: Text/Plain; charset=utf-8
> > > > >
> > > > > Hi,
> > > > >
> > > > > See answers inline.
> > > > >
> > > > >
> > > > > Mahesh Jethanandani <mjethanandani@gmail.com> wrote:
> > > > > > Forwarding to NETCONF WG mailing list.
> > > > > >
> > > > > > Begin forwarded message:
> > > > > >
> > > > > > > From: Shiva Kumar Pathori <pathori@gmail.com>
> > > > > > > Date: May 28, 2018 at 5:27:19 AM EDT
> > > > > > > To: Alex Campbell <Alex.Campbell@aviatnet.com>
> > > > > > > Cc: netmod@ietf.org
> > > > > > > Subject: Re: [netmod] Clarification about subtree filtering
> > > > > > >
> > > > > > > Thanks Alex for the clarification. Can somebody please clarify
> > about
> > > > > subtree filter behaviour or provide some pointers in RFC so that I
> > can
> > > > > refer to it.
> > > > > > >
> > > > > > >> On Thu 24 May, 2018, 5:56 AM Alex Campbell, <
> > > > > Alex.Campbell@aviatnet.com> wrote:
> > > > > > >> Hi,
> > > > > > >>
> > > > > > >>
> > > > > > >> Since nobody else has answered I'll have a go.
> > > > > > >> I'm not familiar with subtree filtering, but I am with XPath.
> > > > > Assuming your XPath translation is accurate, it will return no data
> > > > > (response A).
> > > > > > >>
> > > > > > >> From: netmod <netmod-bounces@ietf.org> on behalf of Shiva Kumar
> > > > > Pathori <pathori@gmail.com>
> > > > > > >> Sent: Tuesday, 22 May 2018 8:38 p.m.
> > > > > > >> To: netmod@ietf.org
> > > > > > >> Subject: [netmod] Clarification about subtree filtering
> > > > > > >>
> > > > > > >>
> > > > > > >>> Hi,
> > > > > > >>> Can somebody clarify what could be the response for the
> > > > <get-config>
> > > > > operation provided below.
> > > > > > >>>
> > > > > > >>> Following is the user information in the datastore that is
> > provided
> > > > > in the RFC 6241 as example.
> > > > > > >>>> <rpc message-id="101"
> > > > > > >>>>           xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
> > > > > > >>>>        <get-config>
> > > > > > >>>>          <source>
> > > > > > >>>>            <running/>
> > > > > > >>>>          </source>
> > > > > > >>>>          <filter type="subtree">
> > > > > > >>>>            <top xmlns="http://example.com/schema/1.2/config">
> > > > > > >>>>              <users/>
> > > > > > >>>>            </top>
> > > > > > >>>>          </filter>
> > > > > > >>>>        </get-config>
> > > > > > >>>>      </rpc>
> > > > > > >>>
> > > > > > >>>> <rpc-reply message-id="101" xmlns="urn:ietf:params:xml:ns:
> > > > > netconf:base:1.0">
> > > > > > >>>>   <data>
> > > > > > >>>>     <top xmlns="http://example.com/schema/1.2/config">
> > > > > > >>>>       <users>
> > > > > > >>>>         <user>
> > > > > > >>>>           <name>root</name>
> > > > > > >>>>           <type>superuser</type>
> > > > > > >>>>           <full-name>Charlie Root</full-name>
> > > > > > >>>>           <company-info>
> > > > > > >>>>             <dept>1</dept>
> > > > > > >>>>             <id>1</id>
> > > > > > >>>>           </company-info>
> > > > > > >>>>         </user>
> > > > > > >>>>         <user>
> > > > > > >>>>           <name>fred</name>
> > > > > > >>>>           <type>admin</type>
> > > > > > >>>>           <full-name>Fred Flintstone</full-name>
> > > > > > >>>>           <company-info>
> > > > > > >>>>             <dept>2</dept>
> > > > > > >>>>             <id>2</id>
> > > > > > >>>>           </company-info>
> > > > > > >>>>         </user>
> > > > > > >>>>         <user>
> > > > > > >>>>           <name>barney</name>
> > > > > > >>>>           <type>admin</type>
> > > > > > >>>>           <full-name>Barney Rubble</full-name>
> > > > > > >>>>           <company-info>
> > > > > > >>>>             <dept>2</dept>
> > > > > > >>>>             <id>3</id>
> > > > > > >>>>           </company-info>
> > > > > > >>>>         </user>
> > > > > > >>>>       </users>
> > > > > > >>>>     </top>
> > > > > > >>>>   </data>
> > > > > > >>>> </rpc-reply>
> > > > > > >>>
> > > > > > >>>
> > > > > > >>> The <get-config> operation with content-match at parent and
> > child
> > > > > nodes;
> > > > > > >>>
> > > > > > >>>> <rpc message-id="101" xmlns="urn:ietf:params:xml:ns:
> > > > > netconf:base:1.0">
> > > > > > >>>>   <get-config>
> > > > > > >>>>     <source>
> > > > > > >>>>       <running/>
> > > > > > >>>>     </source>
> > > > > > >>>>     <filter type="subtree">
> > > > > > >>>>       <top xmlns="http://example.com/schema/1.2/config">
> > > > > > >>>>         <users>
> > > > > > >>>>           <user>
> > > > > > >>>>             <type>admin</name>
> > > > > > >>>>             <company-info>
> > > > > > >>>>               <dept>1</dept>
> > > > > > >>>>             </company-info>
> > > > > > >>>>           </user>
> > > > > > >>>>         </users>
> > > > > > >>>>       </top>
> > > > > > >>>>     </filter>
> > > > > > >>>>   </get-config>
> > > > > > >>>> </rpc>
> > > > > > >>>
> > > > > > >>> The equivalent XPATH expression :
> > > > > > >>>> <rpc message-id="101" xmlns="urn:ietf:params:xml:ns:
> > > > > netconf:base:1.0">
> > > > > > >>>>   <get-config>
> > > > > > >>>>     <source>
> > > > > > >>>>       <running/>
> > > > > > >>>>     </source>
> > > > > > >>>>     <filter xmlns:t="http://example.com/schema/1.2/config"
> > > > > > >>>>                  type="xpath"
> > > > > > >>>>                  select="/t:top/t:users/t:user[
> > > > > t:type='admin']/t:company-info[t:dept=?1?]"/>
> > > > > > >>>>         </get-config>
> > > > > > >>>>      </rpc>
> > > > >
> > > > > This is not an equivalent expression, b/c a content-match node
> > ("type")
> > > > > is not AND:ed with a selection node ("company-info").
> > > > >
> > > > > > >>> For this what could be the response
> > > > > > >>>
> > > > > > >>> a) The response based on content-match nodes are AND-ed
> > together
> > > > > > >>>> <rpc-reply message-id="101" xmlns="urn:ietf:params:xml:ns:
> > > > > netconf:base:1.0">
> > > > > > >>>>        <data>
> > > > > > >>>>       </data>
> > > > > > >>>>      </rpc-reply>
> > > > > > >>> OR
> > > > > > >>>
> > > > > > >>> b)  The response based on content-match nodes treated
> > separately
> > > > > > >>>> <rpc-reply message-id="101" xmlns="urn:ietf:params:xml:ns:
> > > > > netconf:base:1.0">
> > > > > > >>>>   <data>
> > > > > > >>>>     <top xmlns="http://example.com/schema/1.2/config">
> > > > > > >>>>       <users>
> > > > > > >>>>         <user>
> > > > > > >>>>           <name>fred</name>
> > > > > > >>>>           <type>admin</type>
> > > > > > >>>>           <full-name>Fred Flintstone</full-name>
> > > > > > >>>>         </user>
> > > > > > >>>>         <user>
> > > > > > >>>>           <name>barney</name>
> > > > > > >>>>           <type>admin</type>
> > > > > > >>>>           <full-name>Barney Rubble</full-name>
> > > > > > >>>>         </user>
> > > > > > >>>>       </users>
> > > > > > >>>>     </top>
> > > > > > >>>>   </data>
> > > > > > >>>> </rpc-reply>
> > > > >
> > > > > Sibling content-match nodes are AND:ed, but in this case "type" and
> > > > > "dept" are not siblings.
> > > > >
> > > > > The correct reply is:
> > > > >
> > > > >    <data>
> > > > >      <top xmlns="http://example.com/schema/1.2/config">
> > > > >        <users>
> > > > >          <user>
> > > > >            <name>fred</name> (*)
> > > > >            <type>admin</type>
> > > > >          </user>
> > > > >          <user>
> > > > >            <name>barney</name> (*)
> > > > >            <type>admin</type>
> > > > >          </user>
> > > > >        </users>
> > > > >      </top>
> > > > >    </data>
> > > > >
> > > > > (*) note that if the name is the key, it MAY (or may not) be present
> > > > > in the output, see 6.2.5 of RFC 6241:
> > > > >
> > > > >    o  If any sibling nodes of the selection node are instance
> > identifier
> > > > >       components for a conceptual data structure (e.g., list key
> > leaf),
> > > > >       then they MAY also be included in the filter output.
> > > > >
> > > > >
> > > > >
> > > > > /martin
> > > > >
> > > > > ------------------------------
> > > > >
> > > > > Subject: Digest Footer
> > > > >
> > > > > _______________________________________________
> > > > > Netconf mailing list
> > > > > Netconf@ietf.org
> > > > > https://www.ietf.org/mailman/listinfo/netconf
> > > > >
> > > > >
> > > > > ------------------------------
> > > > >
> > > > > End of Netconf Digest, Vol 123, Issue 43
> > > > > ****************************************
> > > > >
> > > > -------------- next part --------------
> > > > An HTML attachment was scrubbed...
> > > > URL: <
> > > >
> > https://mailarchive.ietf.org/arch/browse/netconf/attachments/20180530/93583caa/attachment.html
> > > > >
> > > >
> > > > ------------------------------
> > > >
> > > > Message: 2
> > > > Date: Tue, 29 May 2018 17:23:07 -0400
> > > > From: Henry Yu <hyu2010b@gmail.com>
> > > > To: netconf@ietf.org
> > > > Subject: [Netconf] How would RESTCONF access multiple datastores
> > > >         defined by NMDA
> > > > Message-ID:
> > > >         <
> > > > CAFsbzLkU5W5hL5Yb5YB3ft73idYoT1QPxXNWwMa_VBBvQ+c_GQ@mail.gmail.com>
> > > > Content-Type: text/plain; charset="utf-8"
> > > >
> > > > Hi,
> > > >
> > > > According to my understanding of RFC 8040, there is only one datastore
> > > > (which is represented by "{+restconf}/data"). But NMDA introduces
> > multiple
> > > > datastores. How does RESTCONF provide access to them? I think a
> > RESTCONF
> > > > user would, at minimum, need the access to the <running> and the
> > > > <operational>.
> > > >
> > > > Thanks,
> > > > Henry
> > > > P.S., I would not find an answer in the mailing list's archive. My
> > > > apologies if this question has already been asked/answered.
> > > > -------------- next part --------------
> > > > An HTML attachment was scrubbed...
> > > > URL: <
> > > >
> > https://mailarchive.ietf.org/arch/browse/netconf/attachments/20180529/81c594a0/attachment.html
> > > > >
> > > >
> > > > ------------------------------
> > > >
> > > > Subject: Digest Footer
> > > >
> > > > _______________________________________________
> > > > Netconf mailing list
> > > > Netconf@ietf.org
> > > > https://www.ietf.org/mailman/listinfo/netconf
> > > >
> > > >
> > > > ------------------------------
> > > >
> > > > End of Netconf Digest, Vol 123, Issue 44
> > > > ****************************************
> > > >
> >