[Sidrops] Re: draft-ietf-sidrops-8210bis-23 is ambiguous session mismatch handling

Ralph Covelli <rcovelli@he.net> Mon, 12 January 2026 03:23 UTC

Return-Path: <rcovelli@he.net>
X-Original-To: sidrops@mail2.ietf.org
Delivered-To: sidrops@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 3DDE7A63AD6F for <sidrops@mail2.ietf.org>; Sun, 11 Jan 2026 19:23:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -0.2
X-Spam-Level:
X-Spam-Status: No, score=-0.2 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=he.net
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0bWEEQ6xZ-0O for <sidrops@mail2.ietf.org>; Sun, 11 Jan 2026 19:23:52 -0800 (PST)
Received: from mailhost.lightning.net (mailhost.lightning.net [209.51.160.9]) by mail2.ietf.org (Postfix) with SMTP id C6311A63AD6A for <sidrops@ietf.org>; Sun, 11 Jan 2026 19:23:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=he.net; s=lightning; x=1768793022; i=rcovelli@he.net; h=Received: Received:Message-ID:Date:MIME-Version:User-Agent:Subject:To: References:Content-Language:From:In-Reply-To:Content-Type: Content-Transfer-Encoding; bh=Bk9F1jXIGPTGMl2NDxQB2dyzg6HJr39gqk rqdWhU6Mk=; b=CVYE+9vccx0wp9ho5YSrW2dNyUVh/YwIhw8z92cFXmuG31O8Op rfvBKdBobiWPfXjWSMNhEff2GOMhFp2z4UtoqFWnZLPHhMFw5xBPksSf4PIE3sBp 52KSe70r70sAr0RLrusAqN9lZdm7uDQHEo21+GTvV8KXAkXuU/SOpYLuk=
Received: (qmail 30121 invoked from network); 12 Jan 2026 03:23:42 -0000
Received: from traffic.lightning.net (HELO ?172.16.2.4?) (ralph@lightning.net@209.51.160.8) by mailhost.lightning.net with ESMTPA; 12 Jan 2026 03:23:42 -0000
Message-ID: <02165af0-c433-485d-a59e-7d9f37c56698@he.net>
Date: Sun, 11 Jan 2026 22:24:02 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: sidrops@ietf.org
References: <ff478e6b-ba0d-47a2-92b7-7b94f7124756@he.net> <aUjTEw4hDo1Xji2t@TomH-498551.lan> <7fc574e2-5781-404b-b0d4-d2fabb9666b2@he.net> <2aa62837-b672-4b1b-8755-c9a7cfd6d7a7@he.net> <30747a48-1408-492b-bbc0-77f7526a3cb0@he.net> <aUnYWRZyaefsrsOq@TomH-498551.lan> <88f1cf70-94e7-41b1-b4bb-1e88fd88f319@he.net> <d063ed77-588d-409c-ac52-71a1a27aa5f6@he.net> <aUoxJe4HNCxe6jaY@TomH-498551.lan> <c197cb95-dfbd-4809-8085-5cc0ca918b79@he.net> <aVx6Vr4Lj6KCVhRy@TomH-498551.lan>
Content-Language: en-US
From: Ralph Covelli <rcovelli@he.net>
In-Reply-To: <aVx6Vr4Lj6KCVhRy@TomH-498551.lan>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Message-ID-Hash: 6I4D65AJSPOWWIIFWM4FTCLCAWY6MPUN
X-Message-ID-Hash: 6I4D65AJSPOWWIIFWM4FTCLCAWY6MPUN
X-MailFrom: rcovelli@he.net
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-sidrops.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Sidrops] Re: draft-ietf-sidrops-8210bis-23 is ambiguous session mismatch handling
List-Id: A list for the SIDR Operations WG <sidrops.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/sidrops/Tv-jmsaZrzj7Dorin1UyUSI62ZE>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sidrops>
List-Help: <mailto:sidrops-request@ietf.org?subject=help>
List-Owner: <mailto:sidrops-owner@ietf.org>
List-Post: <mailto:sidrops@ietf.org>
List-Subscribe: <mailto:sidrops-join@ietf.org>
List-Unsubscribe: <mailto:sidrops-leave@ietf.org>

Hi Tom!

On 1/5/2026 9:58 PM, Tom Harrison wrote:
> Hi Ralph,
> Instead of my previous suggested changes to section 5.3, what about
> the following?
>
>     If the cache does not have the data needed to update the router,
>     then it responds with a Cache Reset PDU (Section 5.9).  There are
>     two main scenarios where this will happen: when the Serial Number
>     requested in the Serial Query is no longer available to the cache,
>     and when the session ID in the Serial Query designates a session
>     that is no longer available to the cache.
>
>     Per section 5.1, if the Serial Query contains a session ID that is
>     not equal to that previously established in the session between the
>     router and the cache, the cache terminates the session with an
>     Error Report PDU with code 0 ("Corrupt Data").  The behaviour in
>     the previous paragraph is limited to the case where the router is
>     using the previously-established session ID, but that session is no
>     longer available to the cache.
>
> -Tom
>
> _______________________________________________
> Sidrops mailing list -- sidrops@ietf.org
> To unsubscribe send an email to sidrops-leave@ietf.org
>
Yes!  I think your new wording is great!  I support these changes.

Thank you Tom!

What I find so interesting about the discussion is that "what 
constitutes protocol negotiation?" is a relative question.

I believe both our positions to be valid! :-)

In this case, the RTR negotiation can be seen from 3 points of view.  
The Router's view,  the RTR Cache's view and the bird's eye view.

 From the bird's eye view and the Router's view the version negotiation 
can really be boiled down to 2 messages.  Router to Cache then Cache to 
Router.

Since the negotiation PDU can only be a Reset Query or a Serial Query 
the back and forth can follow 1 of 7 paths (I think?):

1) Reset Query -> Cache Response

2) Reset Query -> Error No data

3) Reset Query -> Error Unsupported Protocol  (fatal)

4) Serial Query -> Cache Response

5) Serial Query -> Error No Data  (maybe Cache Reset instead?)

6) Serial Query -> Cache Reset

7) Serial Query -> Error Unsupported Protocol  (fatal)

 From the RTR Cache's point of view negotiation can be thought of as 
done once the server has read the version out of the Query and decided 
what to do.  So you are *correct* from this point of view. :-)

On a side note...

I would also like to point out there are *2* cases when Cache Resets are 
used in protocol negotiation,  not just Session ID changes.

Consider the following:

1) Router disconnects from RTR cache.

2) RTR cache has history size + 1 changes to serial.

3) Router reconnects to RTR Cache and issues Serial Query on a stale 
serial number.

4) RTR Cache responds with a Cache Reset as part of protocol negotiation.

Again,  pretty much all possible roads lead to convergence anyway.

Thanks again Tom!  Awesome work!