[spring] Dynamic Proxy in SR service programming

"Joel M. Halpern" <jmh@joelhalpern.com> Sat, 25 July 2020 17:49 UTC

Return-Path: <jmh@joelhalpern.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 780923A0D62 for <spring@ietfa.amsl.com>; Sat, 25 Jul 2020 10:49:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.12
X-Spam-Status: No, score=-2.12 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, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=joelhalpern.com
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id 5lZKi7yPrS42 for <spring@ietfa.amsl.com>; Sat, 25 Jul 2020 10:49:13 -0700 (PDT)
Received: from mailb2.tigertech.net (mailb2.tigertech.net []) (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 6E10C3A0D63 for <spring@ietf.org>; Sat, 25 Jul 2020 10:49:13 -0700 (PDT)
Received: from localhost (localhost []) by mailb2.tigertech.net (Postfix) with ESMTP id 4BDYV11l73z1ntfH for <spring@ietf.org>; Sat, 25 Jul 2020 10:49:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelhalpern.com; s=2.tigertech; t=1595699353; bh=CmPRgeRj0NjQMTbCFfPE+9G8gYwtVuy52Zqrks/XuZc=; h=To:From:Subject:Date:From; b=bHy/OCe2r7qgIOIrLg+mtnnJY3l1+HcM+EW1U000wjCgOjUa8qySe7ByP52/P/Fm9 leA9H+forP0fyZcx/LyP3VxtscAqaU94UMHcivh5BN1rKeJVfWN/no3KtJSd2mpaK+ 3s36j+j+w8dTJ24xBhAavjsgYfJuE5worbw+5cGc=
X-Quarantine-ID: <FT8Zd4Zn0EcP>
X-Virus-Scanned: Debian amavisd-new at b2.tigertech.net
Received: from [] (209-255-163-147.ip.mcleodusa.net []) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mailb2.tigertech.net (Postfix) with ESMTPSA id 4BDYV05wBVz1ntcy for <spring@ietf.org>; Sat, 25 Jul 2020 10:49:12 -0700 (PDT)
To: "spring@ietf.org" <spring@ietf.org>
From: "Joel M. Halpern" <jmh@joelhalpern.com>
Message-ID: <9175c5f7-0f1a-38db-55e5-0a0255a43622@joelhalpern.com>
Date: Sat, 25 Jul 2020 13:49:10 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/7KV_O1RFkbc-K9MUvtuQaJjloIY>
Subject: [spring] Dynamic Proxy in SR service programming
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Source Packet Routing in NetworkinG \(SPRING\)" <spring.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spring>, <mailto:spring-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spring/>
List-Post: <mailto:spring@ietf.org>
List-Help: <mailto:spring-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spring>, <mailto:spring-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 25 Jul 2020 17:49:14 -0000

<chair hat off; speaking only as an individual member of the WG>

In looking at the description of the dyanmic proxy behavior, I was 
reminded of a problem that the SFC working group wrestled with and never 
resolved to our satisfaction.  (In the SFC case, since we were not 
specifying the behavior of the proxy, we could leave it to implementors. 
  This document seems to be more specific.)

As I understand the draft, the dyanicm proxy for a non-SR aware service 
function can be handling packets subject ot multiple service policies. 
That is desirable.  These separate policies will have separate cache 
entries.  Also good.
But as far as I can tell, the re-attachment of the cached header to the 
returned packet (from the non-SR aware SF) is done based on first come, 
first cache.
What happens if, due to differences in internal processing, packets from 
different service policies get swapped in time.  So packets go in 
Packet-1, Packet-2, but come out Packet-2, Packet-1.  The text seems to 
result in the proxy reattaching the SR information to the wrong packets?

Am I misreading the text?

Depending upon ones, reading, this may apply to a case where a single 
device is service as multiple static proxies for a single non-SR aware 
SF.  It was not clear if that was intended to be allowed, but if so the 
same issue would seem to apply.

<chair hat returning to wherever it belongs.>