Re: [Netconf] netconf call home connection type

Kent Watsen <kwatsen@juniper.net> Fri, 24 August 2018 21:41 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 7F99512DD85 for <netconf@ietfa.amsl.com>; Fri, 24 Aug 2018 14:41:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.711
X-Spam-Level:
X-Spam-Status: No, score=-2.711 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, T_DKIMWL_WL_HIGH=-0.01] 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 XzYw9z0ok0Rx for <netconf@ietfa.amsl.com>; Fri, 24 Aug 2018 14:41:03 -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 1D6B3129385 for <netconf@ietf.org>; Fri, 24 Aug 2018 14:41:03 -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 w7OLcwkk013628; Fri, 24 Aug 2018 14:41:02 -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=zwmFALMG5LEVSCB+Cg3+Lm4QPsBLURwQcu9kyAgRVME=; b=QQHny9u+4N2/Ol3AKnREueWTskPuQjsqjhAkxS55PfhVEpHxgxc582vxk2A1UXg8CXOD Qx2iD6Lr6n9QupmzKrGN2Csmv6L+TMAtty72WVSlgW0trhk2ikw7hK+Xg6HPXfnqB0Nm IH7J9oRGlSAETJh2qcBRN3sgy59p3re5D6S6uYsia8QKxVxteQhYX7e2XRtT7XuRJkxq 0R+py+zVYv1VTR8sPrCUHJaRlKMZdNnxG8pi0I8kUekGMQIG5iwqS4oeUyOpu1PbgO/+ 9APSB8V401agsgZR0sOIZg+lUreYJiPMWI6p0CkPes7sK7i/62OgpFA8/mr5MFrHbvYA Dw==
Received: from nam01-by2-obe.outbound.protection.outlook.com (mail-by2nam01lp0183.outbound.protection.outlook.com [216.32.181.183]) by mx0b-00273201.pphosted.com with ESMTP id 2m2mkr0fwg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 24 Aug 2018 14:41:01 -0700
Received: from DM6PR05MB4665.namprd05.prod.outlook.com (20.176.109.202) by DM6PR05MB4443.namprd05.prod.outlook.com (20.176.79.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.5; Fri, 24 Aug 2018 21:40:59 +0000
Received: from DM6PR05MB4665.namprd05.prod.outlook.com ([fe80::544a:dd4d:9524:9e6d]) by DM6PR05MB4665.namprd05.prod.outlook.com ([fe80::544a:dd4d:9524:9e6d%3]) with mapi id 15.20.1101.007; Fri, 24 Aug 2018 21:40:59 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Martin Bjorklund <mbj@tail-f.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] netconf call home connection type
Thread-Index: AQHUOUk8IdLBwLq95EWszUO4eDF4yKTKZDSAgAESIICAA7pUAA==
Date: Fri, 24 Aug 2018 21:40:59 +0000
Message-ID: <A5158A39-A0B8-481D-AD97-A5C49C849683@juniper.net>
References: <20180821.141923.1666876004159297021.mbj@tail-f.com> <4EAB4AE6-9957-46C5-A811-D0187C605AF2@juniper.net> <20180822.104517.297330493199273368.mbj@tail-f.com>
In-Reply-To: <20180822.104517.297330493199273368.mbj@tail-f.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; DM6PR05MB4443; 6:WlOhpW4xzzbkxj2S/NKIJOn1QbxBJ+jEh1hS1v4mteVl4H7qU8VyfOuBqCUbkgAdgDgilQURH5jEM5WJ3PLmt588jrXpTLDVm2faOK6xUPjXqVinllLcNF5E6+5rkzR/0NlVNcWhTHTFZYQB3v1ZMYN6WT1yXh5Jjswsa3501M2wmTpiC/tdS9S7D8bDLG2AmHJXSV1UKpaWlLZqaO2kvL/fLYb66TkBGVHwxzgMGdyIK+2nly9HdFt8UUWctiPlSpb8I9aLLA0B2PLfbUtyY9dzLU68whA2jplHbqm8rIUqb0AAfDrPJUWF0MiD7leBpS/k0l0cHpbcHCqukDHtVmxKKsWS9Z5hixi8cyam7p6OuZojr8IPajXTsOg77QmqBZ+RYv6qLCg98WS3271Eb1ghS7RhB2ArLnc/ibnVt1hs90T80pM4ebU/nP9FdqqIbOle2HacxEMfqAWZpZPqHQ==; 5:6nLCpcPe9PSsPV4ttZDygq29bF/zOjCoJDORJKo7ufv9wNw0wUqHSwCzsqL0hN9XE/Z4rBErx+9Cw6NyAr5vZWdHHzSLbzdLcl9OnPnrSR03kuLuQemo6KKCOPTBqqxkngGoIH4iVz7R9F4DryJpkmCw4fcTEfzWutpa/s4jtHo=; 7:v/S2vvlzZTP5ROHCwhY11+E0e6Hw8cwpfz2G8UNkzWQwSRtvq899LrWRjuT+RQ9CCZYaGQr56RHGJYMIIeZXmbWLUB2wV41H1lt3NJ0jBPoP001mcpBMI+1AEJMC/cF/XrHUY9Xen9WZHQDCNyQdeIfgROA1gb7L7ViT4stLoj7RJxCiBDB45jZx22cIeR8UHelC+5M7Vap21GcGtW8GJnS1Mp/Shd9leD2S5pUDSv1Ya5wteCfeGkJxiNQ2X+eb
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: 966b3044-bb49-4e19-8132-08d60a0a4805
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DM6PR05MB4443;
x-ms-traffictypediagnostic: DM6PR05MB4443:
x-microsoft-antispam-prvs: <DM6PR05MB4443C84D69EE9A0BE1B82F64A5360@DM6PR05MB4443.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(35073007944872);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231311)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123558120)(20161123560045)(20161123564045)(201708071742011)(7699016); SRVR:DM6PR05MB4443; BCL:0; PCL:0; RULEID:; SRVR:DM6PR05MB4443;
x-forefront-prvs: 07749F8C42
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(136003)(376002)(346002)(366004)(199004)(189003)(25786009)(26005)(102836004)(486006)(186003)(446003)(82746002)(11346002)(2616005)(33656002)(476003)(6916009)(316002)(66066001)(97736004)(36756003)(76176011)(2906002)(99286004)(58126008)(6506007)(81166006)(105586002)(106356001)(5660300001)(8936002)(14454004)(81156014)(83716003)(305945005)(68736007)(6116002)(3846002)(229853002)(53936002)(6436002)(6512007)(2900100001)(6486002)(5250100002)(4326008)(7736002)(6246003)(86362001)(8676002)(256004)(478600001)(14444005); DIR:OUT; SFP:1102; SCL:1; SRVR:DM6PR05MB4443; H:DM6PR05MB4665.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: w1nKSY9ccQjru+0/WgLJG5HHqFnVCM0ZcjZc2d8q9pPcChAuI2gRMzHEQNKcc1aQRT4bIiG4/vdLETeePbZ0t2WV8t+R29b8HQefpuXIiLuSzZgyFG5hyv8NKjJxR7b5a7AI0WALTqxxXf4HTTDtRIu+8r3kOtCq3DYWxe5x0DoVfm0e/ITrqW8rpujTBi1QGcv6bKxjD71vf4DIjvCmwRCcAw3nwEimznAv33k4YN8IMiYyfkrSWUk46Dn7qD4wQWgZMOfY8aE/6ohwiQplwM701C0/Q2Zp6XuTnhc3nItGy9eEcg0FHrQWxtr6P2x9+o6SZB9fGQGOHO5c7k/7mbbea1LRikF0UVzJx6qaDpM=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <9772F874F7883941B2E898378453C287@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-Network-Message-Id: 966b3044-bb49-4e19-8132-08d60a0a4805
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Aug 2018 21:40:59.2524 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR05MB4443
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-08-24_09:, , 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-1807170000 definitions=main-1808240219
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/JqmNgpSyH2i7LmQV7IA15cgex54>
Subject: Re: [Netconf] netconf call home connection type
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: Fri, 24 Aug 2018 21:41:05 -0000

>> "periodic" is meant to cover on-demand also.
>
> But even if it allows on-demand, it will still do periodic connects.

Correct, that's the point of this configuration.  Maybe we need to
define another enum called "on-demand"?



> Well, I didn't suggest to make "periodic" default; I suggested to make
> an explcit "on-demand" as default.

Popping back to your previous comment on this, per your suggestion, I
replaced the default with "mandatory true".


> Also, I don't agree with the statement that periodic call home is not
> commonly supported.  With our proprietary "call home" protocol, it is
> always used.  And IIRC the TR-069 call home feature also relies on
> periodic call home.

Good points.


> In fact, I don't understand when "persistent" will be used.  As soon
> as you have a somewhat large set of devices to manage, you can't
> maintain persistent connections to all of them.

I have seen persistent connections used.  The "persistent" container's
description statement says:

    This connection type minimizes any NETCONF client
    to NETCONF server data-transfer delay, albeit at
    the expense of holding resources longer.";

and netconf-client-server-06 Section 5.6.4 says:

   Support both persistent and periodic connections

   NETCONF clients may vary greatly on how frequently they need to
   interact with a NETCONF server, how responsive interactions need to
   be, and how many simultaneous connections they can support.  Some
   clients may need a persistent connection to servers to optimize real-
   time interactions, while others prefer periodic interactions in order
   to minimize resource requirements.  Therefore, when it is necessary
   for server to initiate connections, it should be configurable if the
   connection is persistent or periodic.





>> This
>> is what is sometimes called a "linger-timeout".  The connection stays
>> open a little while longer in case the remote peer has a follow-up,
>> as they often do.  There would be no need for YANG-push to have this
>> concept, being primarily a one-way flow.
>
> Not really; it is not needed in YANG puch b/c the push parameters
> define *how often to poll*.  This is unrelated to the call home
> parameters.  For example, I can envision a situation where you want to
> poll say once an hour, but then call home once a day.  

I'm unsure what your point is, but I note that this use-case is satisfied
if YP (via SN and NN) ref-ed a netconf-server instance that had "periodic"
(which is intended to also support on-demand) with the periodicity of 24
hours.  And the concept of the idle-timeout (a linger timeout) is good.


> Also, you can have a dynamic subscription (w/o call home) with
> periodic YANG push.

Of course.


>> The client-server drafts have no equivalent to "anchor-time", some
>> point in the future after which connections begin.
>
> It is not a time in the future.

The description statement says before or after.  Maybe the description
statement is unclear in its intent.  In the context of the client-server
drafts, "before" makes no sense (there is no replay), so only "after"
remains, hence my "future" comment.


>> This looks complex with questionable value, worth keeping?
>
> If used in the server model, it can be used to handle a large number
> or devices to ensure that not all of them call home at the same time.

Programming the "periodic" connections on exact time boundaries 
might be over engineering it, but maybe not. Does it matter if 
a device  calls-home once a day vs exactly at 3am every day?

As currently defined, even if all devices were configured to do 
"periodic" at the exact same time, they eventually diverge as 
random delays skew  each device's counters.  A spread occurs 
over time and, besides, there are techniques for handling load.


> To be clear, I think we should have: (in the server model)
>
>           |        +--rw periodic!
>           |           +--rw idle-timeout?       uint16
>           |           +--rw period?             uint16
>           |           +--rw anchor-time?        yang:date-and-time

What if period is not set?  
What if anchor-time is not set?

In YP, "period" is mandatory but, still, the description statements
aren't clear.


Kent // contributor