Subject: RE: question on draft-ietf-mpls-label-encaps-07.txt

From: manikantan <[email-masked]>
Date: Tue, 21 Mar 2000 09:40:53 +0530

Hello Zheng

#I dont know if someone has raised this question or not. 
#The label value 3 is reserved for Implicit NULL Label.
#The draft says:
#
#          iv. A value of 3 represents the "Implicit NULL Label".
#                This is a label that an LSR may assign and distribute,
#                but which never actually appears in the encapsulation.
#                When an LSR would otherwise replace the label at the
#                top of the stack with a new label, but the new label is
#                "Implicit NULL", the LSR will pop the stack instead of
#                doing the replacement.  Although this value may never
#                appear in the encapsulation, it needs to be specified
#                in the Label Distribution Protocol, so a value is
#                reserved.
#
#My question is which label is used to determine the next hop in this
#case, the imcoming label or the new top label after the popping of the
#stack?

My understanding is that the first label in the received stack is to 
be used for forwarding decisions.

I have a few examples below hope this will clarify your question.

             LSRC ----------- LSRA ---------- LSRB --- Router/Host.
                  --------          ------
                  L1|DATA| -->      |DATA|    -->
                  --------          ------
                            Fig 1

1) Let us assume LSRB ( Downstream Peer ) has assigned Implicit null
   for an FEC - F and indicated it to LSRA. When LSRA receives a 
   labeled packet from LSRC (the packet belongs to FEC - F, and 
   the label stack is of depth 1, i.e. only one label in the received 
   packet) and forwards it to LSRB, in this case after pooping the 
   label on the received packet, instead of pushing the implicit label,
   LSR A will not push any label, and the packet will be forwarded as
   an unlabeled packet. In this case the forwarding further at LSRB
   will be done as is done for a normal IP packet. 

         LSRC --------------- LSRA ---------------- LSRB ---------- LSRD.
              --------------          -----------
              L1|L2|L3|DATA| -->      L2|L3|DATA|    -->
              --------------          -----------
                            Fig 2

2) Let us assume LSRB ( Downstream Peer ) has assigned Implicit null
   for an FEC - F and indicated it to LSRA. When LSRA receives a 
   labeled packet from LSRC (the packet belongs to FEC - F, and 
   the label stack is of depth (> 1) - say n, i.e. more than one label in the 
   received packet) and forwards it to LSRB, in this case after pooping the 
   label on the received packet, instead of pushing the implicit label,
   LSR A will not push any label, and the packet will be forwarded with
   a label stack of depth n-1.  In this case the forwarding further at LSRB
   will be done based on the top most label in the received packet.
   an unlabeled packet.  As shown in Figure 2, the forwarding at B will
   be based on L2.

regards
mani
P.S The figures will look good if the font type is set to courier 10.
 
/*-------------------------------------------------------------------*/
S.Manikantan
Future Software Private Limited
480-481, Anna salai, Nandanam,
Chennai, Tamil Nadu, 600 035,
India.
Phone	: +91-44-4330550
Fax	: +91-44-4344157.
Email	: [email-masked]
http://www.futsoft.com
/*--------------------------------------------------------------------*/

---

From: Shahram Davari <[email-masked]>
Date: Tue, 21 Mar 2000 12:22:47 -0800

Hi,

The incoming label is used to determine the next hop. This is called
Penultimate Hop Popping (PHP).

-Shahram

>-----Original Message-----
>From: Zheng Wang [mailto:[email-masked]]
>Sent: Monday, March 20, 2000 3:50 PM
>To: [email-masked]
>Subject: question on draft-ietf-mpls-label-encaps-07.txt
>
>
>I dont know if someone has raised this question or not. 
>The label value 3 is reserved for Implicit NULL Label.
>The draft says:
>
>           iv. A value of 3 represents the "Implicit NULL Label".
>                 This is a label that an LSR may assign and distribute,
>                 but which never actually appears in the encapsulation.
>                 When an LSR would otherwise replace the label at the
>                 top of the stack with a new label, but the 
>new label is
>                 "Implicit NULL", the LSR will pop the stack instead of
>                 doing the replacement.  Although this value may never
>                 appear in the encapsulation, it needs to be specified
>                 in the Label Distribution Protocol, so a value is
>                 reserved.
>
>My question is which label is used to determine the next hop in this
>case, the imcoming label or the new top label after the popping of the
>stack?
>
>Thanks in advance
>Cheers
>Zheng
>