Re: [spring] WGLC - draft-ietf-spring-srv6-network-programming

Brian E Carpenter <brian.e.carpenter@gmail.com> Fri, 28 February 2020 22:38 UTC

Return-Path: <brian.e.carpenter@gmail.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 5D5213A2074; Fri, 28 Feb 2020 14:38:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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=gmail.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 mV8IGuSfYkIb; Fri, 28 Feb 2020 14:37:59 -0800 (PST)
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2A8C63A1FCC; Fri, 28 Feb 2020 14:37:59 -0800 (PST)
Received: by mail-pl1-x632.google.com with SMTP id u3so1774963plr.9; Fri, 28 Feb 2020 14:37:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=StppoUPDuJbCQtpxFwuzSkydcXPNCeilJ7YCOPYREI4=; b=AYQv+RJUmpqy1LhBssb7qgei+Pbsp+NbJ4OOOUHEsSTsqB+li0Dyy8EAO4p3rijYSD wR3xUFzQvOsxITYlpvVYLstG5fdkPoMutMDwoFLrzELiZVVB/rsUNnE7cMJYTvxap+A9 YpV3a1WaiIzt79iifyoNb0D+vx/nP3vaJ7ThuqopqZiR04fLn53huq8TY4RsgoC+t86I VBvYqmc/aKiQXbsx/aQ5lkY6okkZIDNqwM5+G13VzJ+CuYCU3MY2jH2zZQ46kBHSUQ2U t33olX1becraji0f0ZwK24pFAFkmIj8WGGX5ygMXkWUABXzPZ+TovkdBlN1ZdaiU8SGo 4h4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=StppoUPDuJbCQtpxFwuzSkydcXPNCeilJ7YCOPYREI4=; b=kGb3ut+R11WD0GVSOBg0LNoLdDuh6a05Oo3qRMjA/pNsdZ6V87JtVj3snhcCF/VGf+ LUHv77DkB680dBNXNhAoKA9rVtsDgdbf/kf0XyahhW/MBi1npX0PsUr4oLDbYkHyzQXp NUyKSB5PJaCIGL+go04etiXhjevqqJ+4p1JioHMV1K5nRFtYQNz/mvt4dG47p3QZxJFs U+Zmr+iUVyOnyFu8gQom5e33+lTr9u6Z15oZA6sC8Ftvd8GQWt9KslnqlXrPs7lvitJ1 rTjamElaVhwdHX9hpdQNvi6yc+rWAerqyW4A83nAPyNs/Fo0zv5n0ij8jR+zQhsMXn44 Vh+Q==
X-Gm-Message-State: APjAAAWLE/nsAAkMF+aKw1BGm8EATG3Pu96D6QH7G3J6ghAWMJgBzd5B hpiqOw6ZV4/3V2xK9okQvBhgb90D
X-Google-Smtp-Source: APXvYqwSNV1aFgNrt6PsnLRuTIfpt4hF3G12iMzNXCNToPLWgSiwESm3ZWSQ48qZEoFHdN3RY03FLQ==
X-Received: by 2002:a17:902:aa98:: with SMTP id d24mr6254654plr.106.1582929478042; Fri, 28 Feb 2020 14:37:58 -0800 (PST)
Received: from [192.168.178.30] ([165.84.25.143]) by smtp.gmail.com with ESMTPSA id l13sm3388108pjq.23.2020.02.28.14.37.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 28 Feb 2020 14:37:57 -0800 (PST)
To: bruno.decraene@orange.com, draft-ietf-spring-srv6-network-programming <draft-ietf-spring-srv6-network-programming@ietf.org>, "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>
Cc: 'SPRING WG List' <spring@ietf.org>
References: <17421_1575566127_5DE93B2F_17421_93_1_53C29892C857584299CBF5D05346208A48D1A3DA@OPEXCAUBM43.corporate.adroot.infra.ftgroup> <21607_1582910351_5E594B8F_21607_111_1_53C29892C857584299CBF5D05346208A48DD1C51@OPEXCAUBM43.corporate.adroot.infra.ftgroup>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Message-ID: <46104589-0a79-6034-d78a-7aac2475bd1e@gmail.com>
Date: Sat, 29 Feb 2020 11:37:54 +1300
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <21607_1582910351_5E594B8F_21607_111_1_53C29892C857584299CBF5D05346208A48DD1C51@OPEXCAUBM43.corporate.adroot.infra.ftgroup>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/n46VuroVGvRurIgGNLZxFbAHvIo>
Subject: Re: [spring] WGLC - draft-ietf-spring-srv6-network-programming
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: Fri, 28 Feb 2020 22:38:07 -0000

Bruno,

Thanks for this. Please view what follows with a non-proportional font.
Here's my understanding of the scenario we are talking about:

  A -------->B---------->C
  |                      ^
  |                      |
  \                     /
   X-------->Y-------->Z

The normal path is from A to B to C and the packet would be a plain
IPv6 packet with no routing header.

Now assume that node A detects a "link down" condition on the link to B.
Until routing has converged, A (with pre-existing knowledge of the topology)
sends packets to C with a routing header via X, Y and Z.

So what does the routing header look like when the packet leaves A?
Presumably, segments-left = 3, and the list of destinations is [C,Z,Y,X],
and the initial IPv6 destination is X.

When the packet leaves X, segments-left = 2, list = [C,Z,Y,X], and the
next IPv6 destination is Y.

When the packet leaves Y, segments-left = 1, list = [C,Z,Y,X], and the
next IPv6 destination is Z.

When the packet leaves Z, segments-left = 0, list = [C,Z,Y,X], and the
next IPv6 destination is C.

To me this seems to be what is described by RFC8200 and by the approved
draft-ietf-6man-segment-routing-header-26. Is this correct?

In what way is the PSP flavor different (Z being the penultimate hop)?

I have just realised what may be the misunderstanding here. The wording in
RFC8200 may be a bit loose, as Fernando has observed, but the logic of
draft-ietf-spring-srv6-network-programming-10 PSP also depends on looking
at the value of segments-left and only deleting the routing header
if segments-left == 0. The problem is that this test is applied *after*
the node (Z in my example) has already decremented the value of segments-left.
The text in RFC8200 clearly refers to the incoming value, which is 1
in node Z. The routing header is not exhausted until it reaches a node
whose address is the last one in the list, i.e. C in my example, and
the incoming segments-left == 0.

So, the PSP mechanism is depending on a reading of RFC8200 that ignores
the statement of intent in Appendix B, *and* on testing against the already
decremented value of segments-left, not the incoming value of segments-left.

Now, it may be that there will be IETF rough consensus to allow this but
I think the text needs to be much more explicit about these two points.

(BTW, I am not denying that PSP works, subject to the usual comments
about AH and PMTUD.)

Regards
   Brian Carpenter

On 29-Feb-20 06:19, bruno.decraene@orange.com wrote:
> Pablo, authors, WG,
> 
>  
> 
> Section 4.16.1 [1] is the subject of multiple comments and clarification questions. Most notably some comments from Brian.
> 
>  
> 
> Its current text is very focused on the technical specification. Technical specification is good and this is the primary objective to achieve interoperability. But some would say that it is a bit terse, especially given the amount of context behind it. So I think that it could benefit from some introduction text.
> 
>  
> 
> Could you work on some text to better introduce PSP and put it in context? Possibly working with Brian who is kind enough to work on improving the clarity of this section for everyone.
> 
> Quoting Brian “simply need more explanation in elementary terms”.
> 
>  
> 
> I personally have a few points in mind:
> 
> -          Clarifying what “Penultimate” refers to. This is required as there are multiple reading such “penultimate IPv6/SRv6 transit node” (which we all agree is not allowed by RFC 8200, so let’s make things clear that the document is not talking or suggesting or allowing this) or “penultimate SR Segment Endpoint Node indicated in the IPv6 destination address of the received IPv6 header”.
> 
> -          Clarify what you mean by “Pop”. (as this terminology is heavily borrowed from MPLS and may not be crystal clear for everyone, especially since the MPLS RFC is not a normative reference (and it should not be))
> 
> -          Clarify that given the nodes A—B—C,  the PSP flavor is done by penultimate Segment Endpoint “B” at the request of the IPv6 source node “A” as an outsourced service from the ultimate SR End Point “C”. “A”, “B” and “C” been within the same control domain.
> 
>  
> 
> Agreed that this is not changing anything in the spec, and may be obvious to you, and hopefully clear for people having read the relevant document, however from the comments it seems clear that some additional context may help to clarify. Also it’s plausible that some persons may only read this specific PSP section and react on it.
> 
>  
> 
> Thank you,
> 
> --Bruno
> 
>  
> 
> [1] https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-10#section-4.16.1
> 
>  
> 
>  
> 
> *From:*ipv6 [mailto:ipv6-bounces@ietf.org] *On Behalf Of *bruno.decraene@orange.com
> *Sent:* Thursday, December 5, 2019 6:15 PM
> *To:* 'SPRING WG List'
> *Cc:* 6man@ietf.org; draft-ietf-spring-srv6-network-programming
> *Subject:* WGLC - draft-ietf-spring-srv6-network-programming
> 
>  
> 
> Hello SPRING,
> 
>  
> 
> This email starts a two weeks Working Group Last Call on draft-ietf-spring-srv6-network-programming [1].
> 
>  
> 
> Please read this document if you haven't read the most recent version, and send your comments to the SPRING WG list, no later than December 20.
> 
>  
> 
> You may copy the 6MAN WG for IPv6 related comment, but consider not duplicating emails on the 6MAN mailing list for the comments which are only spring specifics.
> 
>  
> 
> If you are raising a point which you expect will be specifically debated on the mailing list, consider using a specific email/thread for this point.
> 
> This may help avoiding that the thread become specific to this point and that other points get forgotten (or that the thread get converted into parallel independent discussions)
> 
>  
> 
> Thank you,
> 
> Bruno
> 
>  
> 
> [1] https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05
> 
>  
> 
>  
> 
> _________________________________________________________________________________________________________________________
> 
>  
> 
> 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.
> 
> _________________________________________________________________________________________________________________________
> 
> 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.
>