Re: [spring] draft-ietf-spring-srv6-network-programming: Section 4.16

Satoru Matsushima <satoru.matsushima@gmail.com> Fri, 18 October 2019 05:05 UTC

Return-Path: <satoru.matsushima@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 7318F120045; Thu, 17 Oct 2019 22:05:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.998
X-Spam-Level:
X-Spam-Status: No, score=-0.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, GB_AFFORDABLE=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 ad4Jill5WVpB; Thu, 17 Oct 2019 22:05:26 -0700 (PDT)
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) (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 3F218120024; Thu, 17 Oct 2019 22:05:26 -0700 (PDT)
Received: by mail-pl1-x631.google.com with SMTP id k7so2268313pll.1; Thu, 17 Oct 2019 22:05:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=RYdFpoLyU/yuOG3GgZ9Inyw80SSP/iDSKEnxQ38Cv/o=; b=FQCC8akNAJhbIM7VIAeAMQGU17Vd1xF1d5qIsYcu6GQln97mmTRIIb2wXgu9/dtFJX JrQSAjX9AnRrSPeAEBkVCexGLHi0JQc8drztRtZ9A48NVj2NLyQhFqd9mcMtlN2zrHHI jxwbaHSD9vu3E0EMNN/YCHy/sr+JehJdCCNjEvT1+t5SZJFoR7OXpyzmN9zKH2YuB7Lc FFTOmy9tQmnOvD5CmhRrts2zHPHK1lsGH1xEX8WrWCdfEUTL7Af9NdVK4zcYWRW7asQ5 wfrfQuJ458ceDguiI/aiC8fGCFQhILsTbJMAYRtx/TammTMCMIYfjoteoxtnWLwgsuWa 8XdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=RYdFpoLyU/yuOG3GgZ9Inyw80SSP/iDSKEnxQ38Cv/o=; b=NCwug4k+NyP/NPRaKFSSK2zwWbJJoAUA1viTWSODSny5qR7UdQ1NL5NkEc8GpG3JKM 8dgSlldCa5cQk4e5sJbP3etkBmTp6yhX2NZqg/yUSucQH7ZFXALpRgUNh1Sevo4ot1zo Pq4zAaSFPwJD0P9cBAHka5NH0uxbLQGofdF6BvFG/Nt8S4Pj4eI8qy8bwNTu/XWaQ8ob kS3c0Wlx05a9NELL1+RTBbVmKotblC4YgR9NKkN0PmtwE3DoI+Vr6J2gnMqwmCH06t+W Ca0YGozpYQWwPLgT18vAOqCRVxa5mP7Ka7wRruQw8+DteIuHQxdmFeY2RWeN2u7accHM +7Yg==
X-Gm-Message-State: APjAAAViRF3GuUe6Aadnsqiklfgdjw5vNlehOqKZFmcYP52rvogHb42N khVvvlS+Euy/QT6C+nOKT5A=
X-Google-Smtp-Source: APXvYqyYtyxwm+nyy0MJOAvYBAzplA9HWMGmHBjbO3nVEqfDZ3O3tgnMDRcuovnm6nJhBSlCpe4dlQ==
X-Received: by 2002:a17:902:8d8e:: with SMTP id v14mr7836827plo.312.1571375125309; Thu, 17 Oct 2019 22:05:25 -0700 (PDT)
Received: from [10.207.114.61] ([202.45.12.164]) by smtp.gmail.com with ESMTPSA id z4sm3704554pjt.17.2019.10.17.22.05.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 17 Oct 2019 22:05:24 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3594.4.19\))
From: Satoru Matsushima <satoru.matsushima@gmail.com>
In-Reply-To: <4604bdbc-d5e0-3c7d-96b4-a91dfd90a1ef@joelhalpern.com>
Date: Fri, 18 Oct 2019 14:05:21 +0900
Cc: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>, "spring@ietf.org" <spring@ietf.org>, draft-ietf-spring-srv6-network-programming <draft-ietf-spring-srv6-network-programming@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <835557DD-FCB5-42EC-994F-EE5B06B48F96@gmail.com>
References: <1CFF7617-C996-45C0-8338-D7BD0E4BC206@cisco.com> <4d6b2a58-957d-2c74-b6c1-6bd3cc03bf5e@joelhalpern.com> <E5E280C6-EE9E-4081-ADE5-0523DD312D04@cisco.com> <4604bdbc-d5e0-3c7d-96b4-a91dfd90a1ef@joelhalpern.com>
To: "Joel M. Halpern" <jmh@joelhalpern.com>
X-Mailer: Apple Mail (2.3594.4.19)
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/ssobwemrPz0uEZjvRCZP1e4l_l0>
Subject: Re: [spring] draft-ietf-spring-srv6-network-programming: Section 4.16
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, 18 Oct 2019 05:05:28 -0000

Joel,

> 2019/10/18 1:14、Joel M. Halpern <jmh@joelhalpern.com>のメール:
> 
> Pretending it is legitimate, let me ask a different aspect of the question.
> 
> Removing bytes (aor adding bytes) from arbitrary positions in the middle of a packet is generally any extremely painful operation.  Why would we want a standard that mandated such an operation?  Savings a few bytes on SR hop (sure, several IP router hops) seems a small benefit for such a cost.
> 

That sounds weird comment for me. We have deployed that type of function with no compromise in terms of of both performance and operation within reasonable and affordable cost.

Cheers,
--satoru


> Yours,
> Joel
> 
> On 10/17/2019 12:09 PM, Pablo Camarillo (pcamaril) wrote:
>> Hi Joel,
>> RFC8200 permits extension header processing, insertion, deletion at a node identified in the Destination Address field of the IPv6 header. This has been discussed in other threads like https://mailarchive.ietf.org/arch/msg/ipv6/Ypnpw-oneCb7W6s41dVZGMok0Nw .
>> Thanks,
>> Pablo
>> -----Original Message-----
>> From: "Joel M. Halpern" <jmh@joelhalpern.com>
>> Date: Thursday, 17 October 2019 at 15:26
>> To: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>, "spring@ietf.org" <spring@ietf.org>
>> Cc: draft-ietf-spring-srv6-network-programming <draft-ietf-spring-srv6-network-programming@ietf.org>
>> Subject: Re: [spring] draft-ietf-spring-srv6-network-programming: Section 4.16
>> Resent from: <alias-bounces@ietf.org>
>> Resent to: <cf@cisco.com>, <pcamaril@cisco.com>, <john@leddy.net>, <daniel.voyer@bell.ca>, <satoru.matsushima@g.softbank.co.jp>, <lizhenbin@huawei.com>
>> Resent date: Thursday, 17 October 2019 at 15:26
>>     Removing a header from an IPv6 packet (without removing the whole IPv6
>>     header) is a violation of RFC 8200.
>>          As such, it should be removed from the base network programming draft.
>>     If you really want it, put it in the new insertion draft.  And justify it.
>>          With regard to the example of off-load, the usual practice has been to
>>     avoid standardizing off-load behaviors in the IETF.  the NIC vendors
>>     come up with all sorts of ways to improve performance that violate the
>>     specifications.  We do not endorse that, and leave the need for
>>     consenting devices engaging in proprietary communication to them.
>>          Yours,
>>     Joel
>>          On 10/17/2019 5:41 AM, Pablo Camarillo (pcamaril) wrote:
>>     > Li,
>>     >
>>     >     Node1's
>>     >
>>     >     Tenant-100 IPv4 table is: T.Encaps with SRv6 Policy <B:3:C4::,
>>     >
>>     >     B:8:D100::>.
>>     >
>>     >     When 1 receives a packet P from CE-A destined to 20.20.20.20, P looks
>>     >
>>     >     up its tenant-100 IPv4 table and finds an SR-VPN entry 20/8.  As a
>>     >
>>     >     consequence, 1 pushes an outer header with SA=A:1::, DA=B:3:C4::,
>>     >
>>     >     NH=SRH followed by SRH (B:8:D100::, B:3:C4::; SL=1; NH=4). 1 then
>>     >
>>     >     forwards the resulting packet on the interface to 2.
>>     >
>>     >     2 forwards to 3 along the path to B:3::/32.
>>     >
>>     >     When 3 receives the packet, 3 matches the DA in its "My SID Table"
>>     >
>>     >     and finds the bound function End.X to neighbor 4. 3 notes the PSP
>>     >
>>     >     capability of the SID B:3:C4::. 3 sets the DA to the next SID
>>     >
>>     >     B:8:D100::. As 3 is the penultimate segment hop, it performs PSP and
>>     >
>>     >     pops the SRH. 3 forwards the resulting packet to 4.
>>     >
>>     >     4, 6 and 7 forwards along the path to B:8::/32.
>>     >
>>     >    When 8 receives the packet, 8 matches the DA in its "My SID Table"
>>     >
>>     >     and finds the bound function End.DT(100).  As a result, 8 decaps the
>>     >
>>     >     outer header, looks up the inner IPv4 DA (20.20.20.20) in tenant-100
>>     >
>>     >     IPv4 table, and forward the (inner) IPv4 packet towards CE-B.
>>     >
>>     > Node 3 receives the packet SA=A:1::, DA=B:3:C4::,NH=SRH followed by SRH
>>     > (B:8:D100::, B:3:C4::; SL=1; NH=4)
>>     >
>>     > The SID B:3:C4:: is associated with the End.X behavior with PSP support.
>>     > Node 3 is going to decrement SL, copy the segment B:8:D100:: into the
>>     > IPv6 DA and set the packet’s egress adjacency to J (adjacency associated
>>     > with that SID instance). Additionally, (PSP) it will check what is the
>>     > SL value in the SRH. If the SL=0 it will remove the SRH from the packet.
>>     >
>>     > The segment B:3:C4:: is the penultimate SID in the segment list
>>     > <B:3:C4::, B:8:D100::>. Note that the PSP behavior is not related to IP
>>     > hops.
>>     >
>>     > Cheers,
>>     >
>>     > Pablo.
>>     >
>>     > *From: *li zhenqiang <li_zhenqiang@hotmail.com>
>>     > *Date: *Thursday, 17 October 2019 at 06:11
>>     > *To: *"Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>, Ron Bonica
>>     > <rbonica=40juniper.net@dmarc.ietf.org>, "spring@ietf.org" <spring@ietf.org>
>>     > *Cc: *draft-ietf-spring-srv6-network-programming
>>     > <draft-ietf-spring-srv6-network-programming@ietf.org>
>>     > *Subject: *Re: Re: [spring] draft-ietf-spring-srv6-network-programming:
>>     > Section 4.16
>>     >
>>     > Hi Pablo,
>>     >
>>     > I am still confused by the example in section 2.8.1. Node 3 is the
>>     > destionation of SID B:3:C4::, why should it behave PSP for this SID?
>>     > While for SID B:8:D100::, it is an END.DT4, the PSP behavior is not
>>     > defined for this kind of SIDs. Node 3 should not behave PSP for SID
>>     > B:8:D100::, neither.  Would you please explain node 3 is the penultimate
>>     > segment hop of which node or which segment? Suppose the behavior is
>>     > correct, may I know the benifit you gain in this example?
>>     >
>>     > Many Thanks,
>>     >
>>     > Zhenqiang Li
>>     >
>>     > ------------------------------------------------------------------------
>>     >
>>     > li_zhenqiang@hotmail.com
>>     >
>>     >     *From:*Pablo Camarillo (pcamaril) <mailto:pcamaril@cisco.com>
>>     >
>>     >     *Date:* 2019-10-16 00:45
>>     >
>>     >     *To:*li zhenqiang <mailto:li_zhenqiang@hotmail.com>; Ron Bonica
>>     >     <mailto:rbonica=40juniper.net@dmarc.ietf.org>; spring@ietf.org
>>     >     <mailto:spring@ietf.org>
>>     >
>>     >     *CC:*draft-ietf-spring-srv6-network-programming
>>     >     <mailto:draft-ietf-spring-srv6-network-programming@ietf.org>
>>     >
>>     >     *Subject:* Re: [spring] draft-ietf-spring-srv6-network-programming:
>>     >     Section 4.16
>>     >
>>     >     Li,
>>     >
>>     >     I have replied the technical questions regarding PSP and USP in the
>>     >     email thread from one week ago.
>>     >
>>     >     You have not provided any technical concern.
>>     >
>>     >     > “Further, the example for PSP in the companion doc srv6-net-pgm-illustration is wrong. PSP is used for END.DT4 in the companion doc while flavors are only defined for END, END.X and END.T  in srv6-network-programming.”
>>     >
>>     >     The illustration in section 2.8.1 is correct. Please re-read it. PSP
>>     >     is used at node 3 together with the End.X behavior.
>>     >
>>     >     Regards,
>>     >
>>     >     Pablo.
>>     >
>>     >     Replies from one week ago:
>>     >
>>     >     https://mailarchive.ietf.org/arch/msg/spring/V0ZpjVLSVZxHaBwecXFxqJjlg_c
>>     >
>>     >     https://mailarchive.ietf.org/arch/msg/spring/WrYzRZC0HKVgBYaYMCQVcTWrfak
>>     >
>>     >     *From: *li zhenqiang <li_zhenqiang@hotmail.com>
>>     >     *Date: *Tuesday, 15 October 2019 at 09:32
>>     >     *To: *Ron Bonica <rbonica=40juniper.net@dmarc.ietf.org>,
>>     >     "spring@ietf.org" <spring@ietf.org>
>>     >     *Cc: *draft-ietf-spring-srv6-network-programming
>>     >     <draft-ietf-spring-srv6-network-programming@ietf.org>
>>     >     *Subject: *Re: [spring] draft-ietf-spring-srv6-network-programming:
>>     >     Section 4.16
>>     >     *Resent from: *<alias-bounces@ietf.org>
>>     >     *Resent to: *<cf@cisco.com>, <pcamaril@cisco.com>, <john@leddy.net>,
>>     >     <daniel.voyer@bell.ca>, <satoru.matsushima@g.softbank.co.jp>,
>>     >     <lizhenbin@huawei.com>
>>     >     *Resent date: *Tuesday, 15 October 2019 at 09:32
>>     >
>>     >     I suggest this section be removed from this version until the
>>     >     community reaches rough consensus.
>>     >
>>     >     Further, the example for PSP in the companion doc
>>     >     srv6-net-pgm-illustration is wrong. PSP is used for END.DT4 in the
>>     >     companion doc while flavors are only defined for END, END.X and
>>     >     END.T in srv6-network-programming.
>>     >
>>     >     Best Regards,
>>     >
>>     >     Zhenqiang Li
>>     >
>>     >     ------------------------------------------------------------------------
>>     >
>>     >     li_zhenqiang@hotmail.com
>>     >
>>     >         *From:*Ron Bonica <mailto:rbonica=40juniper.net@dmarc.ietf.org>
>>     >
>>     >         *Date:* 2019-10-15 02:42
>>     >
>>     >         *To:*SPRING WG List <mailto:spring@ietf.org>
>>     >
>>     >         *Subject:* [spring] draft-ietf-spring-srv6-network-programming:
>>     >         Section 4.16
>>     >
>>     >         Authors,
>>     >
>>     >         Lacking the B.INSERT and T.INSERT functions, can you describe a
>>     >         use-case for the PSP and USP flavors of the END, END.X and END.T
>>     >         functions?
>>     >
>>     >         Ron
>>     >
>>     >         Juniper Business Use Only
>>     >
>>     >
>>     > _______________________________________________
>>     > 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