Re: [Detnet-dp-dt] Using MS-PW concept for the d-pw

Jouni Korhonen <jouni.korhonen@broadcom.com> Fri, 24 February 2017 08:04 UTC

Return-Path: <jouni.korhonen@broadcom.com>
X-Original-To: detnet-dp-dt@ietfa.amsl.com
Delivered-To: detnet-dp-dt@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5F20F12960F for <detnet-dp-dt@ietfa.amsl.com>; Fri, 24 Feb 2017 00:04:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 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_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=broadcom.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 bG8540i5_jDQ for <detnet-dp-dt@ietfa.amsl.com>; Fri, 24 Feb 2017 00:04:01 -0800 (PST)
Received: from mail-pg0-x235.google.com (mail-pg0-x235.google.com [IPv6:2607:f8b0:400e:c05::235]) (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 9ACF3129600 for <detnet-dp-dt@ietf.org>; Fri, 24 Feb 2017 00:04:01 -0800 (PST)
Received: by mail-pg0-x235.google.com with SMTP id s67so8518490pgb.3 for <detnet-dp-dt@ietf.org>; Fri, 24 Feb 2017 00:04:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=JETLW5DynsEb0uY5cMRh2ARfXTfBExUf0nPIaeGkriI=; b=JXF+BkPebqP/prpoJQ66YDJ+jx4CCvPSkoTN0Bke07KIIRWNOeMuBFvLRhf84KqlQP dqBfC8jqJDrTgSyNXEPjHvc1y+ERVbrNTwZOMW/i6viFcjYQ0aBNOCaFWlV7paXXahRh MVkHJcqu4I1VBGvrylqabllDCdWV7PA38P4qo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=JETLW5DynsEb0uY5cMRh2ARfXTfBExUf0nPIaeGkriI=; b=s/IpuBq6yg8LR00fyjuhj6wflUhW91FhLjTKyQ8fYQtpgvrKHigTIyjITFUml/Nw+i OMiUIGUScWs59NbwC6QqsOQvJWKdr16Tcl5b80DmfUT35ZjV3R+AQTptVzTQ0GoKW9bm SBu66drij9vYgf1+uFk2iPmifbNNO0kOYq0XIVeddPTqxhcWVcqxQPoq7fs3nTPpASuG ap1tI411s0vNgJ1VxzY9BURCccU9M2gg5I5to4sEm7idlf5dRFUr+UScebToZMzDftwq aGLjjqBQxrMdMMVO9oLTCjmP85GVagmSsk98NdHI2yDFXGpKic1WoWHThqNSRViq7TkF DUFw==
X-Gm-Message-State: AMke39mzmB6m0L/fdFCSRRTp9+84vpYgEKTh6Jav3pgyihTlEo0CU+cSxMqfH7wQxljAKsFs
X-Received: by 10.98.106.132 with SMTP id f126mr1908037pfc.1.1487923436025; Fri, 24 Feb 2017 00:03:56 -0800 (PST)
Received: from ?IPv6:2601:647:4200:e520:242b:989:2c78:4207? ([2601:647:4200:e520:242b:989:2c78:4207]) by smtp.gmail.com with ESMTPSA id l188sm13560098pfl.28.2017.02.24.00.03.54 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 24 Feb 2017 00:03:55 -0800 (PST)
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
From: Jouni Korhonen <jouni.korhonen@broadcom.com>
In-Reply-To: <3B0A1BED22CAD649A1B3E97BE5DDD68BBAB149ED@szxema506-mbs.china.huawei.com>
Date: Fri, 24 Feb 2017 00:03:53 -0800
Content-Transfer-Encoding: quoted-printable
Message-Id: <7F3B3F19-4929-485C-9434-86D6E7FDB915@broadcom.com>
References: <DBXPR07MB128EDEE38C28B6C894DE489AC500@DBXPR07MB128.eurprd07.prod.outlook.com> <7FF14334-F3A3-4051-BAFF-750C6F70FE1A@broadcom.com> <DBXPR07MB128C5BF67FE7AC3266D868BAC530@DBXPR07MB128.eurprd07.prod.outlook.com> <3B0A1BED22CAD649A1B3E97BE5DDD68BBAB149ED@szxema506-mbs.china.huawei.com>
To: Jiangyuanlong <jiangyuanlong@huawei.com>
X-Mailer: Apple Mail (2.2104)
Archived-At: <https://mailarchive.ietf.org/arch/msg/detnet-dp-dt/3suBGj2-97VGod6SwMJW8Ofr3Us>
Cc: =?utf-8?Q?Bal=C3=A1zs_Varga_A?= <balazs.a.varga@ericsson.com>, "detnet-dp-dt@ietf.org" <detnet-dp-dt@ietf.org>
Subject: Re: [Detnet-dp-dt] Using MS-PW concept for the d-pw
X-BeenThere: detnet-dp-dt@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: DetNet WG Data Plane Design Team <detnet-dp-dt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/detnet-dp-dt>, <mailto:detnet-dp-dt-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/detnet-dp-dt/>
List-Post: <mailto:detnet-dp-dt@ietf.org>
List-Help: <mailto:detnet-dp-dt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/detnet-dp-dt>, <mailto:detnet-dp-dt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Feb 2017 08:04:04 -0000

Hi Yuanlong,

In the latter "MS-PW in segment by segment” how is the elimination done i.e., how do you associate two different incoming PWs to the same elimination function? What is the lookup mechanism?

- JOuni




> On 23 Feb 2017, at 23:30, Jiangyuanlong <jiangyuanlong@huawei.com> wrote:
> 
> Hi Jouni and Balazs,
>  
> IMO, global e2e d-pw is still an MS-PW approach, except that the label value for each PW segment is the same (maybe globally allocated) in this case.
> We know that for the traditional PW, the underlying LSP will be terminated on the same pair of PEs (T-LDP can guarantee this), and all interim P nodes only forward packets based on the LSP label.
> But now both approaches will require to look into d-pw label so that the S-PE can decide how to eliminate & replicate & forward.
>  
> Compared with the LFIB for e2e d-pws as you described: (slide 4 from detnet-frer-loa.pptx)
> +========+================+=================================+
> |        |                |      Forwarding Semantics       |
> | Device | Incoming-Label |---------------------------------|
> |        |                | Outgoing-Label  | Outgoing-Link |
> +========+================+=================+===============+
> | A      | N/A (from AC)  | create d-pw     |               |
> |        |                | push L1         | A->B          |
> |        |                | push L3         | A->C          |
> +========+================+=================+===============+
> | B      | d-pw           | push L2         | B->D          |
> |        | (L1/L6 popped) | push L5         | B->C          |
> +========+================+================+===============+
> | C      | d-pw           | push L6         | C->B          |
> |        | (L3/L5 popped) | push L4         | C->D          |
> +========+================+=================+===============+
> | D      | d-pw           | N/A (to   AC)   | G->AC         |
> |        | (L2/L7 popped) |                 |               |
> +========+================+=================+===============+
>  
>  
> The LFIB for MS-PW in segment by segment would look like this (same slide 4)
> (Note: for each LSP Lx, a PW segment PWx is assumed to be established; Elimination takes two PWs in this case)
> +========+================+===============+===================================+
> |        |                | Elimination   |        Forwarding Semantics       |
> | Device | Incoming-Label |               +-----------------------------------|
> |        |                |  Incoming     | Outgoing-Label    | Outgoing-Link |
> +========+================+===============+===================+===============+
> | A      | N/A (from AC)  | N/A           | push PW1, push L1 | A->B          |
> |        |                |               | push PW3, push L3 | A->C          |
> +========+================+===============+===================+===============+
> | B      | PW1(L1 popped) | PW1           | swap PW2, push L2 | B->D          |
> |        | PW6(L6 popped) | PW6           | swap PW5, push L5 | B->C          |
> +========+================+===============+===================+===============+
> | C      | PW3(L3 popped) | PW3           | swap PW6, push L6 | C->B          |
> |        | PW5(L5 popped) | PW5           | swap PW4, push L4 | C->D          |
> +========+================+===============+===================+===============+
> | D      | PW2(L2 popped) | PW2           | N/A (to   AC)     | D->AC         |
> |        | PW4(L4 popped) | PW4           |                   |               |
> +========+================+===============+===================+===============+
> It seems 2nd and 3rd column may be combined. Thus, the LFIB will be almost the same as in the e2e case.
> Whatsoever, new forwarding semantics cannot be supported by the traditional MS-PW, and need to be developed in IETF.
>  
> Cheers,
> Yuanlong
>  
>  
> From: Detnet-dp-dt [mailto:detnet-dp-dt-bounces@ietf.org] On Behalf Of Balázs Varga A
> Sent: Thursday, February 23, 2017 10:47 PM
> To: Jouni Korhonen; detnet-dp-dt@ietf.org
> Subject: Re: [Detnet-dp-dt] Using MS-PW concept for the d-pw
>  
> Hi,
>  
> Thanks for the details, the “virtual label” is a good visualization of the problem.
> The “virtual label” is practically the local-ID of the detnet-(compound)-flow.
>  
> So, if I understand it correctly, You intend to use the d-pw as local-ID to have 
> less label operation cycle. However counting the number of label operations 
> I do not see the difference, please correct me if I have not counted correctly.
>  
> S-PE packet processing tasks:
> Solution-1, MS-PW case, no “l-label”
>   a, ingress packet has single label “d-pw1”
>   b, label operation: swap “d-pw1” -- > “virtual-label1” = local-ID
>   c, duplicate elimination using the local-ID
>   d, replication + swap “virtual-label1” -- > “d-pw2”
>   e, push outgoing labels (t-label)
>  
> Solution-2, Globally unique d-pw scenario
>   a, ingress packet has two labels “d-pw + l1”
>   b, label operation: pop “l1” -- > “d-pw” = local-ID
>   c, duplicate elimination using the local-ID
>   d, replication + push “l2”
>   e, push outgoing labels (t-label)
>  
> The differences are:
> - 1b vs. 2b: it a swap vs. pop operation (they lasting equally)
> - 1d vs. 2d: it a swap vs. push operation (they lasting equally)
>  
> So these differences does not cause label processing cycle differences.
> Have I missed something?
>  
> Cheers
> Bala’zs
>  
>  
> -----Original Message-----
> From: Jouni Korhonen [mailto:jouni.korhonen@broadcom.com] 
> Sent: Wednesday, February 22, 2017 8:21 PM
> To: Balázs Varga A <balazs.a.varga@ericsson.com>om>; detnet-dp-dt@ietf.org
> Subject: Re: [Detnet-dp-dt] Using MS-PW concept for the d-pw
>  
> Hi,
>  
> Thank you for this. It is very useful. Few comments inline.
>  
> > On Feb 22, 2017, at 8:08 AM, Balázs Varga A <balazs.a.varga@ericsson.com> wrote:
> > 
> > Hi,
> >  
> > d-pw collision can be solved if the MS-PW concept is used for the DetNet-PW.
>  
> Am I missing something here.. We have been talking about MS-PW with required DetNet modifications from the beginning. What has changed since apart excluding the L-labels (no need to pop those to expose d-pw in this proposal) and using s2s d-pw labels instead of e2e d-pw label value?
>  
> > d-pws between x-PE nodes have their own d-pw label. X-PE nodes do d-pw label swap.
> > Replicas of a detnet flow have to use different d-pw label.
> >  
> > I have attached a simplified figure:
> > - detnet-flow1: A -- > D (B is just a segment-stitching point, C does
> > elimination)
> > - detnet-flow2: F -- > G (E is just a segment-stitching point, B does
> > elimination)
> >  
> > There is no d-pw label collision at B as it allocates the d-pw label
> > for the segments of the DetNet-PW. So B can ensure that no collision occurs.
> >  
> > You can treat as a drawback that you need a state for each segment,
> > but that is the same as for “normal” MS-PW scenarios.
>  
> Except that you need more state than in a “normal” MS-PW scenario. Each x-PE has to have an additional many-to-one mapping of d-pw labels to be able to associate a single seqnum & duplicate elimination function to a set of incoming PWs. For this purpose I added a ‘virtual label’ column.
>  
> I hope I got the following drawings correct ;)
>  
> Sketching LFIB for S-DetNet-PE (for detnet-flow2):
>  
> +========+================+===============+=============================+===+
> |        |                |  Elimination  |     Forwarding Semantics       |
> | Device | Incoming-Label |---------------|--------------------------------|
> |        |                | Virtual-label | Outgoing-Label | Outgoing-Link |
> +========+================+===============+================+============+===+
> | F      | N/A (from AC)  | d-pw0 (2)     | swap d-pw4 (3) | F->E          |
> |        |                |               | swap d-pw3     | F->B          |
> +========+================+===============+================+============+===+
> | E      | d-pw4          | d-pw4 (1)     | swap d-pw7     | E->B          |
> +========+================+===============+================+============+===+
> | B      | d-pw4          | d-pw3 (1)     | swap d-pw8     | B->G          |
> |        | d-pw3          | d-pw3         |                |               |
> +========+================+===============+================+============+===+
> | G      | d-pw8          | d-pw8 (1)     | N/A (to   AC)  | G->AC         |
> +========+================+===============+================+============+===+
>  
> (1) For elimination purposes we need to associate all incoming d-pw labels
>     that belong to the same detnet flow to a single “virtual label”. Here the
>     “virtual label” to which the seqnum and elimination book keeping is
>     associated with is just one of the active d-pw labels, for example, the
>     first that gets configured in the device for a detnet flow (i.e., the master
>     label). The label could also be truly a virtual label value that is never
>     seen on wire..
> (2) The ‘virtual label’ the seqnum etc logic is associated with for a
>     given detnet flow.
> (3) Replication is more or less equivalent to existing 1+1 protection. One
>     replica of the packet is done and outgoing labels are swapped accordingly.
>  
> So, if we had a “global” e2e d-pw label for each detnet flow, the ‘elimination’
> label mapping column would not be needed -> smaller LFIB and and less processing step.
> Also, the ‘outgoing-label’ column would not be needed, however, there would not be any
> LFIB savings since the same amount of information would be needed for d-pw to L-Labels
> mapping. Basically the LFIB for e2e d-pws would look like this (slide 4 from detnet-frer-loa.pptx):
>  
> +========+================+=================================+
> |        |                |      Forwarding Semantics       |
> | Device | Incoming-Label |---------------------------------|
> |        |                | Outgoing-Label  | Outgoing-Link |
> +========+================+=================+===============+
> | A      | N/A (from AC)  | create d-pw     |               |
> |        |                | push L1         | A->B          |
> |        |                | push L3         | A->C          |
> +========+================+=================+===============+
> | B      | d-pw           | push L2         | B->D          |
> |        | (L1/L6 popped) | push L5         | B->C          |
> +========+================+================+===============+
> | C      | d-pw           | push L6         | C->B          |
> |        | (L3/L5 popped) | push L4         | C->D          |
> +========+================+=================+===============+
> | D      | d-pw           | N/A (to   AC)   | G->AC         |
> |        | (L2/L7 popped) |                 |               |
> +========+================+=================+===============+
>  
>  
> > As a side effect l-labels are not needed at all. Comments are welcome.
>  
> I could like this (one less label layer and somewhat cleaner), however, is there a deployment scenario or an overlay topology that we cannot get working without L-label-layer?
>  
> - JOuni
>  
>  
>  
> >  
> > Cheers
> > Bala’zs
> > <detnet-frer-balazs_v0222.pptx>_______________________________________
> > ________
> > Detnet-dp-dt mailing list
> > Detnet-dp-dt@ietf.org
> > https://www.ietf.org/mailman/listinfo/detnet-dp-dt