Subject: Re: [mpls-tp] comments on draft-asm-mpls-tp-bfd-cc-cv

From: Apratim Mukherjee <[email-masked]>
Date: Fri, 25 Jun 2010 06:09:02 -0700

Hi

"3.5.6. Discriminator values
      My Discriminator field MUST be set to a nonzero value (it can be a   fixed value), the transmitted your discriminator value MUST reflect  back the received value of My discriminator field  or be set to 0 if   that value is not known. "

My concern is with the 'or be set to 0' when operating in 'independent mode'

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 ; looks like the real world use-case  from other mails and also mentioned fleetingly in current draft version). You can replace Node with MEP if that makes understanding easier.
                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.

If I understand correctly , for this to work , Node A and Node B MUST give different My Discriminators for each of the two BFD sessions on this LSP .  (i.e. each Node sends out two different sets of BFD packets , where the My and Your Discriminator values are different , one for the 'fast' session and one for the 'quiet' session , for which it sends BFD messages only during state changes )

The BFD packets Node A receives for the session in which it is 'active' ( during state changes only),i.e. these packets have MinRxInterval set to 0 and 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 .

To me , for this to work , right from first packet for each BFD session , it appears that the Your Discriminator field MUST be set and can't be 0 . Can an implementation assume this when attempting to interop in 'independent' mode ?

Please correct me if this logic has gone all wrong somewhere.

Also , if we were to assume that Your Discriminator Field is always set in incoming BFD packets , we dont appear to need the Label Stack any more for demultiplexing , only to direct  the packets to the correct end-point. This would make it very similar to normal MPLS BFD.
If we are concerned about misconfiguration  and BFD packets coming in from wrong source , the CV function would/should anyway take care of that in a proper manner.

Thanks,
Apratim

---

From: Apratim Mukherjee <[email-masked]>
Date: Fri, 25 Jun 2010 06:10:36 -0700

[Corrected subject]

From: Apratim Mukherjee
Sent: Friday, June 25, 2010 6:39 PM
To: [email-masked]; [email-masked]'; [email-masked]'; [email-masked]
Subject: RE: [mpls-tp] comments on draft-asm-mpls-tp-bfd-cc-cv

Hi

Thanks,
Apratim