Subject: Re: Label release for draft-martini

From: Eric Rosen <[email-masked]>
Date: Wed, 03 Apr 2002 16:51:30 -0500

Vach> leads to race conditions where a FEC is withdrawn and re-signaled with
Vach> the same label, and the label  release is received right after the FEC
Vach> is re-signaled. 

The purpose of  the Label Release is  to let you know that  the Withdraw was
received and  acted upon by the peer.   If you don't know  that the Withdraw
was received and acted  upon by the peer, you don't know  whether it is safe
to reuse the label for a different FEC (unless you time it out).

Bob Thomas tells me  that this race has been discussed on  the MPLS list and
there is some thought of using a transaction id to match up the Withdraw and
Release messages.

Vach> If  the intent of  the label  release was  to say,  "I got  your Label
Vach> Withdraw" then that's what TCP is for. 

TCP can't tell you whether the Withdraw operation actually took place at the
peer. 

Why does  the Martini draft specify that  the Release not be  sent after the
Withdraw?  Perhaps to  avoid this race, so that you can  reuse the label for
the same  FEC.  Then you  have to  make sure you  time the label  out before
reusing it for a different FEC.

---

From: "Yiou Deng" <[email-masked]>
Date: Mon, 4 Mar 2002 17:58:47 +0800

Hi Vach,
See my comments in line. 
Hope this helps.

regards
Yiou
----- Original Message ----- 
From: "Vach Kompella" <[email-masked]>
To: <[email-masked]>
Sent: Thursday, April 04, 2002 4:17 AM
Subject: [PWE3] Label release for draft-martini

> In RFC3036, Receive Label Withdraw procedure in Appendix A.1.5, it says:
> 
>  Summary:
> 
>   When an LSR receives a label withdraw message for a FEC from an
>   LDP peer, it responds with a label release message and it removes
>   the label from any forwarding/switching use.  If ordered control
>   is in use, the LSR sends a label withdraw message to each LDP peer
>   to which it had previously sent a label mapping for the FEC.  If
>   the LSR is using Downstream on Demand label advertisement with
>   independent control, it then acts as if it had just recognized the
>   FEC.
> 
> The sending of the label release is unconditional.  In my opinion, this is
> overloading a Label Release message, and leads to race conditions where a FEC is
> withdrawn and re-signaled with the same label, and the label release is received
> right after the FEC is re-signaled.  The receiving LSR has to figure out whether
> this is an "I just don't want labels for this FEC anymore" or "I'm responding to
> your Label Withdraw."  If the intent of the label release was to say, "I got
> your Label Withdraw" then that's what TCP is for.  Worst case, a Label Withdrawn
> message should have been used.  Am I missing something?
> 
> In draft-martini-l2circuit-trans-mpls-08.txt, sec. 5.2.2, it says:
> 
>       Note that receiving a Label Withdraw should not cause a
>       corresponding Label Release to be sent.
> 
> So what happens when an LSR gets a Label Withdraw, does it send a Label Release
> or not?
General procedure should be:
LSR-A                                                                       LSR-B
----------withdraw msg with "wrong c-bit"--------------->
<---------------------release msg-------------------------
-----------------new mapping msg----------------------->

But draft Martini shortened this procedure to:
LSR-A                                                                       LSR-B
----------withdraw msg with "wrong c-bit"--------------->
-----------------new mapping msg----------------------->

In this case, if LSR-B send a release, LSR-A will be confused.

So, when LSR receive a Label Withdraw with "wrong c-bit" status code, do nothing but waiting
for a mapping msg.
> 
> -Vach
> 
> 
> 
> _______________________________________________
> pwe3 mailing list
> [email-masked]
> https://www1.ietf.org/mailman/listinfo/pwe3