[spring] SRv6 PSP use case

"Joel M. Halpern" <jmh@joelhalpern.com> Wed, 04 March 2020 20:41 UTC

Return-Path: <jmh@joelhalpern.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 317763A082B for <spring@ietfa.amsl.com>; Wed, 4 Mar 2020 12:41:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, 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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CUpmR8-qvOx6 for <spring@ietfa.amsl.com>; Wed, 4 Mar 2020 12:41:46 -0800 (PST)
Received: from maila2.tigertech.net (maila2.tigertech.net [208.80.4.152]) (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 E482F3A0829 for <spring@ietf.org>; Wed, 4 Mar 2020 12:41:45 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by maila2.tigertech.net (Postfix) with ESMTP id 48Xm555XT4z6G8Dw for <spring@ietf.org>; Wed, 4 Mar 2020 12:41:45 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelhalpern.com; s=2.tigertech; t=1583354505; bh=kTtsl5gnPv9s5grO+N6mCbYBLVLRZgRas2ThX/TZ6bU=; h=To:From:Subject:Date:From; b=T0CSx2Olyjy3N0TCTUXBwIiw3VVrwR7rTIMgEhyX3RyOOiWJ/vZEzXw0OQl70uqqQ chMxZp6R5+NQFWlcWv6aFfrIe5Yydf5HDXFHijk60HQujE1Qm9RxiQaHFh0VBQcWSl IaEDvTUS2E5jlY+R3X14pMMSCJQeDqKmP16peXyc=
X-Virus-Scanned: Debian amavisd-new at a2.tigertech.net
Received: from [192.168.128.43] (209-255-163-147.ip.mcleodusa.net [209.255.163.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by maila2.tigertech.net (Postfix) with ESMTPSA id 48Xm552R4Cz6G8DZ for <spring@ietf.org>; Wed, 4 Mar 2020 12:41:45 -0800 (PST)
To: "spring@ietf.org" <spring@ietf.org>
From: "Joel M. Halpern" <jmh@joelhalpern.com>
Message-ID: <2e26bfcf-b5a6-203b-e4f3-3ee654e59598@joelhalpern.com>
Date: Wed, 04 Mar 2020 15:41:44 -0500
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.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/UBvebWMkDTj7QDBkkGOflrT1t4o>
Subject: [spring] SRv6 PSP use case
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: Wed, 04 Mar 2020 20:41:48 -0000

I think I have now inferred what the intended use case is for PSP.  I 
really wish folks had stated it in full and explicitly, rather than 
implicitly a piece at a time, on the list.

As noted below after the explanation, I think that supporting this use 
case does require some explanations somewhere.  And given that the 
support is in terms of PSP, I guess the NP draft is the place to put the 
caveats.

As far as I can tell, the use case is as follows.
The operator has devices, that they reasonably wish to continue to use.
These devices can support encapsulation and decapsulation with 
sufficiently arbitrary content.
These devices comply with the RFC 8200 requirement for ignoring routing 
headers by punting those to the slow path.  With significant performance 
penalty.
   --  Presumably, these devices have some form of protection to prevent 
this slow-pathing from becoming a DoS on the other necessary control 
functions.  I don't think that protection is an SRv6 or NP problem.  But 
it is necessary.

Thus, the SRv6 designers want to be able to use these devices as part of 
the SRv6 domain, strictly at entry and exit.  They use PSP as a way to 
avoid hitting the slow path on decapsulate.  (Presumably because the 
check that punts the packet to the slow path is before the check that 
says "decapsulate".  And it probably should be in that order.)

In order to support this, the authors have also pretended that maximum 
SID depth is meaningful for a thing that is not a stack, and that 0 
means "no SRH permitted".  While an interesting stretch on the routing 
protocol semantics, it is not SPRING's problem.

The fact that these nodes can not be SRv6 end nodes other than as 
terminal nodes with a prior node that advertised PSP SID(s) and where 
those PSP SIDs are used on any path that terminates at these end nodes 
is important.  It probably should be called out.  It would have helped a 
number of the examples that were discussed on the list.

There is another implication that needs to be stated explicitly.  And I 
do not know how the necessary property can be indicated.  These nodes 
MUST NOT be transit nodes in an SRv6 path.

Having parsed the use case, I would note that the topological 
constraints are pretty severe.  the operator must ensure that there are 
PSP processing nodes sufficiently close to these edge nodes that they do 
not destroy the traffic engineering properties in order to achieve the 
ingress / egress utilization.

If all of this had been stated explicitly, I think we could have had a 
clear discussion of teh costs and benefits.

Yours,
Joel