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:12 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 143F4120180 for <spring@ietfa.amsl.com>; Thu, 19 Dec 2019 14:12:45 -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 LzyeS9KlNhkt for <spring@ietfa.amsl.com>; Thu, 19 Dec 2019 14:12:42 -0800 (PST)
Received: from mail-io1-xd35.google.com (mail-io1-xd35.google.com [IPv6:2607:f8b0:4864:20::d35]) (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 B2DB0120048 for <spring@ietf.org>; Thu, 19 Dec 2019 14:12:41 -0800 (PST)
Received: by mail-io1-xd35.google.com with SMTP id b10so7382269iof.11 for <spring@ietf.org>; Thu, 19 Dec 2019 14:12:41 -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=eRHbo8r9V1R5eTVbEDgZZvfSTMAl1dMKw+wFIOhwrNQ=; b=NKTIOmJnKLRMVe1ZdXotfmId0iLezBwaDH/ZPxrVOJw7K3hg0WUp3m8191485R/bLY DIVFc3tCiOeDldRX3SmgksBr4R5R94cmBr0j+bap8R3vlRX7M/aJpuSrm0yxaYiw9Gwp txIMj1vETP781YrtoKtLvd3IF+aaeQNJDZLk5loYeiJn2Xw4FNSLGJqCpN2DFinZTpRz 7tyOBXoMFC/V5VnrqTE9LLReVzNdMQyVUDZBfGcwz5ILhKr5SpnlmsgkoMWIiBUNW/Cc 22srycooB1ZHhmnlSKAhpqfxBCQgQmL3Bv3wan6yMUHam0KyDNXY9KREA1SGikdXNZOW 0fAQ==
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=eRHbo8r9V1R5eTVbEDgZZvfSTMAl1dMKw+wFIOhwrNQ=; b=unguLkpaF3LztqBdcgjFR8yrTCmK/oU72P5EFIR7tSuP/PdnR2EP3yoquPaP2tjhIQ snZ2a6Z8ysfNNUmFwb9iwwLWN4JSlbVqne24urcQgZrCC0QSZpAiXUQ7Hi+fQ/ODUqGt Gie3A18HP8d6TZYzpspi5nQHZt2AAx75guZ+bRGtg5r3KQzGXL0dmljZ0QHbkAubjCk1 H6S66gzxn7ZwHluwt6X1GOXIr2QunilskTg2bxPPxYtDOldGsQUvmPGXgC2sIxiGj8z1 sipTwQxmKtbGwej0OBghy8L3bScrMXus/3hQlA7VCsarbbvEcy8HwuuFT7nyO6oj0EIc 6ZBw==
X-Gm-Message-State: APjAAAXK9iawGX/6owKlWNqSmeYtUYLmHT9KU5eNE16MVweLs8lNG2oj LeJiHVM7EenfBHPOlgQde3pk0hClqVQRR17VZRw=
X-Google-Smtp-Source: APXvYqyjv26jZS9sF2USITnWVwTlYiPML0GESE9I5TurPnY8DFLCV6BPQ+CU3KmjZa88GNeybP56tvHXduCHSKEoo/o=
X-Received: by 2002:a02:6c41:: with SMTP id w62mr9516012jab.52.1576793560784; Thu, 19 Dec 2019 14:12:40 -0800 (PST)
MIME-Version: 1.0
References: <2CFF8BC8-7B75-476D-8EF1-3F35652D995A@cisco.com>
In-Reply-To: <2CFF8BC8-7B75-476D-8EF1-3F35652D995A@cisco.com>
From: Gyan Mishra <hayabusagsm@gmail.com>
Date: Thu, 19 Dec 2019 17:12:12 -0500
Message-ID: <CABNhwV2Y2JiKXOKCaHTVnWKYneX0F_FoC1gMV2FdLx0MUmSQJg@mail.gmail.com>
To: "Pablo Camarillo (pcamaril)" <pcamaril@cisco.com>
Cc: "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="0000000000001321b1059a15dca5"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/sA5xuArSOK7Ek7krglWM6qN47Sc>
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:12:45 -0000

On Thu, Dec 19, 2019 at 6:47 AM Pablo Camarillo (pcamaril) <
pcamaril@cisco.com> wrote:

> 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.
>

   I was proposing if possible to combine End.DX4 with End.DT4 and End.DX6
with End.DT6.


Also noticed that dx4 and dx6 also have global table IPv4 IPv6 PE-CE
scenario where there is not any vpn label signaled.  The L3 vpn service sid
is signaled only for tenant VRF vpnv4 vpnv6.  Since global does not have
vpn service label how would that work.

I think you would have to create a separate End.x variant for global v4 v6.

For the end.dt46  I am not sure why you would have a combined 46 sid as v4
and v6 would have their separate edge PE-CE peering and the other separate
end. dx4 dx6 dt4 dt6 should accommodate.  The only think I am guessing is a
Recent update on BESS WG regarding sending IPv4 prefixes with IPv6 NLRI.
In that scenario you would just have a PE-CE v6 peer only and that would
fall under dx6 dt6.  So even then I don’t think this dt64 is necessary.


>
> 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://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05#section-4.4>.  End.DX6: Decapsulation and IPv6 cross-connect . . . . . .  12 <https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05#page-12>
>
>      4.5 <https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05#section-4.5>.  End.DX4: Decapsulation and IPv4 cross-connect . . . . . .  13 <https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05#page-13>
>
>      4.6 <https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05#section-4.6>.  End.DT6: Decapsulation and specific IPv6 table lookup . .  14 <https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05#page-14>
>
>      4.7 <https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05#section-4.7>.  End.DT4: Decapsulation and specific IPv4 table lookup . .  15 <https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05#page-15>
>
>
>
> 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://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05#section-4.8>.  End.DT46: Decapsulation and specific IP table lookup  . .  16 <https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05#page-16>
>
>
>
>
>
> 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://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05#section-4.16.1>.
> 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://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05#section-4.16.2>.
> 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://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-05#section-4.16.3>.
> 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
>
> --
>
> 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
>
>
>
> --
>
> 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
>
>
>
-- 

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