Re: [spring] PSP and a logical application of RFC8200

bruno.decraene@orange.com Tue, 03 March 2020 14:48 UTC

Return-Path: <bruno.decraene@orange.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 C4E763A2208; Tue, 3 Mar 2020 06:48:30 -0800 (PST)
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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=orange.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 cmGQt1PUEUau; Tue, 3 Mar 2020 06:48:28 -0800 (PST)
Received: from relais-inet.orange.com (relais-inet.orange.com [80.12.66.40]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5B2F83A21D2; Tue, 3 Mar 2020 06:48:28 -0800 (PST)
Received: from opfedar03.francetelecom.fr (unknown [xx.xx.xx.5]) by opfedar25.francetelecom.fr (ESMTP service) with ESMTP id 48X0Ht4CG9z8tNR; Tue, 3 Mar 2020 15:48:26 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orange.com; s=ORANGE001; t=1583246906; bh=/c5gRwlbpep2WMMVHZNkjzeVzsas0CePMddQ/p71Ovw=; h=From:To:Subject:Date:Message-ID:Content-Type: Content-Transfer-Encoding:MIME-Version; b=Cc6QPtd5/2+2Bg03N4Y7ZcFW99PohJV8ssQsXPtk+vgFiH/peu69xJkuGf/knGvop ifkx6xykCeLwWD84v69WtX8q5fGANgPhelySVZo27s2DG7XQUCW/i9JXGozWq0/bF4 Yh99bcPfqU04fEKtM6Qu5ER5ul+jRpFnu2OuuzMMhicvW8CbjCCxPMTC3x9W6p0cFT BUofoVXWwGOhAkYMf0qc9AyJvWZ29ql9ebDRXOEZ3w+wDd9Q/QlPsM3uu9ClheRYGm NnNngHai8Bg6eu/vapwKw6dIiOwxSBMRXddaEeNPLdMFoJkwxLHpiWPEQvf1PtDoyQ se6fbGtczdw/w==
Received: from Exchangemail-eme6.itn.ftgroup (unknown [xx.xx.13.32]) by opfedar03.francetelecom.fr (ESMTP service) with ESMTP id 48X0Ht2r3BzCql2; Tue, 3 Mar 2020 15:48:26 +0100 (CET)
Received: from OPEXCAUBM43.corporate.adroot.infra.ftgroup ([fe80::b846:2467:1591:5d9d]) by OPEXCAUBM7C.corporate.adroot.infra.ftgroup ([::1]) with mapi id 14.03.0487.000; Tue, 3 Mar 2020 15:48:26 +0100
From: bruno.decraene@orange.com
To: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>, Brian E Carpenter <brian.e.carpenter@gmail.com>
CC: "Darren Dukes (ddukes)" <ddukes=40cisco.com@dmarc.ietf.org>, 6man WG <ipv6@ietf.org>, SPRING WG List <spring@ietf.org>
Thread-Topic: PSP and a logical application of RFC8200
Thread-Index: AQHV8Olt2QwBqw9fJkevZJVkBCP5WKg24rMg
Date: Tue, 03 Mar 2020 14:48:25 +0000
Message-ID: <23291_1583246906_5E5E6E3A_23291_112_19_53C29892C857584299CBF5D05346208A48DD7F0D@OPEXCAUBM43.corporate.adroot.infra.ftgroup>
References: <39544C17-1AD0-412E-A8BD-E17376537FCF@cisco.com> <bf9d68e6-cbae-2b19-11e0-1e452f0bf654@gmail.com> <FD806998-8218-4C70-B383-332C5F934A73@cisco.com> <176e9bbf-41c8-8e8a-f26e-e0de5d89735f@gmail.com>
In-Reply-To: <176e9bbf-41c8-8e8a-f26e-e0de5d89735f@gmail.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.114.13.247]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/Y8moGd5Z3yULRdCF3N1S3QsgNbY>
Subject: Re: [spring] PSP and a logical application of RFC8200
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, 03 Mar 2020 14:48:37 -0000

Pablo, 

My reading is that Brian is asking for a clarification of the text, not a change in the behavior.
In general, I think that clarification is good and that Brian's request is reasonable.

Related to Brian's comment, but on top of them, I have further points on this section 4.16.1:

1)
" S14.1.   If (Segments Left == 0) {"

Although I agree that reading the whole pseudo code (split across the whole document) is self-descriptive, there is the opportunity for people to misread and confuse "Segment Left in the received packet" with "Updated Segment Left". I'd like to avoid misunderstanding similar to the ones in RFC 8200. Could you propose something? E.g.  :s/ Segments Left/ Updated Segments Left.

2)
As a possible change to try to address Brian's comment
OLD:
   The PSP operation only takes place at a penultimate SR Segment
   Endpoint Node and does not happen at any Transit Node.

NEW:
   The PSP operation only takes place at a penultimate SR Segment
   Endpoint Node (where Segment Left == 1) and does not happen at any Transit Node.

More inline

> From: ipv6 [mailto:ipv6-bounces@ietf.org] On Behalf Of Brian E Carpenter
> 
> On 03-Mar-20 09:02, Pablo Camarillo (pcamaril) wrote:
> > Brian,
> > 
> > The PSP pseudocode is presented as a modification to the End pseudocode starting at line S14 of such.
> > Please go through the PSP pseudocode in conjunction with the End pseudocode (Section 4.1). 
> > You will see that the ingress state of the packet is (Segments Left == 1 and Destination Address == the PSP node's address).
> 
> Exactly my point. With SL == 1, you are not at the ultimate destination, so according to what I'll call "Fernando's reading" of RFC8200, you are not entitled to delete the header. That is the point that IMHO needs to be stated explicitly in the draft. You are using "Darren's reading" of RFC8200.
> 
> I really think you need to say so explicitly. Something like:
> 
> Note: this behavior does not contravene section 4 of [RFC8200]
> because the current destination address of the incoming packet
> is the address of the node executing the PSP behavior.
> 
> This will not change the argument, but it will make the issue clear so that we (the IETF) can decide whether to accept it or not. And that is orthogonal to whether RFC 8200 is wrong.

3)
Given that there is even heated discussions on the text/wording in RFC8200, I'm afraid that whatever text be inserted in draft-ietf-spring-srv6-network-programming would trigger controversy and that in the end be asked to be removed. 
However, I'm also in favor of making the issue clear.

Brian, I would personally prefer to stick as close as possible to the text from RFC 8200, plus that we make clear that we are not changing it but only referring to. So I would propose something along the following:

	As indicated in RFC 8200 section 4, extension headers [...] are not [to be]
	   processed, inserted, or deleted by any node along a packet's delivery
	   path, until the packet reaches the node [...] identified in the Destination Address field
	   of the IPv6 header.
   
	The PSP behavior defined in this section specifies that, the node identified in the Destination Address field of the IPv6 header (as restricted by RFC 8200 section 4), when Segment Left is received as 1 and when specifically instructed by the source node, removes the SRH header.


As a reminder, the text from RFC 8200 is 
"   Extension headers (except for the Hop-by-Hop Options header) are not
   processed, inserted, or deleted by any node along a packet's delivery
   path, until the packet reaches the node (or each of the set of nodes,
   in the case of multicast) identified in the Destination Address field
   of the IPv6 header."

I believe that my proposed edits are clearly indicated by "[]" and helps the reader to focus on the relevant text. However, I'm also fine with copy pasting the text verbatim from RFC 8200.


4) There is an interesting comment on the 6MAN WG https://mailarchive.ietf.org/arch/msg/ipv6/AJzOX97mUeHjEcDSIgpqUw8gNk0/
Although not sent in the SPRING WG, and not mentioning to this document, I think that I should be taken into account.
More specifically
" IMHO, any specification breaking AH (e.g., by modifying the NextHeader in transport mode) should clearly note that it 'breaks AH' or constraints its use; but, this is still acceptable for an IETF standard specification IMHO to 'break AH'." 

I'd propose:
OLD:
   As a reminder, [I-D.ietf-6man-segment-routing-header] defines in
   section 5 the SR Deployment Model within the SR Domain [RFC8402].
   Within this framework, the Authentication Header (AH) is not used to
   secure the SRH as described in Section 7.5 of
   [I-D.ietf-6man-segment-routing-header].

NEW:
Removing the SRH requires modifying the Next Header field which is defined as Immutable by RFC 4302.  As indicated in [I-D.ietf-6man-segment-routing-header], the use of RH with AH by an SR source node, and processing at a SR
   segment endpoint node is not defined in this document.  Future documents may define use of SRH with AH and its processing. Such future document needs to take into account that the use of PSP requires the Next Header field to not be Immutable.


Or whatever text indicating the issue.

Regards,
--Bruno

> 
> Regards
    > Brian
> > 
> > Many thanks,
> > Pablo.
> > 
> > -----Original Message-----
> > From: ipv6 <ipv6-bounces@ietf.org> on behalf of Brian E Carpenter <brian.e.carpenter@gmail.com>
> > Date: Monday, 2 March 2020 at 20:34
> > To: "Darren Dukes (ddukes)" <ddukes=40cisco.com@dmarc.ietf.org>, 6man WG <ipv6@ietf.org>, SPRING WG List <spring@ietf.org>
> > Subject: Re: PSP and a logical application of RFC8200
> > 
> >     Darren,
> >     
> >     Regardless of whether you accept Fernando's comment about the intention of RFC 8200, there is also the fact that the description of the PSP flavor cheats by considering the packet to have
> >      (Segments Left == 0 and Destination Address == the PSP node's address).
> >     In fact that is *never* the state of the packet on the wire, which is either
> >      (Segments Left == 1 and Destination Address == the PSP node's address)
> >     or
> >      (Segments Left == 0 and Destination Address == the final node's address)
> >     
> >     OK, maybe it's not cheating, maybe it's only a side effect of the pseudocode, but the fact is that the test "S14.1.   If (Segments Left == 0) {" in section 4.16.1 is very confusing because it's applied to a packet that is half way through processing of the routing header (Segments Left has been updated, but Destination Address has not been updated). This makes it very unclear how the spec is claiming to interpret RFC 8200.
> >     
> >     Regards
> >        Brian Carpenter
> >     
> >     On 03-Mar-20 03:52, Darren Dukes (ddukes) wrote:
> >     > What follows has been made clear on the list for a while, 
> >     > I am re-stating it.
> >     > 
> >     > The draft-ietf-spring-srv6-network-programming PSP behavior 
> >     > strictly follows the letter of RFC 8200.
> >     >  
> >     >      RFC8200 section 4 says:
> >     >  
> >     >      Extension headers (except for the Hop-by-Hop Options header) are not
> >     >      *processed, inserted, or deleted* by any node along a packet's delivery
> >     >      path, until the packet reaches *the node* (or each of the set of nodes,
> >     >      in the case of multicast) *identified in the Destination Address field*
> >     >     * of the IPv6 header.*
> >     >   
> >     > 
> >     > The processing, insertion and deletion restrictions only apply 
> >     > “until the packet reaches the node identified in the Destination
> >     > Address field of the IPv6 header”.
> >     >  
> >     > At the penuptimate segment of the segment list, the endpoint IS
> >     > “the node identified in the Destination Address field of the IPv6
> >     > header” and hence the PSP operation programmed by the source SR 
> >     > node strictly follows the letter of RFC 8200.
> >     > 
> >     > 
> >     > Thanks,
> >     >   Darren
> >     > 
> >     > --------------------------------------------------------------------
> >     > IETF IPv6 working group mailing list
> >     > ipv6@ietf.org
> >     > Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> >     > --------------------------------------------------------------------
> >     > 
> >     
> >     --------------------------------------------------------------------
> >     IETF IPv6 working group mailing list
> >     ipv6@ietf.org
> >     Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> >     --------------------------------------------------------------------
> >     
> > 
> 
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.