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

"Joel M. Halpern" <jmh@joelhalpern.com> Thu, 17 October 2019 13:26 UTC

Return-Path: <jmh@joelhalpern.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 711031200E3; Thu, 17 Oct 2019 06:26:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=joelhalpern.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 6l1F-Tv36mb2; Thu, 17 Oct 2019 06:26:10 -0700 (PDT)
Received: from maila2.tigertech.net (maila2.tigertech.net [208.80.4.152]) (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 560AC120059; Thu, 17 Oct 2019 06:26:10 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by maila2.tigertech.net (Postfix) with ESMTP id 46v90f1MpzzVfps; Thu, 17 Oct 2019 06:26:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelhalpern.com; s=2.tigertech; t=1571318770; bh=dwajFpeM3wzU0sqMi0UhSiZfzn4fJP86+bwKGVrWBnw=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=SAMJ6IO2gJTc5n2bClofT0x1oQEYV3gBvCC5/Kfqe+nXyyRYrpCDORnWfVqi296Sb Q/cEndv3Zs5UznLmX6lZZCvnUhv6KsDNrZts1c4deD34Ozj5OniOz1Fl9pCTrAt7lT /FpfD6u/MolFFLY2f06rCGDHSyXjPRIUebYJW9Fk=
X-Virus-Scanned: Debian amavisd-new at maila2.tigertech.net
Received: from [192.168.128.43] (209-255-163-147.ip.mcleodusa.net [209.255.163.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by maila2.tigertech.net (Postfix) with ESMTPSA id 46v90d39M3zVfrG; Thu, 17 Oct 2019 06:26:09 -0700 (PDT)
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>
References: <1CFF7617-C996-45C0-8338-D7BD0E4BC206@cisco.com>
From: "Joel M. Halpern" <jmh@joelhalpern.com>
Message-ID: <4d6b2a58-957d-2c74-b6c1-6bd3cc03bf5e@joelhalpern.com>
Date: Thu, 17 Oct 2019 09:26:08 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0
MIME-Version: 1.0
In-Reply-To: <1CFF7617-C996-45C0-8338-D7BD0E4BC206@cisco.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/JV-uUBKNHw3fNTb4vqUQ8xMozE4>
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: Thu, 17 Oct 2019 13:26:13 -0000

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
>