Subject: Label Stack query

From: Eric Ng <[email-masked]>
Date: Fri, 03 Dec 1999 00:54:35 -0800

Hi all,

I have a few fundamental questions on MPLS label stack.

From draft-ietf-mpls-arch-06.txt section 3.15,
# A "Label Switched Path (LSP) of level m" for a 
# particular packet P is a sequence of routers,
#                 <R1, ..., Rn>

 Q1 Does this "level m" mean "m Autonomous Systems" that 
    do not share each other internal routing information?
 
 Q2 The LSR uses the top label(i.e. level m) to make 
    forwarding decision.  What is the purpose of the 
    "level m-1, ... ,2,1" labels?  Is there any situation 
    where an LSR would look beyond the "level m" label?  
 
# At no time during P's transit from R1 to R[n-1] does 
# its label stack ever have a depth of less than m;
also,
# which ends (at an "LSP Egress") when a forwarding 
# decision is made by label Switching on a level m-k label, 
# where k>0, or when a forwarding decision is made by 
# "ordinary", non-MPLS forwarding procedures.
    
 Q3 Why does MPLS not allow a label stack depth < "m" as the
    labeled packet traverse along the LSP?
  
 Q4 Why the intermediate LSRs cannot pop labels that are
    meaningless to the subsequent downstream LSRs?  
    Consequently, making the label stack depth less than "m".  
     
 Q5 Does this mean only the (n-1)th LSR can pop labels
    without pushing the same number labels or no label 
    at all onto the stack? 

thanks in advance,
-- 
This email has been forwarded by Allayer's RoX Switch
roxroxroxroxroxroxroxroxroxroxroxroxroxroxroxroxroxroxroxr
o  Eric Ng                                               o	
x  Allayer Communications Corporation                    x
r  107 Bonaventura Drive, 	Tel : (408)570-0888 x103 r
o  San Jose, CA 95134		Fax : (408)570-0880      o
x  http://www.allayer.com                                x
roxroxroxroxroxroxroxroxroxroxroxroxroxroxroxroxroxroxroxr

---

From: Eric Gray <[email-masked]>
Date: Fri, 03 Dec 1999 11:15:54 -0500

Eric,

	Hi.  Hopefully we can avoid a 3-way discussion
among you, Eric Rosen and myself :-)  Please see below.

>     do not share each other internal routing information?

'm' refers to the depth of the label stack and the
definition is generalized to allow for as nearly an
arbitrary stack depth as is possible given a specific
technology.  The issue of how the stack gets that deep
is not addressed in the above discussion.

An analogy might be multiple level of IP-in-IP tunnels.

>     where an LSR would look beyond the "level m" label?

In addition to not being directly evaluated at an
LSR, labels that are below the top are unchanged
as well.  They have a purpose when they reach an
LSR where the top label is popped.

>     labeled packet traverse along the LSP?

By definition.  Pop-ing a label only occurs at the
egress of an LSP.

There are some not to strange situations in which
it is concevable that more than one label is changed
at a single LSR.  This may seem like a multiple level
label switch and swap - it may even be implemented as
such - but it is the logical equivalent of:

o look at top label
o pop top label
o look at next label
o swap label
o push new label

In this case, one LSP ended and another began - even
if it does not seem this way.

>     Consequently, making the label stack depth less than "m".

Same answer.  If the top level label is not useful in
forwarding packets in downstream LSRs, then it would
be popped - but in this case, the LSP for that label
has ended.

>     without pushing the same number labels or no label

Yes.  This is what is known as Penultimate Hop Pop.
This can only be done if the downstream neighbor is
capable of forwarding non-MPLS packets.