Re: [netconf] RPC request Timeout

Jonathan Hansford <jonathan@hansfords.net> Mon, 21 March 2022 15:34 UTC

Return-Path: <jonathan@hansfords.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 4D9143A0C5F for <netconf@ietfa.amsl.com>; Mon, 21 Mar 2022 08:34:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=hansfords.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 FY6PmSENlZpp for <netconf@ietfa.amsl.com>; Mon, 21 Mar 2022 08:34:18 -0700 (PDT)
Received: from sender11-op-o11.zoho.eu (sender11-op-o11.zoho.eu [31.186.226.225]) (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 8F2A23A08AE for <netconf@ietf.org>; Mon, 21 Mar 2022 08:34:17 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1647876844; cv=none; d=zohomail.eu; s=zohoarc; b=aYMd7HkseFBrHQkUeHL9Y3iiXR4vhy1ngKVrw1yV5ET3TwXfzbqAU65+wh8wPltK9yteoAmjW6v/F5+g8ELnWtTBiwowSmJyVYW4dicASugNDAcGJEW175Zm7qf4/TffkJ6lKXxuuPwFA6STmSc81q0hh0TaBM7zaxnJH4JAro4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu; s=zohoarc; t=1647876844; h=Content-Type:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:Reply-To:References:Subject:To; bh=/LMywM7yNnqEnSnI53bWucIxmLC53Rb2qS1qBM7WAKw=; b=A2kdglA8b6lXW+PIxedC4nnaKckegaE/0IYM2NW+FWv0zJ23GClt+8c1Qhyq9zmBfhS0XKkiDDMxf8VsHJ/JhufPsaKPnDopelpGS8Pn8WZiMxC5HZFVbBOjtBDBhrTvN3uLhRI6OKWlucGXBENggs5vPeawbROykXKyVfgpWFs=
ARC-Authentication-Results: i=1; mx.zohomail.eu; dkim=pass header.i=hansfords.net; spf=pass smtp.mailfrom=jonathan@hansfords.net; dmarc=pass header.from=<jonathan@hansfords.net>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1647876844; s=hansfordsdefault; d=hansfords.net; i=jonathan@hansfords.net; h=From:To:Subject:Cc:Date:Message-Id:In-Reply-To:References:Reply-To:Mime-Version:Content-Type; bh=/LMywM7yNnqEnSnI53bWucIxmLC53Rb2qS1qBM7WAKw=; b=EwzbSAvjkJIX9YSm+yDtqVnF8P6hPtVsn8HW/7559fnwa5WNtWtV667qXRRauW/W zEqem6nW4UsVuqQKDcMlL5oVHG98sL0aA87y7U/G6MY/7Ykex8FbKbe4ALS/eXvCx7z EUMVamoOv5hVCvRbs8SDjxVB6CJ5ZRsZ0H7VS7XU=
Received: from [192.168.54.20] (92.41.60.163.threembb.co.uk [92.41.60.163]) by mx.zoho.eu with SMTPS id 1647876840805807.573934581209; Mon, 21 Mar 2022 16:34:00 +0100 (CET)
From: Jonathan Hansford <jonathan@hansfords.net>
To: Kent Watsen <kent@watsen.net>
Cc: "netconf@ietf.org" <netconf@ietf.org>
Date: Mon, 21 Mar 2022 15:34:01 +0000
Message-Id: <emb9c5a4f2-282c-4458-8744-b077543f49fa@vanguard>
In-Reply-To: <0100017fac9e342d-bc20b9fd-7ef0-41e5-b83b-766f0159953c-000000@email.amazonses.com>
References: <em6de2e9d8-75b4-4715-b22b-f0c5c4797a78@vanguard> <0100017fac9e342d-bc20b9fd-7ef0-41e5-b83b-766f0159953c-000000@email.amazonses.com>
Reply-To: Jonathan Hansford <jonathan@hansfords.net>
User-Agent: eM_Client/8.2.1659.0
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="------=_MB91040B9B-0864-4334-B197-B6B1C2978B08"
X-ZohoMailClient: External
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/kCnwIsmgHRKsAXjysgKoeFKwAbs>
Subject: Re: [netconf] RPC request Timeout
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, 21 Mar 2022 15:34:23 -0000

Hi Kent,

I'm grateful for your reply, however I don't believe it addressed my 
questions which relate to aspects of NETCONF error handling for which I 
cannot find guidance in RFC 6241. I think what I am looking for is any 
guidance from existing implementations, if people are willing to share.

1) How should a client behave if it doesn't receive an <rpc-reply> to an 
<rpc> request? Is the assumption that, since the transport protocol 
"provides reliable, sequenced data delivery", the server has failed and 
the session should be terminated, or should the client retry? If the 
latter, for how long should it wait before retrying? Should it retry 
with the same message-id? And how many times should it try to send the 
<rpc> request before terminating and attempting to re-establish the 
session?

2) If the server receives a duplicate <rpc> request with the same 
message-id, how should it behave? Should it resend its previous 
<rpc-reply>? Respond as though it were a new request? What if other 
clients have managed to send <rpc> requests in the meantime that have 
e.g. changed one of the server's configuration datastores?

3) If the client is pipelining, is there a maximum number of additional 
<rpc> requests one might typically expect it to send while awaiting an 
<rpc-reply>?

4) What should a client do if it receives an <rpc-reply> with the wrong 
message-id? Should it terminate and re-establish the session?

Thanks,

Jonathan

On 21/03/2022 13:15:23, "Kent Watsen" <kent@watsen.net> wrote:

>Hi Jonathan,
>
>>On Mar 21, 2022, at 4:59 AM, Jonathan Hansford 
>><jonathan=40hansfords.net@dmarc.ietf.org> wrote:
>>
>>Hi,
>>
>>back in 2004, V. Sarma asked (see Pipelining and Timeout queries 
>><https://mailarchive.ietf.org/arch/msg/netconf/h_vSQNr9YY2ewAQQHudNJaTCpns/>):
>>
>>Once the netconf manager sends a rpc request to the managed device, 
>>how long should it wait for the rpc-reply?
>>
>>Can the netconf manager time-out after a specified time interval?
>>
>>I know this is a basic question, but it doesn't appear it was ever 
>>answered. So, can anyone advise what the typical strategies are:
>>When the client doesn't receive an rpc-reply (e.g. time interval to 
>>retry, number of retries, presumably followed by closing the session 
>>if it is still open)?
>>When the server receives a duplicate rpc request (e.g. reply based on 
>>latest config and state)?
>
>I'm unaware of the client-behavior being defined but, in general, I 
>expect server-interaction to be fairly responsive (seconds, not 
>minutes).  Notably, the undefined expectation is that the server will 
>ACK an <edit-config> or <commit> immediately after validating the input 
>but *before* applying the update (e.g., to the data plane), which may 
>take minutes.  The opstate-reqs draft 
><https://datatracker.ietf.org/doc/html/draft-ietf-netmod-opstate-reqs> 
>discussed asynchronous responses, but the WG didn't act on it...instead 
>an ability to compare datastores to detect what didn't get applied in 
>RFC 9144 <https://datatracker.ietf.org/doc/rfc9144/>.
>
>Kent // contributor
>
>
>
>
>
>>
>>Thanks,
>>
>>Jonathan
>>_______________________________________________
>>netconf mailing list
>>netconf@ietf.org
>>https://www.ietf.org/mailman/listinfo/netconf
>