Re: [spring] Question on draft-ietf-spring-srv6-network-programming-12

"Joel M. Halpern" <jmh@joelhalpern.com> Mon, 16 March 2020 19:23 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 D62283A0F6F for <spring@ietfa.amsl.com>; Mon, 16 Mar 2020 12:23:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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.001, RCVD_IN_MSPIKE_WL=0.001, 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 IcNXlzxzUwrt for <spring@ietfa.amsl.com>; Mon, 16 Mar 2020 12:23:21 -0700 (PDT)
Received: from mailb2.tigertech.net (mailb2.tigertech.net [208.80.4.154]) (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 260BB3A0F6D for <spring@ietf.org>; Mon, 16 Mar 2020 12:23:21 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mailb2.tigertech.net (Postfix) with ESMTP id 48h5n46yvsz1ns2H; Mon, 16 Mar 2020 12:23:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelhalpern.com; s=2.tigertech; t=1584386600; bh=KcuKUqqqe7WJEX0ejGkKFNtpy5BrHEUXgm5/nHlgmhY=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=nzLvpQtR8lY5q8wnYeBnLhMGCOMCLrbL60IR+xFmlYciIFG2tsbkp/va+AAfE/Iu1 ymJ4eLrwx91d+Cr3kUIirwUNgpnpx+8VggE2ZxT9l6ZpuDDlazdsBQSVzGRnaXLvRL Zr1gSNezYABTZoT1urEfW+Hm0zZboGUNhmBIjiB4=
X-Virus-Scanned: Debian amavisd-new at b2.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 mailb2.tigertech.net (Postfix) with ESMTPSA id 48h5n42tYCz1p0L6; Mon, 16 Mar 2020 12:23:20 -0700 (PDT)
To: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>
Cc: "spring@ietf.org" <spring@ietf.org>
References: <D5A410FF-EEA3-4F01-8147-5E180EE35DE6@chopps.org> <A6B1D2E0-0230-468B-931F-C6C976BDC9DC@cisco.com> <8ef9a49b-0edf-2040-86d6-7c68381352c6@joelhalpern.com> <C060BCFF-49E9-43DE-A816-35509B47033D@cisco.com>
From: "Joel M. Halpern" <jmh@joelhalpern.com>
Message-ID: <9e2ea3c8-67c4-2442-4ce8-d42cc89a3a0d@joelhalpern.com>
Date: Mon, 16 Mar 2020 15:23:17 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0
MIME-Version: 1.0
In-Reply-To: <C060BCFF-49E9-43DE-A816-35509B47033D@cisco.com>
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/bjdqlVbv7mufrUTzgD6xtpEznAc>
Subject: Re: [spring] Question on draft-ietf-spring-srv6-network-programming-12
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: Mon, 16 Mar 2020 19:23:23 -0000

The changes in section 4.16.1 do improve the clarity.

Having said that, the text about motivating PSP reads:
     PSP allows, for example, for an egress PE to receive a packet
     with a segment in the DA of the outer header without any need to
     process the	SRH.
is a very weak and confusing explanation.  Given that 8200 requires 
nodes to be able to ignore any routing header with SL=0, the text as 
written seems to be without benefit.  Yes, I have seen descriptions of 
the benefits from others on the list.  But this text is not it.

If indeed the benefit is a node where any extension header presence 
causes much slower processing (as was alluded to by other posters on the 
list) then it seems that should be acknowledged in the description. 
Doing something slowly is indeed still compliant to 8200.
I have asked that we go a step further, and acknowledge that such nodes 
have other limitations and that if we are going to make allowance for 
them, we should call out those other issues as well.

Yours,
Joel

On 3/16/2020 2:55 PM, Pablo Camarillo (pcamaril) wrote:
> Hi Joel,
> 
> Please check revision 13 of this document that clarifies the PSP section.
> 
> About your last point:
> For both SR-MPLS and SRv6, there are restrictions on the path to be used, in particular:
> - the SR policy may only use SIDs instantiated on SR Endpoints.
> - When computing the SR policy, there are additional restrictions to consider, such as the Maximum SID Depth (MSD) capability of nodes in the topology. (for SRv6, see section 4 of draft-ietf-lsr-isis-srv6-extensions).
> 
> Regards,
> Pablo.
> 
> -----Original Message-----
> From: "Joel M. Halpern" <jmh@joelhalpern.com>
> Date: Tuesday, 10 March 2020 at 19:26
> To: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>
> Cc: "spring@ietf.org" <spring@ietf.org>
> Subject: Re: [spring] Question on draft-ietf-spring-srv6-network-programming-12
> 
>      Pablo, in your reply below you say that the text in 8200 is "crystal
>      clear".  It requires an interesting lens to find something "crystal
>      clear" about which so many people have expressed so much disagreement.
>      While a lawyer may claim to a judge that text in a contract is crystal
>      clear, it is almost always hyperbole.  That may be useful in other
>      contexts.  It is not useful here.
>      
>      As far as I can tell, the text allows the interpretation that the PSP
>      protagonists have reached.  It also allows other interpretations.  In
>      the absence of clarity, I can not claim that PSP biolates 8200.  But it
>      sure as heck is not "crystal clear".
>      
>      I also find the articulated use cases for PSP muddy.  And as far as I
>      can tell, if the use cases are accurate, then there is a need for
>      greater clarity in the underlying drafts (NP because I do not want to
>      try call back the base SRH document) about the restrictions on paths
>      that can be used.
>      
>      Yours,
>      Joel
>      
>      On 3/10/2020 2:13 PM, Pablo Camarillo (pcamaril) wrote:
>      > Hi Chris,
>      >
>      > Thanks for going through the document.
>      > The behaviors 4.13 (End.B6.Encaps), 4.14 (End.B6.Encaps.Red) and 4.15 (End.BM) correspond to Binding SIDs [1].
>      >
>      > As a result of 4.13 for example, the packet is encapsulated with a new IPv6 header and an SRH that contains the SR policy associated to the BSID.
>      > Once the new IPv6 header is pushed into the packet, the NET-PGM pseudocode passes this packet to the IPv6 module of the router for transmission.
>      >
>      > Normally the Upper-Layer Header should not be processed on a packet with a BSID, since you have just pushed an SR policy into the packet.
>      > That said, when the ultimate destination is BSID, then the Upper Layer Header processing is the same to End (4.1).
>      >
>      > Hope it clarifies.
>      >
>      > Thanks,
>      > Pablo.
>      >
>      > [1]. https://tools.ietf.org/html/rfc8402#section-5
>      >
>      >
>      > -----Original Message-----
>      > From: spring <spring-bounces@ietf.org> on behalf of Christian Hopps <chopps@chopps.org>
>      > Date: Saturday, 7 March 2020 at 12:50
>      > To: "spring@ietf.org" <spring@ietf.org>
>      > Cc: Christian Hopps <chopps@chopps.org>
>      > Subject: [spring] Question on draft-ietf-spring-srv6-network-programming-12
>      >
>      >      In sections 4.13, (implicitly in 4.14) and 4.15 a set of steps is indicated. As far as I can tell the processing of the IPv6 header chain in all cases is terminated. e.g.,
>      >
>      >      "
>      >         When N receives a packet whose IPv6 DA is S and S is a local End.BM
>      >         SID, does:
>      >
>      >        S01. When an SRH is processed {
>      >        S02.   If (Segments Left == 0) {
>      >      ....
>      >                     Interrupt packet processing and discard the packet.
>      >        S04.   }
>      >        S05.   If (IPv6 Hop Limit <= 1) {
>      >      ....
>      >                     Interrupt packet processing and discard the packet.
>      >        S07.   }
>      >        S09.   If ((Last Entry > max_LE) or (Segments Left > (Last Entry+1)) {
>      >      ....
>      >                     Interrupt packet processing and discard the packet.
>      >        S11.   }
>      >      ....
>      >        S15.   Submit the packet to the MPLS engine for transmission to the
>      >                  topmost label.
>      >        S16. }
>      >      "
>      >
>      >      The text then says:
>      >
>      >         When processing the Upper-layer header of a packet matching a FIB
>      >         entry locally instantiated as an SRv6 End.BM SID, process the packet
>      >         as per Section 4.1.1.
>      >
>      >      Why would I ever be processing the upper-layer header at this point?
>      >
>      >      Thanks,
>      >      Chris.
>      >      _______________________________________________
>      >      spring mailing list
>      >      spring@ietf.org
>      >      https://www.ietf.org/mailman/listinfo/spring
>      >
>      >
>      > _______________________________________________
>      > spring mailing list
>      > spring@ietf.org
>      > https://www.ietf.org/mailman/listinfo/spring
>      >
>      
> 
>