[spring] USD/USP question in draft-ietf-spring-srv6-network-programming-06.txt

"Wang, Weibin (NSB - CN/Shanghai)" <weibin.wang@nokia-sbell.com> Sun, 15 December 2019 02:08 UTC

Return-Path: <weibin.wang@nokia-sbell.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 2AA79120099 for <spring@ietfa.amsl.com>; Sat, 14 Dec 2019 18:08:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id 3qiI6ekLme7g for <spring@ietfa.amsl.com>; Sat, 14 Dec 2019 18:08:44 -0800 (PST)
Received: from cnshjsmin05.nokia-sbell.com (cnshjsmin05.app.nokia-sbell.com []) (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 09FFD12004C for <spring@ietf.org>; Sat, 14 Dec 2019 18:08:41 -0800 (PST)
X-AuditID: ac18929d-537ff70000002afa-b3-5df595a7332e
Received: from CNSHPPEXCH1602.nsn-intra.net (Unknown_Domain []) (using TLS with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by cnshjsmin05.nokia-sbell.com (Symantec Messaging Gateway) with SMTP id BA.E1.11002.7A595FD5; Sun, 15 Dec 2019 10:08:39 +0800 (HKT)
Received: from CNSHPPEXCH1605.nsn-intra.net ( by CNSHPPEXCH1602.nsn-intra.net ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 15 Dec 2019 10:08:38 +0800
Received: from CNSHPPEXCH1605.nsn-intra.net ([]) by CNSHPPEXCH1605.nsn-intra.net ([]) with mapi id 15.01.1713.007; Sun, 15 Dec 2019 10:08:38 +0800
From: "Wang, Weibin (NSB - CN/Shanghai)" <weibin.wang@nokia-sbell.com>
To: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>
CC: "spring@ietf.org" <spring@ietf.org>
Thread-Topic: USD/USP question in draft-ietf-spring-srv6-network-programming-06.txt
Thread-Index: AdWy4hb6WRZE2f3ZSWKmDwtbtf5+NA==
Date: Sun, 15 Dec 2019 02:08:38 +0000
Message-ID: <8532651c71c94715abfa96990aec3854@nokia-sbell.com>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_8532651c71c94715abfa96990aec3854nokiasbellcom_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupjkeLIzCtJLcpLzFFi42Jp/22cprt86tdYgyszRS1+Hd/FYnH8wm9G ByaPKb83snosWfKTKYApissmJTUnsyy1SN8ugSvj49brzAWzyyu23G1iaWBcltHFyMkhIWAi cWBvD3MXIxeHkMAhJolbexuZIJy/jBILj71hh3A2MUrc/vKWFaSFTcBNYtK2XWwgtoiAqcTU DVfA4swC6hLL9l9gAbGFBfwkLt3ZzQxREypx7M1MdghbT+LExtdANgcHi4CqxNwL9iBhXgE7 iVPXJzCC2IwCYhLfT61hghgpLnHryXwmiEsFJJbsOc8MYYtKvHz8jxVkjISAkkTfBqjyVInZ W1ayQ4wUlDg58wnLBEbhWUgmzUJSNgtJGURcR2LB7k9sELa2xLKFr5lh7DMHHjMhiy9gZF/F KJ2cV5yRVZybmWdgqpeXn52ZqFuclJqTo5ecn7uJERhLayQmzd3B2NkZf4hRgINRiYc3Q/xr rBBrYllxZe4hRgkOZiUR3lTtz7FCvCmJlVWpRfnxRaU5qcWHGKU5WJTEeVsmL4wVEkhPLEnN Tk0tSC2CyTJxcEo1MHpwl73/06fHuZjfb6nZ0QfCH/tvuolaL/957qsS97PE2xu2Ba3hP/E/ PnJ3p/iuDSI2s+I/lz8K3LLk6vp1GidfXDbNOeqrGugXcSqI6UrJ9yUejL1G0Xv6JY6Jsl1Q l51lpLlCrSQkIv1ze8y29z4aKh7hO5gqZWW3e/6TvvDQ48z159M1vyuxFGckGmoxFxUnAgCr zojBoQIAAA==
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/aLFYx6EXCyJE69Pwp-3l0SpKNRs>
Subject: [spring] USD/USP question in draft-ietf-spring-srv6-network-programming-06.txt
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: Sun, 15 Dec 2019 02:08:49 -0000

Hi Pablo:

After the 2 context assumption in previous version of this draft,  "we assume that there is no other extension header than the SRH."  and  "We assume
   that the SRH may be present multiple times inside each packet", are removed in this last draft, I feel a bit confusion on USD SID, as well as combination of USD & USP.

First, within the content of this last draft, the word "Further on" marked red in the following pseudocode in section "4.16.3" is hard to understand if the packet being processed has other EH embed between SRH and Upper-layer header, such as AH or other EH, then the processing control of this packet will be passed to normal IPv6 module from current SRH processing module in SR-Node, so my question is : Can its control after completing AH processing (for example)  be back to SRH module (or call it pseudocode module) to proceed the next header like "upper-lay header type ==41 or 4".
Or, if not, Did you created a new EH processing protocol stack instance in parallel to normal IPv6 module within the scope of SRH processing in SR-node.

4.16.3.  USD: Ultimate Segment Decapsulation

S02.   If (Segments Left == 0) {
   S03.      Skip the SRH processing and proceed to the next header
   S04.   }

Further on, the Upper-layer header processing of the End, End.X and
   End.T behaviors are modified as follows:

   S01. If (Upper-layer Header type == 41 || 4) {
   S02.    Remove the outer IPv6 Header with all its extension headers
   S03.    Submit the packet to the egress IP FIB lookup and
              transmission to the new destination
   S04. } Else {
   S05.    Send an ICMP Parameter Problem message to the Source Address
              Code 4 (SR Upper-layer Header Error),
              Pointer set to the offset of the upper-layer header.
              Interrupt packet processing and discard the packet.

   S06. }

>From my understanding, the all processing action about specific SID must be completed successively. That is to say, upon USD, the upper-layer header (type 41 or 4) must be followed the SRH header being processed currently, or second SRH following the same rule (of course, the draft not considering 2 or more successive SRHs).

Second, the mixed SIDs function with combination of USD and USP (even PSP&USD&USP), I think, it is easy to understand when the two assumption above exist, but now I think it isn't clear if you only provide the following sentence in this draft, i.e.  "if ... else..." statement:
"An implementation that supports the USD flavor in conjunction with
   the USP flavor MAY optimize the packet processing by first looking
   whether the conditions for the USD flavor are met, in which case it
   can proceed with USD processing else do USP processing."
This confusion is also described in my another mail. Of course, if the first question is addressed then this confusion does not exist.

By the way, is it really no different in text description before and after the two context assumption above removed?

Cheers !

WANG Weibin