Re: [mpls-tp] Demultiplexing to BFD sessions

Apratim Mukherjee <AMukherjee@ixiacom.com> Wed, 30 June 2010 04:20 UTC

Return-Path: <AMukherjee@ixiacom.com>
X-Original-To: mpls-tp@core3.amsl.com
Delivered-To: mpls-tp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 82B5628C0E5; Tue, 29 Jun 2010 21:20:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.19
X-Spam-Level: *
X-Spam-Status: No, score=1.19 tagged_above=-999 required=5 tests=[AWL=1.881, BAYES_00=-2.599, RCVD_ILLEGAL_IP=1.908]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ci4cBHYQRCDS; Tue, 29 Jun 2010 21:20:17 -0700 (PDT)
Received: from ixqw-mail-out.ixiacom.com (ixqw-mail-out.ixiacom.com [66.77.12.12]) by core3.amsl.com (Postfix) with ESMTP id 96DD83A6774; Tue, 29 Jun 2010 21:20:16 -0700 (PDT)
Received: from ixcaexch07.ixiacom.com ([fe80:0000:0000:0000:e021:fcf5:238.143.231.20]) by IXCA-HC1.ixiacom.com ([10.200.2.50]) with mapi; Tue, 29 Jun 2010 21:20:27 -0700
From: Apratim Mukherjee <AMukherjee@ixiacom.com>
To: Greg Mirsky <gregimirsky@gmail.com>, David Allan I <david.i.allan@ericsson.com>
Date: Tue, 29 Jun 2010 21:20:23 -0700
Thread-Topic: [mpls-tp] Demultiplexing to BFD sessions
Thread-Index: AcsX81vTQoQ0tgTNSMOXxSyUwEOoWwAEuWTwAAE+LOA=
Message-ID: <716209EC190CA740BA799AC4ACCBFB5D180C4B7A79@IXCAEXCH07.ixiacom.com>
References: <AANLkTikZurkVBrPNBjL-v7zdZ9dTLUBDuBnNDPsCrnJf@mail.gmail.com> <OF7E03B6CE.B5C7073D-ON48257750.000D15FC-48257750.000D4123@zte.com.cn> <716209EC190CA740BA799AC4ACCBFB5D180C3C7126@IXCAEXCH07.ixiacom.com> <AANLkTikdY-qChtT8-po0L6eCjW6qWQ2LzqMhG1eysmvP@mail.gmail.com> <2C2F1EBA8050E74EA81502D5740B4BD6940E808F75@SJEXCHCCR02.corp.ad.broadcom.com> <60C093A41B5E45409A19D42CF7786DFD518156D6E3@EUSAACMS0703.eamcs.ericsson.se> <AANLkTinSalhepoG_AuvNLbVWHTgkF01etfLzRXWxpr5c@mail.gmail.com> <60C093A41B5E45409A19D42CF7786DFD518156D754@EUSAACMS0703.eamcs.ericsson.se> <AANLkTinzsvrfAbBrkLObJmXd4fNvk8CyOKokNE16UGpT@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Cc: Mukund Mani <mukund.mani@gmail.com>, "mpls-tp-bounces@ietf.org" <mpls-tp-bounces@ietf.org>, "mpls-tp@ietf.org" <mpls-tp@ietf.org>
Subject: Re: [mpls-tp] Demultiplexing to BFD sessions
X-BeenThere: mpls-tp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: MPLS-TP Mailing list <mpls-tp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/mpls-tp>, <mailto:mpls-tp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mpls-tp>
List-Post: <mailto:mpls-tp@ietf.org>
List-Help: <mailto:mpls-tp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls-tp>, <mailto:mpls-tp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 30 Jun 2010 04:20:22 -0000

Hi

Leaving aside PHP , Implicit NULL and Explicit NULL which as per   Section 2.3 of RFC5654  Requirements of an MPLS Transport Profile
“38  A transport path on a link MUST be uniquely identifiable by a single label on that link.”  appears to disallow BOTH PHP and Explicit NULL assignment by egress in MPLS-TP context . Hope this understanding is correct.  
Probably , the reference by John in his mail  from (http://datatracker.ietf.org/doc/draft-ietf-mpls-tp-data-plane) "PHP Penultimate Hop Popping (PHP) MUST be disabled by default." is misleading sinceit does not talk about Explicit NULL issue and does not seem to be aligned with the Requirements RFC which should take precedence. Maybe needs to be updated ? 

However , below arguments that always we can derive BFD session from label stack does not appear correct in one particular case (ruling out Explicit NULL and Implicit NULL assignment by egress for MPLS-TP)  :

draft-ietf-mpls-tp-cc-cv-rdi-00 : 'independent' mode BFD: ( This is from a previous mail to which I did not get any replies ) 
Situation : BFD is providing independent service over the Tx and Rx links of an active bidirectional MPLS-TP LSP  (say because this lsp is part of a 1+1 protection group supporting uni-directional protection switching )
               Node A                       Node B 
               OutLabel = L11                 InLabel  = L11
               InLabel  = L12                 OutLabel = L12
This bidirectional LSP is configured to run two *independent* BFD sessions , one BFD session helping Node B to detect that its Rx connection via InLabel L11 is good , and the other helping Node A to detect that its Rx connection via InLabel L12 is good.
Node A receives two sets of BFD control packets : 
1) For the session in which it is 'active' ( rarely, during state changes only),i.e. these packets have MinRxInterval set to 0
2) The BFD packets Node A receives for the session in which it is 'passive', every 3.33/10ms will be identical if BFD packet for both sessions contain 0 in 'Your Discriminator' field .

Hence , if the two sessions were to be independent , the Discriminators need to be present and right from the first packet (i.e. cannot be 0 in initial packet ) . Or separate mechanism must be identified. Deriving the BFD session from the label stack alone appears to be not possible in this case.  It is from same source to same destination using same label stack.

Possible solutions if above problem is real and the analysis is correct :
1) Mandatory use of pre-exchange of Discriminators via LSP Ping or manual configuration before running BFD in ‘independent mode’.i.e no BFD packet contains 0 Your Discriminator when running in ‘independent mode’ ( Discriminator becomes must) 
OR
2) If ‘Your Discriminator’ is 0 , use Label Stack + Min Rx Interval ( 0 / non-zero ) to derive packet is for which session.-> does not look good at all  but does completely remove Discriminator from being part of session demultiplexer .
3) Implement ‘independent’ BFD sessions in  some other manner.

Please share your comments.


Regards,
Apratim

=============================================================================================================
From: Greg Mirsky [mailto:gregimirsky@gmail.com] 
Sent: Wednesday, June 30, 2010 6:57 AM
To: David Allan I
Cc: Shahram Davari; Mukund Mani; Apratim Mukherjee; xiao.min2@zte.com.cn; mpls-tp@ietf.org; mpls-tp-bounces@ietf.org
Subject: Re: [mpls-tp] Demultiplexing to BFD sessions

Dear David,
received in Your Discriminator value is unique for the receiver and not necessarily for the sender of the BFD control packet. Transmitting in every CV/CC/RDI packet discriminator along with Unique MEP ID, in my view, is redundant.

Regards,
Greg
2010/6/29 David Allan I <david.i.allan@ericsson.com>
My understanding (and the text in 6.3 of RFC 5880 agrees with me) that the discriminator value is per platform unique, and not necessarily confined to a having uniqueness to a particular node pair.
 
So local state can be indexed directly via the discriminator for any BFD packet received by a node. 
 
cheers
D

________________________________________
From: Greg Mirsky [mailto:gregimirsky@gmail.com] 
Sent: Tuesday, June 29, 2010 2:18 PM
To: David Allan I
Cc: Shahram Davari; Mukund Mani; Apratim Mukherjee; xiao.min2@zte.com.cn; mpls-tp@ietf.org; mpls-tp-bounces@ietf.org

Subject: Re: [mpls-tp] Demultiplexing to BFD sessions

Dear David,
I tend to agree with Shahram that for MPLS-TP discriminator check even for bi-directional p2p path is optional. And for uni-directional, recalling BFD for multi-point network, demultiplexing mechanism was modified when compared with BFD base. Said that I realize that to be interoperable an implementation will have to support the discriminator check perhaps as default behavior. Well, unless we agree that the discriminator has no role in demultiplexing OAM/BFD sessions between same pair of nodes at all. Which will make discriminator field unnecessary as well as mechanisms of exchanging them (LSP Ping bootstrap of BFD session). That will, in my view, simplify the OAM solution based on BFD.

another .02 in the bank

Regards,
Greg
2010/6/29 David Allan I <david.i.allan@ericsson.com>
But if the goal is to leverage a common implementation the discriminator needs to be present. There should be a further check that the label of arrival is correct for a given discriminator.
 
Hence one primary state indexing mechanism, and further more authoritative tests of correctness chain from that..
 
my 2 cents
D

________________________________________
From: mpls-tp-bounces@ietf.org [mailto:mpls-tp-bounces@ietf.org] On Behalf Of Shahram Davari
Sent: Tuesday, June 29, 2010 1:31 PM
To: Mukund Mani; Apratim Mukherjee; xiao.min2@zte.com.cn 

Cc: mpls-tp-bounces@ietf.org; mpls-tp@ietf.org
Subject: Re: [mpls-tp] Demultiplexing to BFD sessions

Hi,
 
Discriminator should not be required for MPLS-TP since Explicit Null and PHP are not allowed in MPLS-TP.  For MPLS-TP the Label should be enough to provide the demultiplexing context.
 
Regards,
Shahram
 
From: mpls-tp-bounces@ietf.org [mailto:mpls-tp-bounces@ietf.org] On Behalf Of Mukund Mani
Sent: Monday, June 28, 2010 10:39 AM
To: Apratim Mukherjee; xiao.min2@zte.com.cn
Cc: mpls-tp@ietf.org; mpls-tp-bounces@ietf.org
Subject: Re: [mpls-tp] Demultiplexing to BFD sessions
 
Hi Xiao/Apratim
 
I think discriminators are needed in some of the cases (eg explicit NULL) as mentioned below. This is what I was trying to state
in my initial mails. 
Should it also seen on the lines that LSP Ping itself, if used, for bootstrap can help in performing a sort of a mis-connectivity check (In CV mode this is done via the MEP id included in the BFD control packet. In CC mode the MEP id is not included)
Though I feel that CC and CV mode should be collapsed to one (CV) but thats another discussion (or probably already discussed)
 
With Regards
Mukund
2010/6/28 Apratim Mukherjee <AMukherjee@ixiacom.com>
Hi Xiao/Mukund , 
 
I think for normal bi-directional ‘fate-sharing’ BFD bidirectional session with no PHP and no explicit NULL assignment at the egress , the bootstrap mechanism is not really needed since the Label Stack does provide the context at the receiving end for identifying the local BFD session. 
( same as how IP header gives the context for IPv4 BFD with Your Discriminator ‘0’ ) 
 
RFC5885 works fine without knowing  peer Discriminator value from before since this is a PW connection , which means that egress assigns a label which is NOT Implicit NULL or Explicit NULL.
 
However , this does not appear to work if egress has assigned Implicit NULL or Explicit NULL . ( Not clear if both are disallowed , appears to me at least first one is not supported in MPLS-TP but nowhere Explicit NULL is explicitly ruled out  ) . For MPLS-TP , the mechanisms being designed should work for normal LSPs as well ( not only for PWs that is ) .
 
The other case where above does not appear to work is for ‘independent’ BFD sessions . ( I had sent a mail regarding that , but no replies yet ) in which two ‘non fate-sharing’ BFD sessions are required to protect each direction of a bi-directional connection separately. There also it does not look like we can derive local  BFD session correctly from a packet received with ‘Your Discriminator’ set to 0 .
 
Regards,
Apratim
From: mpls-tp-bounces@ietf.org [mailto:mpls-tp-bounces@ietf.org] On Behalf Of xiao.min2@zte.com.cn
Sent: Monday, June 28, 2010 7:57 AM
To: Mukund Mani
Cc: mpls-tp-bounces@ietf.org; mpls-tp@ietf.org
Subject: Re: [mpls-tp] Demultiplexing to BFD sessions
 

Hi Mukund, 

To my understanding, discriminator exchange is applicable in some scenario, but not necessary in other scenario, for BFD session bootstrap. 

In RFC5884 section 3.2, it's indicated that LSP Ping is used to exchange discriminator and bootstrap the BFD session; But in RFC5885 section 3.1, it's also indicated that the VCCV control channel provides the context required to bootstrap the BFD session and no discriminator exchange needed. 

In the MPLS-TP context, IMO it's similar to the scenario in RFC5885 and no discriminator exchange is needed to bootstrap BFD session. 

Best Regards, 
Xiao Min 
Mukund Mani <mukund.mani@gmail.com> 
发件人:  mpls-tp-bounces@ietf.org 
2010-06-11 14:24 
收件人
mpls-tp@ietf.org 
抄送

主题
[mpls-tp] Demultiplexing to BFD sessions
 






Hi TP-Group 
  
draft-ietf-mpls-tp-lsp-ping-bfd-procedures-00 states in Section 3 
  
"When using BFD over MPLS-TP LSPs, the BFD discriminator MUST either be signaled via LSP-Ping or be statically configured." 
  
draft-ietf-mpls-tp-bfd-cc-cv-00 states in Section 3.5.6 
  
"MPLS labels at peer MEPs are used to provide context for the received BFD packets." 
  
As I understand from the statement in the CC/CV draft, since discriminator values are not required for demultiplexing to the BFD session anymore, we will not need LSP Ping to bootstrap BFD session for TP LSP. 
  
But draft-ietf-mpls-tp-lsp-ping-bfd-procedures-00 specifies that LSP Ping can also be used to signal BFD discriminator. 
  
So is LSP Ping still really needed in the context of BFD over MPLS-TP? 
  
Also as a part of MPLS-TP OAM could somebody explain why such a deviation is taken from the BFD-BASE mode of demultiplexing which even BFD-MPLS uses (discriminator values instead of MPLS labels), but MPLS-TP goes in for demultiplexing using labels.... 
  
Could somebody please clarify this..? 
  
  
With Regards 
Mukund 
 _______________________________________________
mpls-tp mailing list
mpls-tp@ietf.org
https://www.ietf.org/mailman/listinfo/mpls-tp
 

_______________________________________________
mpls-tp mailing list
mpls-tp@ietf.org
https://www.ietf.org/mailman/listinfo/mpls-tp