Re: [Netconf] YangPush now

Kent Watsen <kwatsen@juniper.net> Thu, 26 July 2018 17:48 UTC

Return-Path: <kwatsen@juniper.net>
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 17DCC130E6E for <netconf@ietfa.amsl.com>; Thu, 26 Jul 2018 10:48:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.71
X-Spam-Level:
X-Spam-Status: No, score=-0.71 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, HTTPS_HTTP_MISMATCH=1.989, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=juniper.net
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 7VO9YUx4Zi4L for <netconf@ietfa.amsl.com>; Thu, 26 Jul 2018 10:48:00 -0700 (PDT)
Received: from mx0b-00273201.pphosted.com (mx0b-00273201.pphosted.com [67.231.152.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AF2AD128CF3 for <netconf@ietf.org>; Thu, 26 Jul 2018 10:47:59 -0700 (PDT)
Received: from pps.filterd (m0108161.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w6QHdbJO024014; Thu, 26 Jul 2018 10:47:57 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=PPS1017; bh=VxKPC57eZH9k2KWRaJRNDzLenbmYZzp/RO4VWZILZCA=; b=pKVsgZAw1dOPUBYnhzwsOkb16bGmk2bN9QeaGVFTF9BoIDLTYtfhQ8soTwOIeocVnV+O GVb4SlQvUFDRfrWD58UGSvOLgaYDLWLn5tukrESGr5OaAlUwLsVtr2GZCqTNelY9H7/7 G1nfVZY4cFi1zPCrVG4iEdy0wNaEhZenfp33hoa9XiaJS5IARmg0KCNNlY4OeRzxQodG 9dJuVHkYAqNlc1Gv1YQppb9yYg9TKz0OXa49OCUViXwJFCecTfTQJg1Vs4I4RarKoOVl QYXzhtKT0QptBqeV9AS7viu92hjkWG8wEwdCaWVt12zFAKuJe7oxuvfHwU0GEUsESmK7 wQ==
Received: from nam03-co1-obe.outbound.protection.outlook.com (mail-co1nam03lp0017.outbound.protection.outlook.com [216.32.181.17]) by mx0b-00273201.pphosted.com with ESMTP id 2kfb3cgutk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 26 Jul 2018 10:47:56 -0700
Received: from BYAPR05MB4230.namprd05.prod.outlook.com (52.135.200.153) by BYAPR05MB4535.namprd05.prod.outlook.com (52.135.203.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1017.5; Thu, 26 Jul 2018 17:47:53 +0000
Received: from BYAPR05MB4230.namprd05.prod.outlook.com ([fe80::84c5:999c:9159:d416]) by BYAPR05MB4230.namprd05.prod.outlook.com ([fe80::84c5:999c:9159:d416%2]) with mapi id 15.20.0995.014; Thu, 26 Jul 2018 17:47:53 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Robert Wilton <rwilton=40cisco.com@dmarc.ietf.org>, Andy Bierman <andy@yumaworks.com>, "Eric Voit (evoit)" <evoit@cisco.com>
CC: "Tim Jenkins (timjenki)" <timjenki@cisco.com>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] YangPush now
Thread-Index: AQHUHVo97/1MCRrcckGjuypYd3RC86SS6W4AgAB92YCAAEL3AIAAPuOAgABuioCAAKUJAIABUcsAgAGbpICAAI93AIAEapIAgAI03QCAAcvDgIAAYtYAgABMJ4A=
Date: Thu, 26 Jul 2018 17:47:52 +0000
Message-ID: <AA8B5892-EBEC-4BB1-BE5A-E49C38D2B055@juniper.net>
References: <2E1BAD12-EFF2-4E35-B232-57A4C4490989@cisco.com> <20180717055030.7bmzlychtznf3mso@anna.jacobs.jacobs-university.de> <18622ABD-DB9F-406C-836F-64649F3D8FF6@cisco.com> <20180717172036.hhuoq6fzs7ctblpf@anna.jacobs.jacobs-university.de> <CABCOCHS8cfqKLaQe9M4tu-2zkZ5=6-a2FEv+idJwZiW_btx_Zw@mail.gmail.com> <a54850668bfb4483b89f4c2b15bf5f44@XCH-RTP-013.cisco.com> <20180718133200.u7fpsv3xanb2nosr@anna.jacobs.jacobs-university.de> <6707abca9924442083ef165ce1345b7e@XCH-RTP-013.cisco.com> <20180720101419.7chri56rzgyidxmw@anna.jacobs.jacobs-university.de> <3b194cc7276b4e888c4e8b808d1c356a@XCH-RTP-013.cisco.com> <20180723141416.mdzwa53nganbadbu@anna.jacobs.jacobs-university.de> <406f2a12fdd745c18e0f11dd9fbb26eb@XCH-RTP-013.cisco.com> <CABCOCHRmuCQtkzN4u43Gi4kfLifUoAcNYZg2K1ZR5Rg60L_u9g@mail.gmail.com> <9d2e34e6-fc40-9c4b-1be5-cbee3ff8f89c@cisco.com>
In-Reply-To: <9d2e34e6-fc40-9c4b-1be5-cbee3ff8f89c@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/f.20.0.170309
x-originating-ip: [66.129.241.12]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BYAPR05MB4535; 6:5A31PNI4g9/HBRi2rCI5b3ThLzbu3r6AP1LeWcxxXJYDXXSYFFtOcvne5plUqMixBslgJ9pPMFVKC4vZywzMbfJEg39E04GcAQqYhzY2gmgQlT6X+91oQ6q0Rkn5S5/mg8H2m8zpwdF5qcCmqdhIgq1AUPLVehqqWTm3yWRFOa7KVJAbPVPvLMjnZIWZhDW63Qpqxi8zdgBmeZf26T3pN2EFr5isyigNxMjFpinrRy5Ukr6NGqzlrbdaJ1qAwuhIRrUp/ihNwfDNbZTmu9VFjDY8d7nqThpWkKj/AjlIOO0Fs7o8fAvf8lWAv1Y3g1j2/EmgBNHU6LJijsWKgX95fBpx3avvrJMnJb0+7Qcfk6ll9YjepXOvul3+k03bykY1EroH2pZb2tQZK9y++NbwP+8coHWeSD/3gS/gAgX8fcA+Xzm/bQtKu07UqiHXU5E1tp2eNMqvYxyS4w73XpaZLA==; 5:DHQNl+DdqJxvA487uYFswIsVv1/SCz+9h1NZb50aUWpwT0w9Z8HHKvggPKyl+atsgZ9cmkIdtcXN2REU4WtzzBvDKnqeo04qLLV/hXv9n+iLZUPzRao2KJVCRl7Bt1dCx6quV08Enk8rVN4TRkuHUOuhxyGpPm1MALgf3rjI9HE=; 7:/lgzaqgtlsA5qEl94bzVFwtyRB0a3ax4fs3VAp2oA2hVGFAO9IVantnh1zW6GQLUGSr2XTlBn/ioWAC9u2jqR6wQ2OPJQXWdz+2DKe8P7fIErvxY9B2MQTYZNclYcZDSHAUcYRcS20zOKPEAr3aoiecVUtylFx2s2tQT+XSVEt2188pxN4PGwzeiINL+/MUIXcj/OPH7zPaTzXIZTOkyxpBYk7qVpRiWVNHaOy3UQeeQU12QmaUWiRjOeUiJb3rR
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: e727e291-4264-476b-cb0f-08d5f31fe986
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600073)(711020)(4618075)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:BYAPR05MB4535;
x-ms-traffictypediagnostic: BYAPR05MB4535:
x-microsoft-antispam-prvs: <BYAPR05MB4535EE55626DE1B7C95CA342A52B0@BYAPR05MB4535.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(28532068793085)(158342451672863)(10436049006162)(192374486261705)(95692535739014)(21748063052155);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:BYAPR05MB4535; BCL:0; PCL:0; RULEID:; SRVR:BYAPR05MB4535;
x-forefront-prvs: 07459438AA
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(376002)(346002)(366004)(396003)(39860400002)(136003)(51444003)(199004)(189003)(54896002)(6306002)(66066001)(6512007)(99286004)(236005)(316002)(478600001)(58126008)(2900100001)(7736002)(6246003)(106356001)(966005)(14444005)(105586002)(256004)(2906002)(82746002)(11346002)(446003)(36756003)(86362001)(229853002)(486006)(97736004)(83716003)(68736007)(6486002)(5660300001)(93886005)(6116002)(3846002)(6436002)(476003)(2616005)(5250100002)(4326008)(54906003)(25786009)(110136005)(53936002)(14454004)(561944003)(76176011)(6506007)(33656002)(606006)(81166006)(8936002)(81156014)(8676002)(102836004)(186003)(53546011)(26005); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR05MB4535; H:BYAPR05MB4230.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
x-microsoft-antispam-message-info: rnmbVgRLyVLfVG3k6QQr4zzsqp0Jq+Dq6GA6+OZ9NluO7CL1h8AgMXR1sFKWhbu/Ni/6rLCu5+uJ4aLkI1/wfofEOLBeTPWGgQe06zyiVmWxPwwgtACO6LgxZlJxqXjxO+OpyAeuKyAaRCxDpKWg0+T7cN6tkKYzstKJbb+pP2eCIY/KmmfLnb2K/GPR9mEHDSS6qoW7TWJZy0YIEVjcPtmoXHytqlQbb4u2tF1LUfUBb5aocjNdg9O4jDHqlMyUiIx/wgeLxjYAJnJTjLGeBMRnEYt1QwO6+46YjjW6HDgt8rk8yc4Vu+NREloZvcD0xi6IXV+E9C+ATwxxa2XKRDN9fvnPLiN8vPRb8fsMbWE=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_AA8B5892EBEC4BB1BE5AE49C38D2B055junipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-Network-Message-Id: e727e291-4264-476b-cb0f-08d5f31fe986
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jul 2018 17:47:52.9316 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR05MB4535
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-07-26_04:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1806210000 definitions=main-1807260182
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/ZlJtqeNfMCw2RAHovD4RDu9-VmY>
Subject: Re: [Netconf] YangPush now
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.27
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, 26 Jul 2018 17:48:05 -0000

<chair hat on>

I think that we're iterating towards consensus.
From a conformance perspective:

    Dynamic: MUST
    Configured: MAY (but also NOT POSSIBLE until a transport model is defined)

    Notes:
      - Vendor-specific transport models can be used until standard-models are developed.
      - No mandatory-to-implement transport will exist; thus, interoperability is at risk.
      - Unclear how a future *bis* could introduce a mandatory-to-implement transport.

I *think* that this is okay. At least it seems similar to RESTCONF not having a
mandatory-to-implement encoding.  Any objections? - speak up now!

Assuming no objections, to close the issues discussed in Montreal, we're waiting
for the following updates:

   yang-push: <unsure if any changes are needed here>
   sub-notif: modify config model to mandate a transport
   netconf-notif: modify to only reflect netconf for dynamic subscriptions
   resconf-notif: modify to only reflect restconf for dynamic subscriptions
                                and also only regard *restconf* (not http/x[.y])

or (my preference, if possible):

   yang-push: <unsure if any changes are needed here>
   sub-notif: modify config model to mandate a transport…and, somehow,
                        modified to not require a "notif" draft at all for just dynamic
                         subscriptions (shouldn't it just be normal NC/RC behavior at
                         that point, and thus nothing to define?)


For folks that want these drafts to move faster, we look forward to your thorough
reviews.  Please note that simply writing "I support" or equivalent doesn't help
ensure that the text is accurate (witness what happened last time with these drafts).

There are nearly 150 pages here. Realistically, at 7.5 pages/hour (a medium-to-light
edit, which I hope is all that is needed at this point), complete reviews might take two
and a half days, uninterrupted.  The chairs would like to see a few such reviews, either
after the updates to these drafts have been posted, or when the next (and hopefully
final) Last Call is issued.

Thanks,
Kent


On 7/26/18, 5:15 AM, "Netconf on behalf of Robert Wilton" <netconf-bounces@ietf.org<mailto:netconf-bounces@ietf.org> on behalf of rwilton=40cisco.com@dmarc.ietf.org<mailto:rwilton=40cisco.com@dmarc.ietf.org>> wrote:


I basically agree with Andy.

I appreciate from the comments that the configured subscriptions is not usable using standards transports yet, but it still seems that it would be more invasive to rip configured subscriptions out at this point in time.  I think as a WG we really want to get this document published otherwise it will be obsolete before it even has an RFC number.  We can fix up the configured subscriptions afterwards, and then publish a bis version that puts everything together.

Thanks,
Rob


On 26/07/2018 04:21, Andy Bierman wrote:
Hi,

IMO there is a good enough plan in place to complete the configured subscriptions.
The co-authors have done enough revisions. It is time to finish the drafts.

We should let vendors experiment and also try to create a standard binary protocol.


Andy



On Tue, Jul 24, 2018 at 4:56 PM, Eric Voit (evoit) <evoit@cisco.com<mailto:evoit@cisco.com>> wrote:
Hi Juergen,

> From: Juergen Schoenwaelder, July 23, 2018 10:14 AM
>
> On Fri, Jul 20, 2018 at 06:47:48PM +0000, Eric Voit (evoit) wrote:
> > Hi Juergen,
> >
> > > From: Juergen Schoenwaelder, July 20, 2018 6:14 AM
> > >
> > > On Thu, Jul 19, 2018 at 09:41:00AM +0000, Eric Voit (evoit) wrote:
> > >
> > > > That is what I was hoping would be accomplished with the text:
> > > >
> > > >    The method of identifying the targeted receiver IP address, port, and
> > > >    security credentials are left up to implementers of this
> > > >    specification.  For implementation guidance and a YANG model for
> this
> > > >    function, please look to
> > > >    [I-D.draft-ietf-netconf-netconf-client-server].
> > >
> > > I said this is to vague for me to understand. Repeating the pointer
> > > does not help me to understand. If this I-D has a clear solution,
> > > why not put it in place?
> >
> > The recommended solution is for vendors to augment in their own
> leafrefs into existing vendor specific call home configurations.
> Alternatively, solutions can be integrated within non-YANG based
> configuration structures.  This is how our configured subscription
> implementation works.
> >
> > To clarify the recommended solution, I have updated the reference above
> to:
> >
> > The method of identifying the targeted receiver IP address, port, and
> security credentials are left up to implementers of this specification..  For
> implementation guidance on how a leafref might constructed to accomplish
> this function, consider the following augmentation which would need to be
> made if the necessary connection parameters are maintained with ietf-
> netconf-client.yang as specified by [I-D.draft-ietf-netconf-netconf-client-
> server].
> >
> >   import ietf-netconf-client { prefix ncc; }
> >   import ietf-subscribed-notifications { prefix sn; }
> >   import ietf-netconf-subscribed-notifications { prefix nsn; }
> >
> >   augment "/sn:subscriptions/sn:subscription/sn:receivers/sn:receiver" {
> >    when 'derived-from(../../../transport, "nsn:netconf")';
> >    leaf netconf-endpoint {
> >       type leafref {
> >         path "/ncc:netconf-client/ncc:initiate/ncc:netconf-
> server/ncc:endpoints/ncc:endpoint/ncc:name";
> >       }
> >       description
> >         "Points to a remote NETCONF client intended to support a particular
> configured subscription.";
> >     }
> >   }
>
> So why do we create a _standard_ that says take the other standard and
> then roll your own non-standard module to make them work together?

My reading of your request was to make the current draft text less vague.   Hopefully providing an example augmentation based on a referenced standard-in-progress removes this ambiguity.

I would hope that when the other standard is ready, it doesn't take something non-standard to bind them.  There are earlier threads on how this might be done.

> > > > To cover this, there is the following text in Section 5 of
> > > > draft-ietf-netconf-
> > > netconf-event-notifications:
> > > >
> > > >    publisher SHOULD place the receiver into the
> > > >    "timeout" state after a predetermined number of either failed call
> > > >    home attempts or NETCONF sessions remotely terminated by the
> > > >    receiver.
> > > >
> > > >    Until NETCONF transport with a receiver has been established, and a
> > > >    "subscription-started" state change notification has been
> > > >    successfully sent for a configured subscription, that subscription's
> > > >    receiver MUST remain in either the "connecting" or the "timeout"
> > > >    state.
> > >
> > >     <-- call home -->
> > >  C: <hello>
> > >  S: <hello>
> > >  S: <notification>
> > >     <-- session terminated -->
> > >
> > > The server believes 'notification has been successfully sent'.  The
> > > other alternative would be a client that throws away notification
> > > messages not
> > > expected:
> > >
> > >     <-- call home -->
> > >  C: <hello>
> > >  S: <hello>
> > >  S: <notification> // -> discarded
> > >  S: <notification> // -> discarded
> > >  S: <notification> // -> discarded
> > >     [...]
> > >
> > > Both scenarioes are problematic.
> >
> > Agree that there are these two scenarios.
> >
> > The first scenario isn't elegant, but I don't see it as problematic.  Per SN,
> transport loss places all receivers back into their connecting state.   And the
> NETCONF-Notif text quoted above shows that multiple session terminations
> places the subscription into "timeout" so that something can figure out
> what is wrong.
> >
> > The second scenario requires that NETCONF Call home is successfully
> configured with the right credentials on both sides of the connection, and
> that the receiver's NETCONF client implementation is unable to terminate a
> session receiving unwanted notification traffic.  This is a concern, but an
> implementer at least has some protections by controlling the call home
> connectivity parameters tied to a specific receiver.   (See continue reasoning
> below)
>
> There is nothing in NETCONF that requires a client to terminate a session if
> the client receives an unexpected message. The control of call home
> parameters is no answer (first this is out of hands for the implementor and
> second the problem is likely a misconfiguration in the first place that leads
> to something not useful). I do not think your answers provide a solution - I
> am not interested in justifications.

A solution based on the correct call home parameter configuration does work..  But other than that, I agree with you: the current NETCONF configured subscription solution does take some valid error conditions out of the hands of implementers, and places them in the hands of operators.

The biggest question I see is whether implementers want to do the leg-work needed to building out the client capability advertisement capability to protect against these failure scenarios.   It would be great if NETCONF implementers signaled they are ready to pick this up.

> > > This is why I suggested that there needs to be some mechanism that
> > > tells the server that the client is willing to receive configured
> > > subscriptions before the server throws <notification> messages at
> > > the client. You will find differnet ideas in the mailing list archive.
> >
> > In talking about this issue in the past, suggestions were made that the
> NETCONF client could advertise its capabilities for supporting configured
> subscriptions as part of the hello exchange.  And that can be a partial(*)
> solution to the problem.  However there was pushback to this based on
> NETCONF client to server implementations not typically exchanging and
> interpreting the results of NETCONF client asserted capabilities.
> >
> > (*) the reason it is partial is that even if the client advertises support for
> NETCONF configured subscriptions, there is still the possibility that
> something goes wrong with the receiver's receiving process with the second
> scenario above.  In which case you still need to have a way to terminate the
> incoming notification stream by pulling down the NETCONF session.  Still,
> there are obviously benefits of client capability signaling as an extra layer of
> misconfiguration protections included.
>
> Simply pushing data to a receiver before checking that the receiver is willing
> and able to consume the data is in my view not good protocol design. There
> are cases where this is unavoidable but here we do have a client and server
> talking to each other that can do better.
>
> > Looking at what is in the v10 draft, there are some protections for both
> your scenarios above.  But certainly it is not robust.   And certainly having
> the client advertise configured receiver support would be nice, but this
> would require more development.   As based on the amount of
> development,  we used the design philosophy of "it is better to start with
> an 80% solution than a 120% solution :-)."
>
> There was also another proposal, namely to have the client request the
> start of notifications (like you would do with RC and SSE). I do not buy the
> 80% solution argument for an excuse of poor protocol design.

The other proposal is absolutely a valid way to do this.  And as Andy and others have pointed out, the current dynamic <establish-subscription> RPC can be kicked off by such a process.

However the call flow has more error conditions.   As a result, three years ago during scoping of the current suite of IETF subscription drafts, this proposal was determined to be out-of-scope.  This decision was not necessarily a bad choice as I have seen proprietary non-NETCONF configured subscription deployments thrive without a publisher requesting that a client invoke the <establish-subscription>.

As a result of the decision several years ago, no one has proposed an IETF standards based call flow to invoke a client based <establish-subscription>.  It would be excellent if someone wanted to propose a draft for this.

> > I agree that the current protection could have an improved description.
> So I have placed the following text into the NETCONF-Notif security
> considerations section:
> >
> > " For a configured subscription, if NETCONF call home has been configured
> with the working credentials, yet that the receiver's NETCONF client
> implementation is both unable to process inbound notifications and unable
> to terminate a session receiving unwanted traffic, then the receiver may
> receive unwanted event records.  To minimize this risk, a publisher
> implementation should use dedicated call home connectivity port numbers
> and credentials specific to configured subscriptions.  This will minimize the
> chance that an unplanned NETCONF receiver will receive configured
> subscription notifications unexpectedly."
>
> Well, I would rather fix the issue than pushing the problem ultimately to
> operators.

Your position is a valid one for sure.   I have not yet heard of operator wanting to attempt these more robust configuration protection mechanisms yet.  And as noted above, this is not a key use case for the deployments I am seeing yet.

Eric

> /js
>
> --
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.jacobs-2Duniversity.de_&d=DwMDaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=9zkP0xnJUvZGJ9EPoOH7Yhqn2gsBYaGTvjISlaJdcZo&m=PN9cAf8_9XKIE3CIKONsYfaQZNHYnom2GY-4Ru1wZpc&s=mzX6_2ZrzEpIEW1D4vVLFrCNSlKInzy2cwBddGrlbhg&e=>>





_______________________________________________

Netconf mailing list

Netconf@ietf.org<mailto:Netconf@ietf.org>

https://www.ietf.org/mailman/listinfo/netconf<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_netconf&d=DwMDaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=9zkP0xnJUvZGJ9EPoOH7Yhqn2gsBYaGTvjISlaJdcZo&m=PN9cAf8_9XKIE3CIKONsYfaQZNHYnom2GY-4Ru1wZpc&s=9Ys6soB849hZqMrZoA-PCyOMrNucuiZgMhIgoT8Tsbw&e=>