Re: [netconf] get-data origin filters

"Rob Wilton (rwilton)" <rwilton@cisco.com> Mon, 07 October 2019 16:35 UTC

Return-Path: <rwilton@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 E7E1412006D for <netconf@ietfa.amsl.com>; Mon, 7 Oct 2019 09:35:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.49
X-Spam-Level:
X-Spam-Status: No, score=-14.49 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_FILL_THIS_FORM_SHORT=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 header.b=HN2laJok; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=xGzOk4yY
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 6i8knJvEGSr6 for <netconf@ietfa.amsl.com>; Mon, 7 Oct 2019 09:35:01 -0700 (PDT)
Received: from rcdn-iport-2.cisco.com (rcdn-iport-2.cisco.com [173.37.86.73]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 154ED120043 for <netconf@ietf.org>; Mon, 7 Oct 2019 09:35:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=56422; q=dns/txt; s=iport; t=1570466100; x=1571675700; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=nyR9n0qLrPJz+J7yjJa7hcDccaAIiJxf3Wg02e7aW3w=; b=HN2laJok19leOz6l6W2U0EOm38lJjop4Zxr2CwlqCWTUt7Qrik7l2A9p reMrfLkiPzhEo/mSiE648LNxigClL3KOA8xf+PlWnpr6QySjp49qOAVPE iDwYpPNzy6eQjsJNJ7Alxmp+xMFrohmowoDdQ96vrZaDGMtzQsOXoDLHu 8=;
IronPort-PHdr: 9a23:OK1vjhXgWvgxX6VC9USx1ax93APV8LGuZFwc94YnhrRSc6+q45XlOgnF6O5wiEPSA92J8OpK3uzRta2oGXcN55qMqjgjSNRNTFdE7KdehAk8GIiAAEz/IuTtankgA8VGSFhj13q6KkNSXs35Yg6arw==
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DeAQDkaJtd/5RdJa1mGwEBAQEDAQEBDAMBAQGBZ4EcL1ADbVYgBAsqCoQZYoJlA4pJglyXfIJSA1QJAQEBDAEBLQIBAYRAAheCRSM4EwIDCQEBBAEBAQIBBQRthS0MhUsBAQEDARIRChMBATcBBAsCAQgRBAEBASABBgMCAgIwFAkIAgQOBQgagwGBHU0DDg8BAqQvAoE4iGF1gTKCfQEBBYUIGIIXCYE0jA4YgUA/gRFGgkw+hC4YNIJXMoImjHUPgmmFNSSJCI5yCoIijCCJE5k/p14CBAIEBQIOAQEFgWkigVhwFTuCbFAQFIFPg3OKU3SBKY8gAYEiAQE
X-IronPort-AV: E=Sophos;i="5.67,268,1566864000"; d="scan'208,217";a="645801092"
Received: from rcdn-core-12.cisco.com ([173.37.93.148]) by rcdn-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 07 Oct 2019 16:34:59 +0000
Received: from XCH-ALN-017.cisco.com (xch-aln-017.cisco.com [173.36.7.27]) by rcdn-core-12.cisco.com (8.15.2/8.15.2) with ESMTPS id x97GYx1X032225 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Mon, 7 Oct 2019 16:34:59 GMT
Received: from xhs-rcd-003.cisco.com (173.37.227.248) by XCH-ALN-017.cisco.com (173.36.7.27) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 7 Oct 2019 11:34:58 -0500
Received: from xhs-aln-002.cisco.com (173.37.135.119) by xhs-rcd-003.cisco.com (173.37.227.248) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 7 Oct 2019 11:34:57 -0500
Received: from NAM03-DM3-obe.outbound.protection.outlook.com (173.37.151.57) by xhs-aln-002.cisco.com (173.37.135.119) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Mon, 7 Oct 2019 11:34:57 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EmQjBAM0+v9zOmi8OjhetTB0grUr2c9CwE1kTovaRjIz4R1MtSK/vpKhMziLa5LUqBGtvt7xIue84m30z2aaQT1irDxYAZEuWRnKng9Dy+1zGFIJYNIFBjKmHksjxkTo7F3LsydlNa2N3yTrf4qulSiieh1TWhSWHXpvuUosuAj/+buzzcXfuIUHIKny5j6qa65UDzQeH15nVuikr1fNy8RZSzRkM+afKnD8mkhUztyeW6v+yKdOctXEg94AsNSRZPU5RYKyGwDkWl13VTroETOyYE25TE55tSROVcZM4GGtNhbAXBAGbDFytj3ztdaHUCID7Ea5E4sQyEm7hSj8vA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nyR9n0qLrPJz+J7yjJa7hcDccaAIiJxf3Wg02e7aW3w=; b=CHPF0BuUMsD+1KA5vaeh2nVnAm57E8+L0yq7r6ezYeL4IqTnnlH7p1iMPW/jkvrfrSaoAgEf60ptDDRK8Wc+q0G2f3na0Mtt1ZZaR68WON2Dbt91ohff2gqLeC59GYpEwY4ekY9GN99p+x6921/eYp45tQbgtCJEQuV7DHuEABNsauj5+w1J0QgldkiHS/LUVtV5Vn3gJ4YoAQ9rHZg5qZOu0FA3nzvFfZRlAkFrAJll6CGpZgN8vxZiQtm1b0NnuMSZMf+9jd+zbvJZziOTAuqokGOnGnY7ZS8mNYk/p1KqQx2moE7dHRMWCdONBuZVKCxSa9OdFSubSVbDULgyCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nyR9n0qLrPJz+J7yjJa7hcDccaAIiJxf3Wg02e7aW3w=; b=xGzOk4yY+zjHwUm4HL3vqnm7zE4Qm79g27/CAPTFGMGRTCeB0o4mr1UbGXm1jQcYvw91s1Tvhic/lWNXEhArVQrs0xzKJ3EKCN+Ze/k+E23huqxLNwVhy3kdCaahI7oqMCZMJJq2K5Fl2aoMxr3oSFwknUV7Q5soc6dUbVRbBWo=
Received: from MN2PR11MB4366.namprd11.prod.outlook.com (52.135.38.209) by MN2PR11MB3677.namprd11.prod.outlook.com (20.178.253.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2327.24; Mon, 7 Oct 2019 16:34:56 +0000
Received: from MN2PR11MB4366.namprd11.prod.outlook.com ([fe80::cca:41bd:b0bb:c549]) by MN2PR11MB4366.namprd11.prod.outlook.com ([fe80::cca:41bd:b0bb:c549%2]) with mapi id 15.20.2327.023; Mon, 7 Oct 2019 16:34:56 +0000
From: "Rob Wilton (rwilton)" <rwilton@cisco.com>
To: Andy Bierman <andy@yumaworks.com>
CC: Martin Bjorklund <mbj@tail-f.com>, Netconf <netconf@ietf.org>
Thread-Topic: [netconf] get-data origin filters
Thread-Index: AQHVe+MoAYKZiUAaf0ueOxvsgdbYHKdNvuAAgAAMyQCAAQJggIAAbHSAgAAFLACAAAYMgIAAGHEw
Date: Mon, 07 Oct 2019 16:34:56 +0000
Message-ID: <MN2PR11MB436685D0EBE9F89D7E69EB84B59B0@MN2PR11MB4366.namprd11.prod.outlook.com>
References: <CABCOCHSM0XO2tRDw44=jp3eaBxnhJciWOVvp8QJ+SgACjRZkEg@mail.gmail.com> <20191006.173256.1788347482117819951.mbj@tail-f.com> <CABCOCHRQDfprmHoMBBWK36DZH6-QQS1SkPu+V805XN3dBHW_FQ@mail.gmail.com> <20191007.094327.1923088106819713441.mbj@tail-f.com> <CABCOCHSMRrL4VR7eR8sQCtMnmg5=EE0d8g37Vr956vkUtVTBQA@mail.gmail.com> <MN2PR11MB4366BB8F556DE7DC866FE27BB59B0@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRS=J24hFth=OS2RNrE6WErSovpaCyQ9KP1Q3J_HYn7aw@mail.gmail.com>
In-Reply-To: <CABCOCHRS=J24hFth=OS2RNrE6WErSovpaCyQ9KP1Q3J_HYn7aw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=rwilton@cisco.com;
x-originating-ip: [173.38.220.47]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f29314cd-d9ae-4d13-bfa9-08d74b444a09
x-ms-traffictypediagnostic: MN2PR11MB3677:
x-microsoft-antispam-prvs: <MN2PR11MB3677C6D45B4924000E5797F6B59B0@MN2PR11MB3677.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-forefront-prvs: 01834E39B7
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(346002)(366004)(39860400002)(136003)(376002)(51444003)(189003)(199004)(81156014)(446003)(81166006)(6116002)(7736002)(66446008)(316002)(14444005)(256004)(11346002)(8676002)(54906003)(8936002)(66556008)(33656002)(66946007)(14454004)(6916009)(71200400001)(64756008)(52536014)(66476007)(5660300002)(71190400001)(74316002)(76116006)(3846002)(790700001)(7696005)(26005)(53546011)(25786009)(6506007)(102836004)(186003)(66066001)(6436002)(4326008)(99286004)(6246003)(55016002)(9686003)(76176011)(236005)(54896002)(6306002)(478600001)(229853002)(2906002)(476003)(486006)(86362001); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB3677; H:MN2PR11MB4366.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: cisco.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: dcsshUaWsHBE/5+mZigjrdvHbTe9iPerVS99KBs3eJ1G82qSeYmhz0Q+szEp1JLMQ7rylFDrqh+0y8hJGUrcD5+DfUtvUrqboANYoBAxYMjjaieEOfEERhEdKCtHC426x8w8W3JGrz6l7ziOMyHMUEJksbvhYFPf/Q8SGL6IMX4DQ0TOZ9Q1OW91gsx3tjXp413CMU4y9FiLgmiCnBpEtHTiab0YrygSv7lI46lqTT57O+TllRegkHdpsN2Q5r2VSbciUC64BrQaOT16Ea3BSqAVTZ6WLIeSHUiEZ6oKCZ4nH4Wm8Jaa/4CoHtYJ4A0F3YfTJ2of+U82hxO1oACXyYsfSB0LcfA8rHAyXgCOhrHCBHSog/r1xfXcKo8OuMkJpQFP2HNFRJJ4eDy45vG/m6xL+URJa0r6H5OrXtdM8hs=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_MN2PR11MB436685D0EBE9F89D7E69EB84B59B0MN2PR11MB4366namp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: f29314cd-d9ae-4d13-bfa9-08d74b444a09
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Oct 2019 16:34:56.4628 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: PtNuF8/AqAe68h3VNzNuabHNW+qtIrZ+AVlU3KDcKQc/NUHKyaVFqzHvQyjxKYtrTGAn7KlkVFtZPdpmCo+rww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3677
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.27, xch-aln-017.cisco.com
X-Outbound-Node: rcdn-core-12.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/3zhlShr7CknQK8SLfntUnUFHjFM>
Subject: Re: [netconf] get-data origin filters
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG 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, 07 Oct 2019 16:35:05 -0000

My understanding of the intention of the way the filters are logically meant to work are:


  1.  Construct the full response to the request (as if no filters are to be returned):
  2.  Restrict the response, so that the selected elements match any subtree filter.
  3.  Restrict the response, so that the selected elements match any xpath filter.
  4.  Restrict the response, so that the selected elements match any config true/false filter.
  5.  Restrict the response, so that the selected elements match any origin filter.
  6.  Constrain to the requested depth
  7.  Add in required ancestors and list keys.
  8.  Return the result.


I don’t see text in the filters that states that if a node is filtered then all of its descendants are automatically filtered as well.  I think that you are assuming this behaviour.

A node always only has a single origin, although it could change.  E.g. if a system configured was explicitly configured, then it would make sense to change its origin to configured because it would exist regardless of whether it was originally added by the system.

Thanks,
Rob


From: Andy Bierman <andy@yumaworks.com>
Sent: 07 October 2019 15:52
To: Rob Wilton (rwilton) <rwilton@cisco.com>
Cc: Martin Bjorklund <mbj@tail-f.com>; Netconf <netconf@ietf.org>
Subject: Re: [netconf] get-data origin filters



On Mon, Oct 7, 2019 at 7:36 AM Rob Wilton (rwilton) <rwilton@cisco.com<mailto:rwilton@cisco.com>> wrote:
Hi Andy,

Don’t all the filters effectively work this way?


I do not see the text that explains origin-filter and negated-origin-filter working the way Martin
describes it.  These filters do not say anywhere to select a node because it has descendants
that match the origin filters.  It says very clearly that the filter test is on the specified node.
It also says the origin is derived from the origin annotation for that node.
Since only 1 instance of the origin annotation is allowed per node, there is no way to tag
a node with multiple origins.

If implementation is too complex then people will just leave it out (w/ a deviation).
It is unlikely that the instrumentation knows at any given instant all the origin values
of all the descendant dynamic data at the instant the <get-data> request is processed.




They select a subset of the nodes to include in the response, and must also include all ancestor nodes and required list keys to the selected nodes, regardless of whether those ancestor/key nodes were also selected by the query.


Yes. Understood.
Still does not explain how a filter for the list node selects descendant nodes that match the origin filters.


E.g. a “config false” filter will still return “config true” nodes if they are ancestors or list keys to a descendant config false node.  The same logic applies for xpath and origin filters as well.


No they won't.
Where is that text?

    get-data config=filter=false

This starts from top-level YANG nodes.
If the top-level YANG node is not config=false then the server will not keep looking for descendants that match.


Thanks,
Rob


Andy




From: netconf <netconf-bounces@ietf.org<mailto:netconf-bounces@ietf.org>> On Behalf Of Andy Bierman
Sent: 07 October 2019 15:12
To: Martin Bjorklund <mbj@tail-f.com<mailto:mbj@tail-f.com>>
Cc: Netconf <netconf@ietf.org<mailto:netconf@ietf.org>>
Subject: Re: [netconf] get-data origin filters



On Mon, Oct 7, 2019 at 12:43 AM Martin Bjorklund <mbj@tail-f.com<mailto:mbj@tail-f.com>> wrote:
Andy Bierman <andy@yumaworks.com<mailto:andy@yumaworks.com>> wrote:
> On Sun, Oct 6, 2019 at 8:32 AM Martin Bjorklund <mbj@tail-f.com<mailto:mbj@tail-f.com>> wrote:
>
> > Hi,
> >
> > Andy Bierman <andy@yumaworks.com<mailto:andy@yumaworks.com>> wrote:
> > > Hi,
> > >
> > > I am trying to figure out how to use the origin-filter and
> > > negated-origin-filter
> > > in the <get-data> operation in RFC 8526.
> > >
> > >
> > >           leaf-list origin-filter {
> > >              type or:origin-ref;
> > >              description
> > >                "Filter based on the 'origin' annotation.  A
> > >                 configuration node matches the filter if its 'origin'
> > >                 annotation is derived from or equal to any of the given
> > >                 filter values.";
> > >            }
> > >
> > >
> > > These filters seem kind of worthless if implemented according to the
> > text.
> > > Consider a simple example where there is 1 learned leaf within a list:
> > >
> > > module: address
> > >   +--rw addresses
> > >      +--rw address* [last-name first-name]
> > >         +--rw last-name     string
> > >         +--rw first-name    string
> > >         +--rw street?       string
> > >         +--rw city?         string
> > >         +--rw zipcode?      string
> > >         +--rw phone* [phone-type]
> > >            +--rw phone-type      enumeration
> > >            +--rw phone-number    string
> > >
> > > Let's say the "zipcode" field is learned in <operational>
> > > (e.g. ZIP code lookup expands missing or 5 digit zipcode to full 9 digit
> > > zipcode).
> > > So /addresses and /addresses/address have origin "intended".
> > > Only the /addresses/address/zipcode leaf has origin "learned".
> > >
> > > So how does origin-filter=learned find all the learned leafs?
> >
> > Perhaps I don't understand your question; IMO you give the answer to
> > this question below:
> >
> > > What filters are required to return only the learned entries + ancestors
> > +
> > > ancestor-or-self keys?  Seems like this filter mechanism has to be used
> > > to retrieve the exact leaf that might be learned, and the client
> > > needs to know in advance all the possible nodes that might be learned.
> > >
> > > Want to be able to retrieve an ancestor that is intended and still find
> > the
> > > learned entries
> > >
> > >    get-data xpath-filter=/addresses/address origin-filtter=learned
> >
> > ... here.  So this request will return:
> >
> >    <addresses or:origin="or:intended">
> >      <address>
> >        <last-name>...</last-name>
> >        <first-name>...</first-name>
> >        <zipcode or:origin="or:learned">...</zipcode>
> >      </address>
> >      ...
> >    </addresses>
> >
> >
> I do not interpret the text the same way as you.

Does this mean that you think that the reply is different from what I
show above?  If so, what would it be, and why?



Explain how the list address node has origin "learned".

The filter is for /addresses/address and only origin=learned.
How does the list node have origin=learned?
It can only have 1 value.
It has child nodes with both intended and learned as origin.
I do no understand how the origin=learned matched this node.




>
>                      The content returned
>
>           by get-data must satisfy all filters, i.e., the filter
>           criteria are logically ANDed.
>
>
>           leaf-list origin-filter {
>              type or:origin-ref;
>              description
>                "Filter based on the 'origin' annotation.  A
>                 configuration node matches the filter if its 'origin'
>                 annotation is derived from or equal to any of the given
>                 filter values.";
>            }
>
>
>               Configuration nodes that do not have an
>               'origin' annotation are treated as if they have the
>               'origin' annotation 'or:unknown'.
>
>
>
> > The draft shows an example where both "intended" and "system" are given
> > > as filters.  This will work but will include all the "intended" leafs as
> > > well.
> > > What if a "learned" node is within a "system" node within an "intended"
> > > node?
> >
> > This works as well.  Note that the get-data description says:
> >
> >           Any ancestor nodes (including list keys) of nodes selected by
> >           the filters are included in the response.
> >
> >
> >
>
> The issue is how the /iaddresses and /addresses/address nodes match the
> origin "learned".

They don't, but they are included b/c of the quoted text above (i.e.:
      Any ancestor nodes (including list keys) of nodes selected by
      the filters are included in the response.)


No.

If the filter was for /addresses/address/zipcode then maybe that text applies.
It is still unclear that the XPath is fully processed and then the origin-filter is processed.
The RFC just says they are ANDed together.



> The leafs in list "address" are a mixture of "intended" and "learned"
> origin.
> The text clearly says that a node has a single origin property, coupled to
> the annotation.
>
> Issue 1: mixed origin descendant nodes
> So how does a search on /addresses/address match origin-filter=learned?
> I cannot find any text that says what the origin of a list or P-container
> is if it
> contains nodes of mixed origin.

See above.

No text above explains how the list origin is tagged if it has multiple types of child nodes.



> Issue 2: NP-containers
>
> Also from RFC 8342:
>
>    The origin applies to all configuration nodes except non-presence
>    containers.
>
>
> What if the top-level node is an NP-container in this case.
> I thought the top-level node MUST have an origin attribute.
>
> The text is not clear how NP-containers are handled.
> Do they have an origin attribute? If not then RFC 8526 says they have
> origin "unknown".
> Is the intent that NP-containers always pass the origin-filter tests (test
> skipped)?

No, since they don't have an origin value they will not be selected by
the filter.  But an NP-container will be included in the reply if it
is the ancestor of a node that is selected by the filter.

The RFC text does not really say that.
Since it is very difficult to know if a data node 5 layers deep is going to match,
implementing these filters according to this vague interpretation is unlikely.


/martin

Andy



>
>
>
> /martin
> >
> >
> Andy
>
>
> >
> > > Seems like the client needs to know a lot about the server implementation
> > > details
> > > in order to use the origin filters.
> > >
> > >
> > > Andy
> >