Re: [Netconf] IETF 101 SN Question 1: Proper designation of receiver

Kent Watsen <kwatsen@juniper.net> Thu, 21 June 2018 15:35 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 45015130ED8 for <netconf@ietfa.amsl.com>; Thu, 21 Jun 2018 08:35:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 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_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham 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 HeRpy1-GO3nT for <netconf@ietfa.amsl.com>; Thu, 21 Jun 2018 08:35:54 -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 234FD130ECC for <netconf@ietf.org>; Thu, 21 Jun 2018 08:35:54 -0700 (PDT)
Received: from pps.filterd (m0108163.ppops.net [127.0.0.1]) by mx0b-00273201.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w5LFXu5l001956; Thu, 21 Jun 2018 08:35:52 -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 : content-id : content-transfer-encoding : mime-version; s=PPS1017; bh=6A4gZV5xCDJk6wl/CNV6Bc29LycAIQabacNtY9Bn/jg=; b=ILpIW5gxqm/BiRVEQAbAyJ5BJN76Vx6fAv5ycJ90Qy2ywwAq/lPp9ZCmUS764lXQSTl0 ZL1Ph1dcZ+H4AFQ0ttxCb7RO0lMiAt5b/Z85HzqdbVkUrCWANdG7cedrtwHRxrI9Nm0t 9Y4DdCmtY17uiWjab0kwUGOgPcmi0+EYP7kIjbT5D1KyyVAAjenidgzxUzs10Yfjfyy8 O83tKVM6NVGjQolRom8vrLrZIDPBxSrcZtKhUEe1ijOPKQwr1KZ8jGOBoruh06FB+zVJ iDp1gBvtT9slnb/h42Q1WSH5fBHKF9f1tOpqdMRnu3EOikU3wiZVeruWkxxaZTZ5/3bX UA==
Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp0017.outbound.protection.outlook.com [216.32.180.17]) by mx0b-00273201.pphosted.com with ESMTP id 2jr4was319-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 21 Jun 2018 08:35:52 -0700
Received: from BYAPR05MB4230.namprd05.prod.outlook.com (52.135.200.153) by BYAPR05MB4551.namprd05.prod.outlook.com (52.135.203.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.884.16; Thu, 21 Jun 2018 15:35:50 +0000
Received: from BYAPR05MB4230.namprd05.prod.outlook.com ([fe80::959d:9fbe:90e4:3cc]) by BYAPR05MB4230.namprd05.prod.outlook.com ([fe80::959d:9fbe:90e4:3cc%4]) with mapi id 15.20.0884.010; Thu, 21 Jun 2018 15:35:49 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: "Eric Voit (evoit)" <evoit@cisco.com>, Martin Bjorklund <mbj@tail-f.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] IETF 101 SN Question 1: Proper designation of receiver
Thread-Index: AQHT7qXx6AR0hwD/VEqFVDxs31zp6aQ1kroAgAAEGoCAAA8IgIAAYuSAgCWiwACAAZ7SAIAK57IAgAEbxgD//+unAIAAbY0AgAEjt4A=
Date: Thu, 21 Jun 2018 15:35:49 +0000
Message-ID: <DA6A819A-680E-4524-A5B7-E2E36466FA8D@juniper.net>
References: <0c1b4c46d2de4190af83488dff293181@XCH-RTP-013.cisco.com> <20180518.144414.334141005925835002.mbj@tail-f.com> <fbb940135ccb465eb3f5b95d1fb53721@XCH-RTP-013.cisco.com> <20180518.170823.427077888694872498.mbj@tail-f.com> <595D0676-7DBD-4339-A551-374FBED705EC@juniper.net> <4a1e2f7367d54d088e517f7f6614765a@XCH-RTP-013.cisco.com> <ED90F588-9BCC-49C6-B8FF-18554247BD7F@juniper.net> <0a3b0b0b29e246b98c684d13162e15a8@XCH-RTP-013.cisco.com> <B8385EF7-C565-4F63-90AC-A4B36679B406@juniper.net> <c3b9cd55b30647e582d905320562a0eb@XCH-RTP-013.cisco.com> <CFB4FA41-C614-4604-B869-267533368335@juniper.net> <73ec3c52ffde452cae47642ce5ff2dd2@XCH-RTP-013.cisco.com>
In-Reply-To: <73ec3c52ffde452cae47642ce5ff2dd2@XCH-RTP-013.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.14]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BYAPR05MB4551; 7:rGDTzrcbDXWI1loDQiLOB7v/DdIYSK4KAMju1LPG5iQ8HVpepKvoG3U+7TuclBF3ZapEkWOP1K09V+UHkX1Ciaec9iMlHfztA2qvBAXe4RVtj5CDBcRUT9YcDx1KoTfo+lMyUuP9fFVju8un4Y+V4TP6YfYdHg2FXXpJiteyH/+FXhJvi+RiokNKS0mgyfxt635do16bTCOODbCLjvH6iFQyvCji87DgY53NvzJY3CJgG3UMG8yuLLiDavyn6tXK
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: f2a2085b-783c-4593-497b-08d5d78caa94
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:BYAPR05MB4551;
x-ms-traffictypediagnostic: BYAPR05MB4551:
x-microsoft-antispam-prvs: <BYAPR05MB4551B03AF33169215922D5B4A5760@BYAPR05MB4551.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231254)(944501410)(52105095)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:BYAPR05MB4551; BCL:0; PCL:0; RULEID:; SRVR:BYAPR05MB4551;
x-forefront-prvs: 07106EF9B9
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(39380400002)(39860400002)(366004)(376002)(396003)(69234005)(189003)(199004)(81156014)(446003)(6512007)(106356001)(2906002)(3846002)(76176011)(6116002)(26005)(3660700001)(59450400001)(11346002)(99286004)(3280700002)(476003)(110136005)(102836004)(14454004)(6506007)(105586002)(478600001)(305945005)(36756003)(58126008)(8936002)(82746002)(486006)(316002)(7736002)(81166006)(2900100001)(93886005)(186003)(8676002)(33656002)(2616005)(561944003)(229853002)(6246003)(66066001)(86362001)(5660300001)(83716003)(25786009)(68736007)(5250100002)(53936002)(6436002)(6486002)(4326008)(97736004); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR05MB4551; H:BYAPR05MB4230.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
x-microsoft-antispam-message-info: CRvse6zKl31djgPvQq5uWCUF+FvzbkT+DeNLpF/LowbzuAzCwABesP4eRy3XU3R5lmC5Dw23AbaQI2FS1QsaSSSunpqVrf6/ECwsTinr3LZ253RocikvtUaBxiCDZO8vrNRiJDSf+2vdzHBOnSvnx6DErDl8VmU7upA4+HCtJV/8oMtZYkqg+dzDhfzjnnkwgpPR4GKJQr586mOHiRgYzpn8zoXNZEh3aaWANZUcvAcYZciYtFjBvIbwsByweFhrGZrYmp9IOZxJqzjOwpFyBvbTxK3pt7XwKpXJVBru07TwTGRXJyiCkWLDAF3BmYHJ+OJ4WsURVadY42DPQOk8SQ==
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <D968AB9C983797478A2F016D3F9FD304@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-Network-Message-Id: f2a2085b-783c-4593-497b-08d5d78caa94
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2018 15:35:49.9080 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR05MB4551
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-06-21_06:, , 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=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1805220000 definitions=main-1806210171
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/DrtBCpQR4xr4ou47i76FqcdINWs>
Subject: Re: [Netconf] IETF 101 SN Question 1: Proper designation of receiver
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.26
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, 21 Jun 2018 15:35:57 -0000

Search for <Kent> below.

// contributor


<kent-orig> Okay, glad to see that you embrace using ietf-netconf-server, rather than ietf-netconf-client.  And I'll grant you that it's infinitely more likely that the ietf-netconf-server module would be implemented (i.e., the top-level /ncs:netconf-server container exists), more so than the ietf-netconf-client module would be implemented.  The WG created the top-level /ncc:netconf-client container more for the sake of symmetry than for having a use-case for when it would be implemented.  I think the question to ask is, is it possible that a device wants to use SN but doesn't *implement* ietf-netconf-server?
 
<Eric>  Yes, this will be possible.   Reasons would include: alternative transports (COMI, UDP), HTTP2 configured subscriptions (which might use ietf-restconf-server), or no need for a publisher to include the configured subscriptions feature.   

<Kent> I should've be more specific: is it possible that a device would use netconf-notif (where your leafref is defined) but not implement ietf-netconf-server?   Similarly, restconf-notif would presumably have a leafref to ietf-restconf-server, etc.
 


<kent-orig> Even though it seems like ietf-netconf-server might always be implemented, I do not yet think it is okay for this data model to have a leafref to one of the globally-configured /ncs:netconf-server/ncs:call-home/ncs:netconf-client instances, since that instance would be expected to use normal NETCONF interactions (i.e. client-driven); it could be a problem if the server started sending <subscription-started> messages right away.  For this reason, maybe the SN data model needs to have its own instance of the netconf-server-grouping (perhaps with the top-level /listen tree pruned out), so then it's clear that these netconf-server instances are specifically for subscriptions?
 
<Eric> The original thread was trying to enforce a single transport across the receivers of a configured subscription, and where objects specific to that transport could be augmented to those receivers.

<Kent> Sorry, can you go over this again.  What is the stated goal?  I recall Martin wanting the same encoding across receivers, but the same transport too?  I assume you don't mean "same transport" but "same kind of transport"?  So, if one receiver of a subscription uses netconf-notif, they all must use netconf-notif?

<Eric> The design pattern in the example augmentation below seems to do that.  This design pattern should hold whether a leafref is augmented in, or a group is augmented in.   This design pattern also works with the existing SN model.  I don’t know of an alternate proposal which meets these requirements.

<Kent> unsure.
 
<Eric> If this makes sense, the question becomes when to apply this design pattern on top of SN.   I agree there are interesting questions you raise above.  These questions appear to be bound to NETCONF call-home, and therefore the answers should be more closely aligned with draft-ietf-netconf-netconf-event-notifications rather than SN itself.

<Kent> agreed, most of this regards what's in the transport-binding drafts (netconf-notif, etc.), but I'm wanting to do this to prove out that the SN model.
 
<Eric> That is the driver behind my “ietf-netconf-subscribed-notifications-plus.yang” below.  Whether it augments in a  leafref or a group, this snippet of YANG provides a template for transport specific augmentations.  And using this template, how to embody NETCONF call home for subscriptions  could be delivered in a timeframe concurrent with “ietf-netconf-server.yang”.    

<Kent> I understand you're trying to say "let's not worry about how ietf-netconf-server works with this now".  I appreciate the desire to defer what we can.  I will again say, as co-chair, that I'm okay with us moving without having a draft that depends on ietf-netconf-server or the ietf-restconf-server modules.  That said, I don't understand what value the *conf-notif drafts have if they don't.  It seems that these drafts should depend on the ietf-*conf-server modules, but in order to get something to market faster, we want them to depend on something more like the ietf-*conf-no-crypto-server (right?), which the SN has further reduced to a single "address" leaf, which might be fine, but I don't think it should be in the SN model, since the ietf-*conf-server modules already define an address field, which would be redundant.

 
<Eric> Noe: If you wanted, a possible alternative to concurrent module delivery might be a single model.  To do this you would include a “subscription support” feature within “ietf-netconf-server.yang”.    The needed augmentation to "/sn:subscriptions/sn:subscription/sn:receivers/sn:receiver"  could then be made there.  (Note: that augmentation of course would be refined to meet the call-home questions/considerations from this thread, such as being aimed to its own instance of the netconf-server-grouping.)  

<Kent> If I understand correctly, this would be a way to flag the call-home connection as being for SN, which addresses the I raised about how that would be known.  This is possible, and it might work well, but rather than put it into the ietf-*conf-server models directly, I think it would be better for the *conf-notif drafts to augment in the flag.


<kent-orig> I also have an issue with the proposed leafref because it leaves open the possibility that two subscriptions could point to the same /ncs:netconf-server/ncs:call-home/ncs:netconf-client instance, which would likely cause protocol and state machine problems.  
 
<Eric> Looking closer, perhaps a better place for the receiver leafref would be a choice of: 
/ncs:netconf-server/ncs:call-home/ncs:netconf-client/ncs:name/ncs:ssh/ncs:endpoints/ncs:endpoint/ncs:name
or
/ncs:netconf-server/ncs:call-home/ncs:netconf-client/ncs:name/ncs:tls/ncs:endpoints/ncs:endpoint/ncs:name
 
But again, I am fine with anything which doesn’t insert redundant data as part of the receiver call home configuration.
 
<Kent> No, just pointing to /ncs:netconf-server/ncs:call-home/ncs:netconf-client should work, since the instance can have only one transport (ssh or tls) defined at a time.  That said, if your requirement is that they must all be ssh or must all be tls, we have a bigger issue.   FYI, the list of "endpoints" is there for HA reasons - they're a pool of failover endpoints the server can try - is that concept consistent with the SN draft?


/kw