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

Joel Halpern Direct <jmh.direct@joelhalpern.com> Tue, 17 March 2020 17:50 UTC

Return-Path: <jmh.direct@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 2374D3A0995 for <spring@ietfa.amsl.com>; Tue, 17 Mar 2020 10:50:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.089
X-Spam-Level:
X-Spam-Status: No, score=-2.089 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, T_SPF_TEMPERROR=0.01, 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 XJC3BX9Ivp4e for <spring@ietfa.amsl.com>; Tue, 17 Mar 2020 10:50:34 -0700 (PDT)
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 E16313A09B1 for <spring@ietf.org>; Tue, 17 Mar 2020 10:50:33 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by maila2.tigertech.net (Postfix) with ESMTP id 48hggY4WQ5z6GH0X; Tue, 17 Mar 2020 10:50:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelhalpern.com; s=2.tigertech; t=1584467433; bh=crmiM0tF6ZmUywGbDp/9WLXZ5tllruFxfKsYCG5zK1U=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=d8soOHCr8sxk/VQnO8qdLfBJQJhyUwPW6ug8yo+kQCMZzJYUkX0il+hHnzihgeEZ9 ks76HIytvXm1inaU2/AXCHWTs/VWRhewr1OYwE/CCdmkKZgRNLbn8Bf0gstqoxs/eO fTTMRdnchH/1EMdf3MBVC0yDHxVDFGIQZXtNSD5I=
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 48hggY0LyDz6GBDb; Tue, 17 Mar 2020 10:50:32 -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> <9e2ea3c8-67c4-2442-4ce8-d42cc89a3a0d@joelhalpern.com> <305A5FB1-345F-4207-89BA-9C7F63452F16@cisco.com>
From: Joel Halpern Direct <jmh.direct@joelhalpern.com>
Message-ID: <19b840f6-5a1a-32c8-029d-91ae38a58018@joelhalpern.com>
Date: Tue, 17 Mar 2020 13:50:32 -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: <305A5FB1-345F-4207-89BA-9C7F63452F16@cisco.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/YUpBR4hc2jaLOmsXPAjQk-QnAxA>
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: Tue, 17 Mar 2020 17:50:41 -0000

Given that the requirement to be able to ignore the routing header 
predates any of the SRv6 work, a natural reading would be that ignoring 
the header is something the device can already do.  In normal 
situations, the savings for not doing a check that simple is very small.

Having been told the cost was high, with no further explanation, I am 
forced to assume the historical (unfortunate) behavior that made the 
cost high.  If that explanation is correct, then it has other 
implications.  If that is NOT the reason that the cost is high, please 
state what the reason is for it having a high cost.  We are asking 
devices to support a special feature (PSP) to achieve the savings.  We 
owe it to folks to explain why we are asking for such a thing.  (And no, 
the fact that PSP is optional does not change things.  If PSP matters, 
then it matters.  If it doesn't matter, then lets drop it.)

Yours,
Joel

On 3/17/2020 1:43 PM, Pablo Camarillo (pcamaril) wrote:
> Inline
> 
> -----Original Message-----
> From: "Joel M. Halpern" <jmh@joelhalpern.com>
> Date: Monday, 16 March 2020 at 20:23
> 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
> 
>      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.
> 
> Joel, how do you know whether you can ignore a routing header?
> I believe that the only option is for the router to process the routing header to check whether the Segments Left value is equal to zero.
> PSP avoids any routing header processing at the egress PE, as the quoted text above states. Hence the benefit.
> 
> Thanks,
> Pablo.
> 
>      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
>      >      >
>      >
>      >
>      >
>      
>