Re: [spring] Suggest some text //RE: Request to close the LC and move forward//RE: WGLC - draft-ietf-spring-srv6-network-programming

Robert Raszuk <robert@raszuk.net> Sat, 29 February 2020 20:55 UTC

Return-Path: <robert@raszuk.net>
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 A5A663A133A for <spring@ietfa.amsl.com>; Sat, 29 Feb 2020 12:55:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 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, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=raszuk.net
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 xUGlsRqdDoc3 for <spring@ietfa.amsl.com>; Sat, 29 Feb 2020 12:55:36 -0800 (PST)
Received: from mail-oi1-x244.google.com (mail-oi1-x244.google.com [IPv6:2607:f8b0:4864:20::244]) (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 14A443A133B for <spring@ietf.org>; Sat, 29 Feb 2020 12:55:36 -0800 (PST)
Received: by mail-oi1-x244.google.com with SMTP id b18so6544809oie.2 for <spring@ietf.org>; Sat, 29 Feb 2020 12:55:36 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raszuk.net; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=xp2rC1+gnXhDFdRGBRw4yw5rlNUNutpRBno8FNWkooI=; b=AJa+OLX5Zpa+HvgkAOdGSGtEN1rX1x9oTGIG9S6zcOZIFS4Ed4nDrK+tLHjQkrjPbX KaJ/0zgK8zR1KJtYnkzL+byfexuTFFKH4LNks1cGz/rs2XfJhjvxc3SLw63fDyEsYtSH TvFsHACdExdW4aA+or5BfPeC5jd+k2EuklybusOMo9XU5fD0o9wK5g4lUdRUj+rU/pd8 EM4aUgYhLO/Xe0Nc78X5m6Wft9odM1PIDXRTuWyIbOpj0RpmO/Bc1BSPaWh6hK0B1+dL 4KxLM2R/uzFgngTy3yCm+KpqsBRWCyy6x013KxFbMpx6wOqCQWkFvitQ1tFBrVUq/UXF +N/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=xp2rC1+gnXhDFdRGBRw4yw5rlNUNutpRBno8FNWkooI=; b=FyBLQXqM2iJgpWp9CI0hshROBqtv/TwimHqHmDbBQB13lOrb5CEUE2jrFGPulpYqHc 4YxtHvGqWW6kUWiW16TmuBt7sfdQf+CQU9qbI+rl9yxhypQfD5FeMXcQQGuRa4TIqXhV uPFcyg8W2OxUQBdQl7TejGRdwuQ+fJ7aDNIfgtFOWSzMVR0hDGDpAv+IrVYA9/adIN/K VMlT1GHKcR/0JTL1ClJk0Nv7VX/HiykK/ldySIi6k3SZtE4+0hK1Y7Nsg9XWTvWDCAVA cOpCxQDfdsO1GiNq6jk9kT4p3JfdKUSJg/SaQcZiWXY5Y6CGLWEfyUTaeUGOvN1y3zEb +0+A==
X-Gm-Message-State: APjAAAXW85dShnGnO4gUJq5fCTQkPKVj3pU7ia1at+NKeig7PF0tg/3r hoLYtd3WleUOkobqQ+21RkZ6qxdZY29PcBT7lGzS7A==
X-Google-Smtp-Source: APXvYqzpMC+QCIhLQum9/+gcnKDqB2P0y1O0ZdBwqPL7t+wQsHB5Pm6snRHJCIbbJmibd0AnkwKZ8+D9XwubUkWgjmQ=
X-Received: by 2002:aca:d985:: with SMTP id q127mr6795515oig.132.1583009735251; Sat, 29 Feb 2020 12:55:35 -0800 (PST)
MIME-Version: 1.0
References: <965ff6bbf1cb4c2f8d48b7b535a0cf5b@huawei.com> <CAJE_bqcTNWt==mtYKeNVXOBAzBNLG=+_mXQQ9xMHYOCDRqCb_Q@mail.gmail.com> <CAOj+MMEzbyzy98iFyfe6Z=dQiWHo=triX6bHKx9fNEUCaSuy3Q@mail.gmail.com> <085238CD-14F6-43AE-8D58-49A20DDCBB24@juniper.net> <CAOj+MMGzjP4C4CXi+6i+o_TMO5Un8HdGF+MMGLVa-KPUH+pXZw@mail.gmail.com> <BB541BBF-5E31-4B9E-BACF-4C75BE640A64@juniper.net>
In-Reply-To: <BB541BBF-5E31-4B9E-BACF-4C75BE640A64@juniper.net>
From: Robert Raszuk <robert@raszuk.net>
Date: Sat, 29 Feb 2020 21:55:26 +0100
Message-ID: <CAOj+MMGNC=4csgAeL5DfV1hhTAgzTfwmaS_GE6HQqEvziENbtA@mail.gmail.com>
To: John Scudder <jgs@juniper.net>
Cc: 神明達哉 <jinmei@wide.ad.jp>, "spring@ietf.org" <spring@ietf.org>, "6man@ietf.org" <6man@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000f263ae059fbd2ca9"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/BGitiX9Vkp4PaLr9yNqoHegYobY>
Subject: Re: [spring] Suggest some text //RE: Request to close the LC and move forward//RE: 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: Sat, 29 Feb 2020 20:55:39 -0000

John,

So for some packet's final destination is the one located in the most inner
header of the packet. The one applied by the sender's socket.

For you apparently the final destination is the one encoded in the SRH (or
end of src route) - honestly I have not seen such definition in any IETF
document except in the proposed errata stating that SL==0 to consider
destination an final destination. /* So if RH is removed before we would
never reach final destination per current errata */

My reading of RFC8200 leads me to believe that final destination is each
destination node where DA from packet's header matches the address of one
of its local interfaces. It is also the ultimate/final destination for
specific segment as to reach it packet could have traversed many non SR
capable nodes. As Dirk mentioned SR path can be represented by set of
autonomous segments each doing complete decasulation and new
encapsulation of the packet based on the SRH content. If so there is no
violation of anything. /* And in this mode at least SR nodes could be PLRs
for TI-LFA without the need for yet one more encapsulation */.

Robert.

On Sat, Feb 29, 2020 at 8:23 PM John Scudder <jgs@juniper.net> wrote:

> I see. So you are simply demonstrating that even the tightened language
> you quoted is subject to the same difference of interpretation that’s at
> the root of the controversy. That’s helpful to know.
>
> Clearly (at least this is clear to me) the intent of that sentence is that
> a source-routed packet cannot be said to have reached its ultimate
> destination until it has reached the target of the source route, the point
> at which the source route has been fully consumed. I think (?) you'll agree
> that isn't the interpretation you've chosen, you’ve chosen to interpret
> “ultimate destination” as meaning “the destination depicted in the outer
> IPv6 header," regardless of where the packet is along the source route.
> Right? So, status quo ante. (I think I could defend my reading as being
> objectively correct based on nothing more than the words as written, but
> that’s beside the point — once we get to the stage of spec-lawyering, we
> have all lost.)
>
> I suppose the choice here remains as it always has been: accept that
> natural language can often be interpreted differently by different readers
> (especially those motivated to reach different interpretations) and leave
> it at that, resolving such differences when they arise through IETF
> process; or work to craft ever more precise language, accepting the
> consequence that we have to do extra work and our specs become more
> unwieldy as a result. In this particular case, I guess an excruciatingly
> precise definition of “ultimate destination” may be the key to resolving
> ambiguity.
>
> —John
>
> On Feb 29, 2020, at 1:25 PM, Robert Raszuk <robert@raszuk.net> wrote:
>
> Hi John,
>
> I respectfully will disagree with your assessment.
>
> Reason #1 - IPv6 can be encapsulated in IPv6 - RFC2473. This is base of
> SRv6 operation. If this would be deprecated, moved to historic or made
> illegal - games over. But if this is still legal then ultimate destination
> for a packet is what it listed in outer IPv6 header DA. That's pretty
> basic. Now what the destination in the header will do with the packet is
> completely different story.
>
> Reason #2 - "a node can’t be both the penultimate, and the ultimate,
> node." Of course it can. You are looking flat .. If you look at different
> layers the same node is in fact acting in multiple roles - I can easily
> count 3 but with TI-LFA it could be  even more.
>
> The same node is ultimate destination for the outer header
> in the same time
> The same node is penultimate destination for SR path
> in the same time
> The same node is just regular IPv6 transit from the perspective of the
> original non encapsulated packet
>
> Kind regards,
> R.
>
>
>
>
>
>
>
>
>
>
> On Sat, Feb 29, 2020 at 6:46 PM John Scudder <jgs@juniper.net> wrote:
>
>> Robert,
>>
>> I think your comment (emphasis added):
>>
>> we are dealing here with an *encapsulated* packet which *has as its
>> ultimate destination* SR node X. That SR node X is to perform or not PSP.
>>
>>
>> Is wrong. It contradicts everything else that’s been said in the hundreds
>> of messages that have gone before, not to mention the plain language
>> of draft-ietf-spring-srv6-network-programming-10. The word “penultimate”
>> itself is enough to prove this: by definition a node can’t be both the
>> penultimate, and the ultimate, node. It’s a contradiction in terms, like
>> saying 0 equals 1.
>>
>> Now, if node X were to remove the RH *and perform the decapsulation*
>> that would be a different story, but the whole point of PSP is that X
>> removes the RH and then sends the encapsulated packet on to Y which
>> performs the decapsulation. (This point was made in one of the other
>> threads recently, but I’ve lost track of by whom and which thread.) As far
>> as I can tell, this non-controversial behavior is described in 4.16.3 of
>> the draft and referred to as “USD”.
>>
>> —John
>>
>> On Feb 29, 2020, at 6:06 AM, Robert Raszuk <robert@raszuk.net> wrote:
>>
>> Dear Jinmei,
>>
>> Even if RFC8200 section 4 text would say:
>>
>>  "Extension headers cannot be added to a packet after it has left its
>> source node and extension headers cannot be removed from a packet until it
>> has arrived at its ultimate destination".
>>
>> PSP would be still not be violating anything said in this sentence.
>> Reason being is that we are dealing here with an *encapsulated* packet
>> which has as its ultimate destination SR node X. That SR node X is to
>> perform or not PSP. So it is still fully compliant with the specification.
>>
>> IMHO the only grey area as pointed by Brian is if RFC8200 section 4.4
>> really mandates you to look at segments_left before processing the packet
>> or it is equally legal to look at that value after local processing occurs.
>> Definition says:
>>
>>
>>       Segments Left       8-bit unsigned integer.  Number of route
>>                           segments remaining, i.e., number of explicitly
>>                           listed intermediate nodes still to be visited
>>                           before reaching the final destination.
>>
>>
>> which to me really means that as long as you recognize given routing
>> header type you can decrement this value and if zero remove it.
>>
>> Besides that is a minor detail - as NPG draft could be updated to say:
>>
>>  S14.1.   If (Segments Left Before Local Decrement == 1) {
>>  S14.2.      Update the Next Header field in the preceding header to the
>>                 Next Header value of the SRH
>>  S14.3.      Decrease the IPv6 header Payload Length by the Hdr Ext Len
>>                 value of the SRH
>>  S14.4.      Remove the SRH from the IPv6 extension header chain
>>  S14.5.   }
>>
>>
>> Many thx,
>> R.
>>
>> On Sat, Feb 29, 2020 at 2:28 AM 神明達哉 <jinmei@wide.ad.jp> wrote:
>>
>>> At Fri, 28 Feb 2020 07:54:28 +0000,
>>> "Xiejingrong (Jingrong)" <xiejingrong@huawei.com
>>> <xiejingrong@huawei..com>> wrote:
>>>
>>> > The design of PSP for the benefits of deployment is based on the
>>> understanding
>>> > that it does not violate section 4 of RFC8200. In case the RFC8200
>>> text may be
>>> > modified in the future, the PSP may also need to change accordingly.
>>>
>>> No, it violates Section 4 of RFC8200.  It's a pity that we have to
>>> discuss it at this level due to the poor editorial work then (I was
>>> also responsible for that as one of those reviewing the bis draft),
>>> but anyone who involved the discussion should know the intent of this
>>> text intended to say (borrowing from Ron's text) "Extension headers
>>> cannot be added to a packet after it has left the its source node and
>>> extension headers cannot be removed from a packet until it has arrived
>>> at its ultimate destination".  It might look "an attempt of blocking
>>> an innovation by a small group of vocal fundamentalists", but if you
>>> see the responses without a bias, you'd notice that even some of those
>>> who seem neutral about the underlying SRv6 matter interpret the text
>>> that way.
>>>
>>> I'd also note that simply because PSP violates RFC8200 doesn't
>>> immediately mean it (PSP) "needs to change".  It can update RFC8200 with
>>> explaining why it's necessary and justified.  That's what I
>>> requested as you summarized:
>>>
>>> > Jinmei: it should say it updates this part of RFC8200 and explain why
>>> it's justified.
>>>
>>> And, since PSP at least wouldn't break PMTUD, I guess the update
>>> proposal will have much more chance to be accepted than a proposal
>>> including EH insertion.  On the other hand, pretending there's no
>>> violation will certainly trigger many appeals and objections at the
>>> IETF last call (I'll certainly object to it).  In the end, it can
>>> easily take much longer, or even fail, than formally claiming an
>>> update to RFC8200.
>>>
>>> --
>>> JINMEI, Tatuya
>>>
>>> _______________________________________________
>>> spring mailing list
>>> spring@ietf.org
>>> https://www.ietf.org/mailman/listinfo/spring
>>> <https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/spring__;!!NEt6yMaO-gk!Qj4iGvIKXE0YABWYjk5PNMfr1edPfPjJBED6VMnC3MxTiIYCqCc0y3UdazBorQ$>
>>>
>> --------------------------------------------------------------------
>> IETF IPv6 working group mailing list
>> ipv6@ietf.org
>> Administrative Requests:
>> https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/ipv6__;!!NEt6yMaO-gk!Qj4iGvIKXE0YABWYjk5PNMfr1edPfPjJBED6VMnC3MxTiIYCqCc0y3X18TtwYw$
>> --------------------------------------------------------------------
>>
>>
>>
>