Re: [spring] End.DT/End.DX SIDs (was Re: USD/USP question in draft-ietf-spring-srv6-network-programming-06.txt)

Gyan Mishra <hayabusagsm@gmail.com> Thu, 19 December 2019 22:51 UTC

Return-Path: <hayabusagsm@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 1F719120048 for <spring@ietfa.amsl.com>; Thu, 19 Dec 2019 14:51:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 wHpq1ukJa5XF for <spring@ietfa.amsl.com>; Thu, 19 Dec 2019 14:51:20 -0800 (PST)
Received: from mail-io1-xd2b.google.com (mail-io1-xd2b.google.com [IPv6:2607:f8b0:4864:20::d2b]) (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 667E212001A for <spring@ietf.org>; Thu, 19 Dec 2019 14:51:20 -0800 (PST)
Received: by mail-io1-xd2b.google.com with SMTP id c16so3918914ioo.8 for <spring@ietf.org>; Thu, 19 Dec 2019 14:51:20 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jrhJcz5zkRcFzkqugA0Cg563GYPOrd15iWVS2yrumUM=; b=nJunpxwqFyoBFBM9m2EARk/3JLS4LaXFGmCFeVJJmOCG91yXnMdgkpD2G33axreq5P VZ7ldzEZXw0xWfGgos1ciJ8lDhGM6+KfbRjaGRfYDbSfw2Gx4mfd8sIkZIWJCxVoSedS HqutPWL1tAi7DXed8Z8W7X6fRKk5+ZxfD+aMbu7993bKymi06ML4WHnlMfZTlMCU+n6h RCb5L2ckdrDvyO5NprhUXESyxmzjtbdCx8SCctF3MT756EiovJ+c3mmaUewmmla3sjwW /P5A9dw1LOQwXbYU5lwdQ3M+lBcyPT0bB+Fu1mI/b1ybaAjipzvNQAnRCeWLgH+aSt3Q QWTA==
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=jrhJcz5zkRcFzkqugA0Cg563GYPOrd15iWVS2yrumUM=; b=aHPjNZ+ECcFlBhX8vj7JySU9vNSWy1zKKUZ/jrCOH5zmtoR/lsFfUGtdNM1XKtwk7v 8j7qTlumtY4VpHUg5wR+oc+KhYhnA7qDIdvFi+w6+zxDgV17DBFI11/c4E4xNZGyikhU x2HMNYt6TwXwWhNZSahSxCjeFzzuLnN7Iy2yw1kJwyTbNuPVq4uBX7UjdDNYKspFmBe6 NOIL2DZYF0eoNGwGl05riXW60pVkNFOwXTYuUNYLe79EIsHpZdC6t/wu8vdCkS2dzaUE 8jJFDdSA0ONm6XP/1GvrBSH0QZOLHwwi1Qyyqigh8YtEa4IQNA6ofz78XAowY/2mYj0L z4XQ==
X-Gm-Message-State: APjAAAU0gjvhPkQXBEHmxBqfZf/DTooMpSXCFu03JhHpKK3FBYWY3zzO KUk03AKOVWaRgAo7gbTyu12y8R+Tc9rmKIGeArk=
X-Google-Smtp-Source: APXvYqyYdfqs5B1bEofxGjmvOdbLWRX+C6ilyrmlsuTvquD6DcFnXirvHYOxa8hQ7GUm4RNYeyVrGL8pBWfF2+q211Q=
X-Received: by 2002:a02:13c2:: with SMTP id 185mr3737269jaz.0.1576795879429; Thu, 19 Dec 2019 14:51:19 -0800 (PST)
MIME-Version: 1.0
References: <2CFF8BC8-7B75-476D-8EF1-3F35652D995A@cisco.com> <BN7PR05MB56990E24B6226A6B020F3E2CAE520@BN7PR05MB5699.namprd05.prod.outlook.com>
In-Reply-To: <BN7PR05MB56990E24B6226A6B020F3E2CAE520@BN7PR05MB5699.namprd05.prod.outlook.com>
From: Gyan Mishra <hayabusagsm@gmail.com>
Date: Thu, 19 Dec 2019 17:51:08 -0500
Message-ID: <CABNhwV0wszssBRkPLuY95Mok7B10T6taSXvcn9Kt45hz5fEzxw@mail.gmail.com>
To: Ron Bonica <rbonica@juniper.net>
Cc: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>, "Voyer, Daniel" <daniel.voyer@bell.ca>, "Wang, Weibin (NSB - CN/Shanghai)" <weibin.wang@nokia-sbell.com>, "spring@ietf.org" <spring@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000046e6cf059a1666d8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/pv9C5K3xlX8Kc76LM_C5Sb63Vdg>
Subject: Re: [spring] End.DT/End.DX SIDs (was Re: USD/USP question in draft-ietf-spring-srv6-network-programming-06.txt)
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, 19 Dec 2019 22:51:24 -0000

On Thu, Dec 19, 2019 at 11:28 AM Ron Bonica <rbonica@juniper.net> wrote:

> Pablo,
>
>
>
> In L3VPN, all of these are combined into a single 20-bit MPLS label. Why
> can SRv6 not do likewise?
>
>
>
>                                              Ron
>
>  [Gyan] Very good point.  All of those are related to BOS=1 vpn service
> label.  This is covered with BESS in detail in the L3 vpn service SID.
>
https://tools.ietf.org/pdf/draft-ietf-bess-srv6-services-01.pdf
> SRv6 programming is related to the end.x cross connects within the SR
> domain similar to in MPLS terms “topmost label”.  So the external to SRv6
> domain,  PE-CE M-BGP BGP services is really separate covered by the draft
> above.
>



>
> Juniper Business Use Only
>
> *From:* spring <spring-bounces@ietf.org> *On Behalf Of *Pablo Camarillo
> (pcamaril)
> *Sent:* Thursday, December 19, 2019 6:47 AM
> *To:* Wang, Weibin (NSB - CN/Shanghai) <weibin.wang@nokia-sbell.com>;
> Gyan Mishra <hayabusagsm@gmail.com>
> *Cc:* spring@ietf.org; Voyer, Daniel <daniel.voyer@bell.ca>
> *Subject:* [spring] End.DT/End.DX SIDs (was Re: USD/USP question in
> draft-ietf-spring-srv6-network-programming-06.txt)
>
>
>
> Gyan,
>
>
>
> The End.DX4/End.DX6 can be seen as an equivalent to the MPLS per-CE VPN
> label.
>
> The End.DT4/End.DT6 can be seen as an equivalent to the MPLS per-VRF VPN
> label.
>
>
>
> I believe that they cannot be combined.
>
>
>
> Cheers,
>
> Pablo.
>
>
>
> *From: *Gyan Mishra <hayabusagsm@gmail.com>
> *Date: *Sunday, 15 December 2019 at 08:29
> *To: *"Wang, Weibin (NSB - CN/Shanghai)" <weibin.wang@nokia-sbell.com>
> *Cc: *"Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>, "Voyer, Daniel" <
> daniel.voyer@bell.ca>, "spring@ietf.org" <spring@ietf.org>
> *Subject: *Re: [spring] USD/USP question in
> draft-ietf-spring-srv6-network-programming-06.txt
>
>
>
>
>
> Hi Wang & Pablo & Spring Authors,
>
>
>
> Had another question?
>
>
>
> These 4 sections.  Trying to understand the difference between end.dx4
> end.dx6 and end.dt4 and end.dt6.  They both seem very similar.  One says
> xconnect but other has v4 v6 lookup but for both you have to signal  L3 vpn
> services sid.  Not sure why both SIDs dx dt Sid function why they cannot be
> combined.
>
>
>
> I noticed this difference below that the dx4 dt4 account for the global
> table scenario where the PE-CE is native IPv4 or IPv6.  In the MPLS world
> that use case is very different in that there is not any L3 vpn label and
> do the label stack only had a single topmost label.  Also in the MPLS
> scenario with IPv6 global table PE-CE with a IPv4 core you require BGP -LU
> labeled unicast “send label” to label all the IPv6 prefixed tunneled over
> IPv4.   Since that scenario is very different with global table does it
> make sense to have a separate End.x variant for global table for both IPv4
> and IPv6.
>
>
>
>    Note that an End.DT6 may be defined for the main IPv6 table in which
>
>    case and End.DT6 supports the equivalent of an IPv6inIPv6
>
>    decapsulation (without VPN/tenant implication).
>
>
>
>      4.4 <https://urldefense.com/v3/__https:/tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05*section-4.4__;Iw!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JAaJnI7_$>.  End.DX6: Decapsulation and IPv6 cross-connect . . . . . .  12 <https://urldefense.com/v3/__https:/tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05*page-12__;Iw!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JH8Abwf7$>
>
>      4.5 <https://urldefense.com/v3/__https:/tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05*section-4.5__;Iw!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JEh8sRB2$>.  End.DX4: Decapsulation and IPv4 cross-connect . . . . . .  13 <https://urldefense.com/v3/__https:/tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05*page-13__;Iw!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JHAg09NC$>
>
>      4.6 <https://urldefense.com/v3/__https:/tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05*section-4.6__;Iw!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JHVgWtPg$>.  End.DT6: Decapsulation and specific IPv6 table lookup . .  14 <https://urldefense.com/v3/__https:/tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05*page-14__;Iw!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JA89XfKV$>
>
>      4.7 <https://urldefense.com/v3/__https:/tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05*section-4.7__;Iw!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JF59SaCO$>.  End.DT4: Decapsulation and specific IPv4 table lookup . .  15 <https://urldefense.com/v3/__https:/tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05*page-15__;Iw!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JICjeckL$>
>
>
>
> Also I was trying to understand end.dt46.
>
>
>
> So if the PE-CE edge is dual stacked anhas both v4 and v6 you have a VRF tenant v4 and v6 separate peers signaled via L3 vpn services TLV.  So why do you need this end.dt46 sid
>
>
>
> 4.8 <https://urldefense.com/v3/__https:/tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05*section-4.8__;Iw!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JMbbI6-v$>.  End.DT46: Decapsulation and specific IP table lookup  . .  16 <https://urldefense.com/v3/__https:/tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05*page-16__;Iw!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JMihsn8k$>
>
>
>
>
>
> Kind Regards,
>
>
>
> Gyan
>
>
>
> On Sun, Dec 15, 2019 at 2:06 AM Gyan Mishra <hayabusagsm@gmail.com> wrote:
>
> Hi Wang
>
>
>
> I have a question regarding the PSP, USP and USD sections I pasted below.
>
>
>
> I just sent an email to Spring WG related to PSP and technically why that
> is necessary as that is a legacy concept that has parity to MPLS but is not
> used today due to QOS issues.  Please see that email related to that topic.
>
>
>
>
>
> In the PSP section can If we have to keep PSP can we add verbiage that
> states that PSP removal of the SRH header occurs on the Penultimate egress
> P node.
>
>
>
> In the USP section can we also add that all remaining SRH present in the
> packet are popped on the egress PE ultimate node.
>
>
>
> In looking at these 3 SID functions the PSP and USP pop the EH and the USP
> removes the 6in6 encapsulation so that the other end.x dt4 dt6 etc can pop
> the services L3vpn headers.
>
>
>
> Why can’t the USD 6in6 encapsulation removal be done on with the USP SID?
>
>
>
> Why does the USP and USD SID have to be separate?
>
>
> 4.16.1
> <https://urldefense.com/v3/__https:/tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05*section-4.16.1__;Iw!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JNXuPqZh$>.
> PSP: Penultimate Segment Pop of the SRH
>
>
>
>
>
>    The SRH processing of the End, End.X and End.T behaviors are
>
>    modified: after the instruction "S14.  Update IPv6 DA with Segment
>
>    List[Segments Left]" is executed, the following instructions must be
>
>    executed as well:
>
>
>
>    S14.1.   If (updated SL == 0) {
>
>    S14.2.      Pop the SRH
>
>    S14.3.   }
>
>
>
> 4.16.2
> <https://urldefense.com/v3/__https:/tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05*section-4.16.2__;Iw!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JLGcpaqu$>.
> USP: Ultimate Segment Pop of the SRH
>
>
>
>
>
>    The SRH processing of the End, End.X and End.T behaviors are
>
>    modified: the instructions S02-S04 are substituted by the following
>
>    ones:
>
>
>
>    S02.   If (Segments Left == 0) {
>
>    S03.       Pop the SRH
>
>    S04.   }
>
>
>
> 4.16.3
> <https://urldefense.com/v3/__https:/tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05*section-4.16.3__;Iw!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JKFZ-dKZ$>.
> USD: Ultimate Segment Decapsulation
>
>
>
>
>
>    The SRH processing of the End, End.X and End.T behaviors are
>
>    modified: the instructions S02-S04 are substituted by the following
>
>    ones:
>
>
>
>    S02.   If (Segments Left == 0) {
>
>    S03.      Skip the SRH processing and proceed to the next header
>
>    S04.   }
>
>
>
>
>
>    Further on, the Upper-layer header processing of the End, End.X and
>
>    End.T behaviors are modified as follows:
>
>
>
>
>
> Kind regards,
>
>
>
> Gyan
>
>
>
> On Sat, Dec 14, 2019 at 9:08 PM Wang, Weibin (NSB - CN/Shanghai) <
> weibin.wang@nokia-sbell.com> wrote:
>
> Hi Pablo:
>
>
>
> After the 2 context assumption in previous version of this draft,  “we
> assume that there is no other extension header than the SRH.”  and  “We
> assume
>
>    that the SRH may be present multiple times inside each packet”, are
> removed in this last draft, I feel a bit confusion on USD SID, as well as
> combination of USD & USP.
>
>
>
> First, within the content of this last draft, the word “Further on” marked
> red in the following pseudocode in section “4.16.3” is hard to understand
> if the packet being processed has other EH embed between SRH and
> Upper-layer header, such as AH or other EH, then the processing control of
> this packet will be passed to normal IPv6 module from current SRH
> processing module in SR-Node, so my question is : Can its control after
> completing AH processing (for example)  be back to SRH module (or call it
> pseudocode module) to proceed the next header like “upper-lay header type
> ==41 or 4”.
>
> Or, if not, Did you created a new EH processing protocol stack instance in
> parallel to normal IPv6 module within the scope of SRH processing in
> SR-node.
>
>
>
> 4.16.3.  USD: Ultimate Segment Decapsulation
>
>
>
> S02.   If (Segments Left == 0) {
>
>    S03.      Skip the SRH processing and proceed to the next header
>
>    S04.   }
>
>
>
> Further on, the Upper-layer header processing of the End, End.X and
>
>    End.T behaviors are modified as follows:
>
>
>
>    End:
>
>    S01. If (Upper-layer Header type == 41 || 4) {
>
>    S02.    Remove the outer IPv6 Header with all its extension headers
>
>    S03.    Submit the packet to the egress IP FIB lookup and
>
>               transmission to the new destination
>
>    S04. } Else {
>
>    S05.    Send an ICMP Parameter Problem message to the Source Address
>
>               Code 4 (SR Upper-layer Header Error),
>
>               Pointer set to the offset of the upper-layer header.
>
>               Interrupt packet processing and discard the packet.
>
>
>
>    S06. }
>
>
>
> From my understanding, the all processing action about specific SID must
> be completed successively. That is to say, upon USD, the upper-layer header
> (type 41 or 4) must be followed the SRH header being processed currently,
> or second SRH following the same rule (of course, the draft not considering
> 2 or more successive SRHs).
>
>
>
> Second, the mixed SIDs function with combination of USD and USP (even
> PSP&USD&USP), I think, it is easy to understand when the two assumption
> above exist, but now I think it isn’t clear if you only provide the
> following sentence in this draft, i.e.  “if … else…” statement:
>
> “An implementation that supports the USD flavor in conjunction with
>
>    the USP flavor MAY optimize the packet processing by first looking
>
>    whether the conditions for the USD flavor are met, in which case it
>
>    can proceed with USD processing else do USP processing.”
>
> This confusion is also described in my another mail. Of course, if the
> first question is addressed then this confusion does not exist.
>
>
>
> By the way, is it really no different in text description before and after
> the two context assumption above removed?
>
>
>
>
>
> *Cheers !*
>
>
>
> *WANG Weibin*
>
> _______________________________________________
> 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!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JI97MuU_$>
>
> --
>
> Gyan S. Mishra
>
> IT Network Engineering & Technology
>
> Verizon Communications Inc. (VZ)
>
> 13101 Columbia Pike
> <https://www.google.com/maps/search/13101+Columbia+Pike?entry=gmail&source=g>
> FDC1 3rd Floor
>
> Silver Spring, MD 20904
>
> United States
>
> Phone: 301 502-1347
>
> Email: gyan.s.mishra@verizon.com
>
> www.linkedin.com/in/networking-technologies-consultant
> <https://urldefense.com/v3/__http:/www.linkedin.com/in/networking-technologies-consultant__;!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JI36IPfx$>
>
>
>
> --
>
> Gyan S. Mishra
>
> IT Network Engineering & Technology
>
> Verizon Communications Inc. (VZ)
>
> 13101 Columbia Pike
> <https://www.google.com/maps/search/13101+Columbia+Pike?entry=gmail&source=g>
> FDC1 3rd Floor
>
> Silver Spring, MD 20904
>
> United States
>
> Phone: 301 502-1347
>
> Email: gyan.s.mishra@verizon.com
>
> www.linkedin.com/in/networking-technologies-consultant
> <https://urldefense.com/v3/__http:/www.linkedin.com/in/networking-technologies-consultant__;!!NEt6yMaO-gk!QzHlcRglDrowIq4p7kbUU8tNwsbwrneoRiLDYAClyLIXp1ZLWOSxDhU6JI36IPfx$>
>
>
>
-- 

Gyan S. Mishra

IT Network Engineering & Technology

Verizon Communications Inc. (VZ)

13101 Columbia Pike FDC1 3rd Floor

Silver Spring, MD 20904

United States

Phone: 301 502-1347

Email: gyan.s.mishra@verizon.com

www.linkedin.com/in/networking-technologies-consultant