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

"Chengli (Cheng Li)" <chengli13@huawei.com> Fri, 18 October 2019 02:58 UTC

Return-Path: <chengli13@huawei.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 97137120C60; Thu, 17 Oct 2019 19:58:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 5Bpfiw_gl846; Thu, 17 Oct 2019 19:58:43 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (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 4A2DA120C13; Thu, 17 Oct 2019 19:58:43 -0700 (PDT)
Received: from lhreml709-cah.china.huawei.com (unknown [172.18.7.108]) by Forcepoint Email with ESMTP id 255CF84794C4ABB41656; Fri, 18 Oct 2019 03:58:41 +0100 (IST)
Received: from DGGEML421-HUB.china.huawei.com (10.1.199.38) by lhreml709-cah.china.huawei.com (10.201.108.32) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 18 Oct 2019 03:58:40 +0100
Received: from DGGEML529-MBX.china.huawei.com ([169.254.6.135]) by dggeml421-hub.china.huawei.com ([10.1.199.38]) with mapi id 14.03.0439.000; Fri, 18 Oct 2019 10:58:34 +0800
From: "Chengli (Cheng Li)" <chengli13@huawei.com>
To: "Joel M. Halpern" <jmh@joelhalpern.com>, "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>
Thread-Topic: [spring] draft-ietf-spring-srv6-network-programming: Section 4.16
Thread-Index: AQHVhM8FDa1a/xxMT66jJXRsDe/6WKdeTSQAgAAtmwCAAAFbgIABMvAA
Date: Fri, 18 Oct 2019 02:58:35 +0000
Message-ID: <C7C2E1C43D652C4E9E49FE7517C236CB02747EAD@dggeml529-mbx.china.huawei.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>
In-Reply-To: <4604bdbc-d5e0-3c7d-96b4-a91dfd90a1ef@joelhalpern.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.130.185.75]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/ypdAQcstu_JCUIsQePiFYdTwIWw>
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 02:58:51 -0000

Hi Zhenqiang and Jeol,

As my understanding,  the problem is clear.

the PSP flavor is associated with the penultimate SID in the segment list, which may be an END, END.X or END.T. 

The PSP action will be executed after the last SID, which can be an END.Dx SID, is updated to the IPv6 DA.

For instance, the PSP action is executed on the node C according to an END.X SID with PSP flavor initiated by it, and the updated IPv6 DA is an END.DT4 SID.

A----B---C-----D


Now the questions are,
1. do we need this flavor? 
2. what is the benefit?
3. what is the pain of removing the SRH without removing the whole IPv6 header?  I think we need some explanations on the word "extremely painful".

Use cases are needed.

Cheng


-----Original Message-----
From: spring [mailto:spring-bounces@ietf.org] On Behalf Of Joel M. Halpern
Sent: Friday, October 18, 2019 12:14 AM
To: Pablo Camarillo (pcamaril) <pcamaril@cisco.com>; 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

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.

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