Re: [spring] Different MSDs for different traffic types on the same headend.

Nat Kao <lekao@pyxisworks.org> Thu, 09 January 2020 02:33 UTC

Return-Path: <lekao@pyxisworks.org>
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 44FFE1200D6 for <spring@ietfa.amsl.com>; Wed, 8 Jan 2020 18:33:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=pyxisworks-org.20150623.gappssmtp.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 TJ5zy0isskK8 for <spring@ietfa.amsl.com>; Wed, 8 Jan 2020 18:33:45 -0800 (PST)
Received: from mail-oi1-x22b.google.com (mail-oi1-x22b.google.com [IPv6:2607:f8b0:4864:20::22b]) (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 4153E12004F for <spring@ietf.org>; Wed, 8 Jan 2020 18:33:45 -0800 (PST)
Received: by mail-oi1-x22b.google.com with SMTP id n16so4555082oie.12 for <spring@ietf.org>; Wed, 08 Jan 2020 18:33:45 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pyxisworks-org.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=FqMVmRXRw4RpHpnvDzq36jcdPxg1VS5t37FUDILsqZk=; b=cS+1+vJpicr0Ug8aH0vsKR/PqR4ReoZveeeNjWljVYRnZcJaLjZgcOpvLPExUMuHxV ymlwBHZ2c3I/ojn3fnK7BHeRKrPS+/lAcsaeT1Ndmjm+Rvp7lO58iwecL7SL4FI+ig/C M1qcgMXuMS6EV7yWy5ljmyqkS8NqOPGYSgd5aXBYBVk6GJO7MzUlYcm6RHVrCORO6y2L QSBaIyc+uApPm8PjWZuFcYZX24vtFSkL+xiEuMyRzzTZ/GK1o2mH7/XBlMIetUPZyVm4 oe+4AmIS265Px2p12FJ7EWkjYIFX9DajBR7WD4nobbSI/NdAeIjFIlWSRksY3uvVTDeE QH4A==
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=FqMVmRXRw4RpHpnvDzq36jcdPxg1VS5t37FUDILsqZk=; b=RviTwLtwhpXstd39f12+CHn5VqGdF4rrnqxVOWS6l/J6zoqNmMA2q6I2LD20Ul+9Tz WxB3Vv0C+3Rjz3KK0RWsxSgQOh6MiaLWS+Nku/k3VVk7jl7HHBbMaYyJm+SK0Gw3TOva NBa+skzYDRM2eI9LS1gI+86XmgmF6k7tv5Tx9cwMEF/2WuZ6zMxpe1BGjFxiGkXzsIgu RcRSAZ1sCVUf/AkBHNqxcyDY6QCnCyP5GRGwZZuvmJi3ERTEqBk79G75LMFgUv2URBpg bIUofGXboFIruxzOOKNWdkYaZK6oNFkJ+iOFQQMAzV1uLjKsMN9nZPkrYZpiaeGGRUkj qpJQ==
X-Gm-Message-State: APjAAAXTgoL+uTrIQARfENo5VuW8mAg8U+ZwMy+f37hLOt1wGlcdLC5G Ck/6z4tx0Qt2dojzkCnQiF31PzA8wpan1NySiGhStQ==
X-Google-Smtp-Source: APXvYqxtZoCpmY9xfl61w0yatsQQ2uycRA3cuBupLjjNeWTTTGXpqxV2/MBvnOZ8UroZkYK80zH8jE71iE5ONaBKbfw=
X-Received: by 2002:aca:1a05:: with SMTP id a5mr1435731oia.97.1578537224453; Wed, 08 Jan 2020 18:33:44 -0800 (PST)
MIME-Version: 1.0
References: <CAN3QBScGjeL=yDSW3AOXZrVTGA-czbY2qDrOMQ=gDxAd4d=nYQ@mail.gmail.com> <38b14bf5-b6d9-4d46-ad1d-d26d3376df51@Spark> <CAN3QBSf2Kpu3Pd_FYmA7BCHJ=uWu9DnEEaYdQwGDDs26NmbJQg@mail.gmail.com> <CABNhwV1-yRcK18JsJbAr3e+Hm-35WdmUFZ0mkzwLj5iBD9zWxw@mail.gmail.com> <c8967bfb-5a8e-447d-8e28-314820764f13@Spark> <CAN3QBScyJ5QgmKU8_h62pLF=FQ8y40C3sSRB1TWfKBQfdb1Mkw@mail.gmail.com> <CAN3QBSdFVCBQVPVc2Ax0i2EgMrGqzSCj7YpsUUE2m3HiM9AcyA@mail.gmail.com> <CAOj+MMFZnhYgOShZDFuBAwvhaUPGppo+JTF1k_1+MWKh08NGQg@mail.gmail.com> <CAN3QBSf8e7H7337_E9odFRbz--whH4w+D0NVozsefVSsD75nNg@mail.gmail.com> <MWHPR11MB1600FC5024F4CB780597079CC1500@MWHPR11MB1600.namprd11.prod.outlook.com> <fa412e53-8f14-4dc8-bbaf-bd677ca04be3@Spark> <CAN3QBSfdmn113M_vo9P05iwvd2u7YN6_+4L+xSoGBRoVxGxkhw@mail.gmail.com>
In-Reply-To: <CAN3QBSfdmn113M_vo9P05iwvd2u7YN6_+4L+xSoGBRoVxGxkhw@mail.gmail.com>
From: Nat Kao <lekao@pyxisworks.org>
Date: Thu, 9 Jan 2020 10:33:32 +0800
Message-ID: <CAN3QBSeFC3m9AVAY79n4y2HC+-Aiak98a1Ag-OsvgqNSAXG9LA@mail.gmail.com>
To: Jeff Tantsura <jefftant.ietf@gmail.com>, "Ketan Talaulikar (ketant)" <ketant@cisco.com>
Cc: Robert Raszuk <robert@raszuk.net>, SPRING WG <spring@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000087559f059babd66a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/_jYNQt0d-HNLwmnwO8nsG9gfqMk>
Subject: Re: [spring] Different MSDs for different traffic types on the same headend.
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, 09 Jan 2020 02:33:51 -0000

Hi, Jeff & Ketan.

Should I provide more details about the use cases?
I'm not sure whether this is enough.

Thanks!

On Wed, Dec 18, 2019 at 2:20 PM Nat Kao <lekao@pyxisworks.org> wrote:

> Hi, Jeff & Ketan.
>
> For better discussion, let's assume these first:
>
> "TP-MSD" denotes the maximum transport label depth for traffic without
> service labels.
> "SRV-TP-MSD" denotes the maximum transport label depth for traffic with 1+
> service label(s).
>
> Here's one of the use cases:
>
> A customized best-effort TE process:
>
> 1. Decide which route R (incl. VPN routes) to diverge from its
> shortest-path.
>
> 2. Compute SID-list S for R that satisfies the (TE or whatever)
> constraints.
>
> 3a. If R is a plain IPv4/IPv6 route, we consult TP-MSD.
>     If length(S) <= headend's TP-MSD:
>         Inject an SR-TE policy candidate path P with color X by BGP.
>         Inject a new route R' with color X and larger localpref value.
>     else:
>         This path is not feasible, consider another route.
>
> 3b. If R is a service route, we consult SRV-TP-MSD.
>     If length(S) <= headend's SRV-TP-MSD:
>         Inject an SR-TE policy candidate path P with color X by BGP.
>         Inject a new route R' with color X and larger localpref value.
>     else:
>         This path is not feasible, consider another route.
>
> 4. Repeat 1 to 3 until the main objectives are met.(best-effort approach,
> some might fail)
>
> Notes:
>
> a) Clearly, BMI-MSD >= TP-MSD >= SRV-TP-MSD
> b) TP-MSD & SRV-TP-MSD can be signaled by the same methods as BMI-MSD.
> c) If a change on headend that modifies transport label depths(ex:
> recirculation), TP-MSD & SRV-TP-MSD shall reflect that change accordingly.
> d) If a change on headend that modifies transport label depths of certain
> LCs, TP-MSD & SRV-TP-MSD of those links shall reflect that change, too.
>
> Hope this helps.
>
> Regards,
> Nat
>
>
>
>
> On Wed, Dec 18, 2019 at 8:44 AM Jeff Tantsura <jefftant.ietf@gmail.com>
> wrote:
>
>> Hi Nat,
>>
>> Please bring your use case to the wg, MSD has specifically been designed
>> to address new types with a very little effort.
>>
>> Cheers,
>> Jeff
>> On Dec 17, 2019, 4:21 AM -0800, Ketan Talaulikar (ketant) <
>> ketant@cisco.com>gt;, wrote:
>>
>> Hi Nat,
>>
>>
>>
>> The MSD framework enables us to define more/new MSD types. If there is a
>> real use-case and requirement (as you express) and the necessary MSD
>> type(s) can be formally defined then perhaps the WG can evaluate it.
>>
>>
>>
>> Thanks,
>>
>> Ketan
>>
>>
>>
>> *From:* spring <spring-bounces@ietf.org> *On Behalf Of* Nat Kao
>> *Sent:* 17 December 2019 17:16
>> *To:* Robert Raszuk <robert@raszuk.net>
>> *Cc:* SPRING WG <spring@ietf.org>rg>; Nat Kao <lekao@pyxisworks.org>
>> *Subject:* Re: [spring] Different MSDs for different traffic types on
>> the same headend.
>>
>>
>>
>> Hello, Robert.
>>
>> Surely the current BMI-MSD definition is sufficient for platforms without
>> artificial boundaries.
>>
>> In this ideal case, maximum labels available for SR-TE policy can be
>> inferred from BMI-MSD and VPN routes.
>>
>>
>> However we have 3 different artificial boundaries across 3 different
>> platforms now.
>>
>> Hardcoding these boundaries might not scale well. (Especially different
>> OS versions may behave differently.)
>>
>> A standard mechanism to discover this boundary would greatly help
>> constructing SR-TE policy candidate paths.
>>
>>
>>
>> Regards,
>>
>> Nat.
>>
>>
>>
>>
>>
>> On Tue, Dec 17, 2019 at 5:58 PM Robert Raszuk <robert@raszuk.net> wrote:
>>
>> Hi Nat,
>>
>>
>>
>> I am having a bit of difficulty understanding reasoning and the way you
>> are separating transport from service labels.
>>
>>
>>
>> The processing label limit usually comes from data plane capabilities of
>> the platform namely LFIB or hardware below.
>>
>>
>>
>> Such layer is function agnostic and it does not matter what role the
>> label serves.
>>
>>
>>
>> Label lookup results in pointer to a adj. rewrite on the outbound side.
>> It really does not matter if the adjacent peer is your P router, segment
>> endpoint or CE.
>>
>>
>>
>> Of course there are number of processing exceptions - for example concept
>> of aggregate VPN label, additional header modifications etc ...
>>
>>
>>
>> Likely some platforms put such artificial boundary between transport and
>> service hence your request. But if so IMHO this is more of an issue with
>> specific platform or its marketing message then IETF :).
>>
>>
>>
>> Many thx,
>> R.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On Tue, Dec 17, 2019 at 6:06 AM Nat Kao <lekao@pyxisworks.org> wrote:
>>
>> Hi, Jeff.
>>
>> Consider a headend that can perform 1 of the following 2 modes(but not
>> both):
>>
>> 1) Plain IPv4: 6 transport labels + 0 service label => traffic can be
>> steered into a 6-label SR-TE policy.
>>
>> 2) Any type of VPN: 3 transport labels + 1~3 service labels => traffic
>> cannot be steered into a 6-label SR-TE policy.
>>
>> a) As defined in RFC8491, the BMI-MSD is 6 for this headend. Do we have a
>> standardized way to signal the transport label depth in mode 2?
>>
>>    Maybe in a different MSD type?
>>
>> b) Since plain IPv4 and VPN routes can be steered into the same SR-TE
>> policy, do we have a standardized headend behavior in this situation?
>>
>>    (Should I open a new thread to discuss this? It seems not quite
>> MSD-relative.)
>>
>>
>>
>> Thanks...
>>
>> Nat
>>
>>
>>
>> On Tue, Dec 17, 2019 at 7:19 AM Jeff Tantsura <jefftant.ietf@gmail.com>
>> wrote:
>>
>> Gyan,
>>
>>
>>
>> MSD is only relevant for a device that either imposes the label stack
>> (head-end) or manipulates it (BSID anchor). There are some other constrains
>> when it comes to entropy labels and ERLD, please read the respective drafts.
>>
>> In general, SID stack would grow when TE is in use (any time you need to
>> use additional SID to deviate from SPT), another case is when additional
>> SID’s are used for services on the nodes, other than the tail-end.
>>
>> That’s why we've designed MSD to be very flexible to accommodate all the
>> different use cases, it is upto computational logic to decide how to deal
>> with different constrains (MSD types)
>>
>>
>>
>> Cheers,
>>
>> Jeff
>>
>>
>>
>> P.S. you might want to see the NANOG MSD presentation I did some time ago.
>>
>>
>> https://pc.nanog.org/static/published/meetings/NANOG71/1424/20171004_Tantsura_The_Critical_Role_v1.pdf
>>
>> On Dec 14, 2019, 11:59 PM -0800, Gyan Mishra <hayabusagsm@gmail.com>om>,
>> wrote:
>>
>> Jeff
>>
>>
>>
>> With SR-MPLS with SR-TR let’s say if you use cSPF snd don’t have an ERO
>> strict explicit path defined or is a loose path, then the for the cSPF
>> would the transport labels be 1.  For loose would also be 1 also.  If the
>> path were explicit defined to egress PE and was 7 hops from ingress to
>> egress then transport would be 6.  And if L3 vpn service sid was signaled
>> that would be 1 vpn label.
>>
>>
>>
>> Let me know if I have that right.
>>
>>
>>
>> In Nats scenario for IPv6 he has 3 vpnv6 labels.
>>
>>
>>
>> Why is that?
>>
>>
>>
>> With both SR-MPLS and SRv6 the L3 vpn AFI/SAFI MBGP services overlay
>> single label sits on top off SR as if does today with MPLS so why 3 vpn
>> labels.
>>
>>
>>
>> So with this draft with BGP-LS and BMI-MSD you can flood into the IGP the
>> SID depth so all the nodes along the SR-TE path don’t go over the maximum
>> which would result in an error.
>>
>>
>>
>> If you set your MTU high enough in the core like 9216, does that overcome
>> the SID depth issues with SR-TE?
>>
>>
>>
>> Warm regards,
>>
>>
>>
>> Gyan
>>
>>
>>
>> On Sat, Dec 14, 2019 at 2:43 AM Nat Kao <lekao@pyxisworks.org> wrote:
>>
>> Hi, Jeff.
>>
>>
>>
>> Thanks for the BMI-MSD reference. If I understand correctly:
>>
>>
>>
>> BMI-MSD = Transport Label Depth + Service Label Depth
>>
>> Only former can be utilized by SR-TE policies.
>>
>>
>>
>> Currently do we have any method to determine the composition of BMI?
>>
>> We need to know the transport label depth when doing service route
>> per-destination steering.
>>
>>
>>
>> This problem arises when trying to steer a plain IPv4 route and a VPN
>> service route into the same SR-TE policy that exceeds the transport label
>> depth of the service route. I'm trying to figure out the standard behavior
>> in this case since the headend we use currently produces some interesting
>> results.
>>
>>
>>
>> Regards,
>>
>> Nat.
>>
>>
>>
>> On Sat, Dec 14, 2019 at 2:42 AM Jeff Tantsura <jefftant.ietf@gmail.com
>> <jefftant..ietf@gmail.com>> wrote:
>>
>> Hi Nat,
>>
>>
>>
>> Please read https://tools.ietf.org/html/rfc8491#section-5
>>
>> Currently defined MSD types are:
>>
>> 1: BMI
>>
>> 2: ERLD
>>
>>
>>
>> Specifically to BMI:
>>
>> Base MPLS Imposition MSD (BMI-MSD) signals the total number of
>> MPLS labels that can be imposed, including all
>> service/transport/special labels.
>>
>> The answer to your question is 6
>>
>>
>>
>> Cheers,
>>
>> Jeff
>>
>> On Dec 13, 2019, 3:42 AM -0800, Nat Kao <lekao@pyxisworks.org>rg>, wrote:
>>
>> Hello, SPRING WG.
>>
>> How do we deal with an SR-TE policy headend with different MSDs for
>> different types of traffic?
>>
>> For example, a headend H can impose:
>> 6 transport labels for plain IPv4 packets;
>> 5 transport labels + 1 IPv6 ExpNull label for plain IPv6 packets;
>>
>> 3 transport labels + 3 VPN  labels for VPN packets.
>>
>>
>>
>> a) For a plain IPv4 route R4 and a VPN route Rv both steered into the
>> SR-TE policy P1 with SID list <S1, S2, S3, S4, S5>, what will H perform in
>> this situation?
>> b) What is the MSD of H? 6, 5 or 3?
>>
>>
>>
>> Thanks,
>>
>> Nat.
>>
>> _______________________________________________
>> 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
>>
>> --
>>
>> 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
>>
>>
>>
>> _______________________________________________
>> 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
>>
>>