Subject: About the data space of the label stack.

From: "Sherry Wei" <[email-masked]>
Date: Tue, 15 May 2001 12:01:58

Hi all,

I am a student now writing my master thesis on MPLS node structure. I have a 
doubt about the label stack. Does each level of the label stack have the 
different label space, or does each have its own label look up table?

Also in the swapping of the label values, does every port have its own 
outgoing label look up table?

To YTR:
Only a small error. You mentioned that "At the egress IP module will 
reconstruct the IP packet when it gets from MPLS module."
In RFC3032, it is described that "Reassembly of the fragments will be done 
at the destination host."

Thanks,

Sherry

Von: [email-masked] [mailto:[email-masked]]
Gesendet am: Dienstag, 15. Mai 2001 10:55
An: [email-masked]
Cc: [email-masked]
Betreff: Re: Fragmentation and reassembly of MPLS packets

Hi Mohit,
    If my understanding is correct, its impossible to do fragmentation 
without
IP header.  one has to remove (preserve for later use) MPLS label stack and
check IP DF bit in IP header. If its set generate ICMP packets otherwise,
fragment IP packet keep the depth of the label stack in mind and reconstruct 
the
fragmented packets with MPLS label stack and forwards those based on the top
label. At the egress IP module will reconsruct the IP packet when it gets 
from
MPLS module.

If I am wrong pls correct me.

Thanks
YTR

On Tue, 15 May 2001, [email-masked] wrote:

>
>
>
>Hi all,
>
>Section 3 of RFC 3032 discusses the procedure for fragmenting the labeled 
>as
>well as unlabeled MPLS packet. In IP there are fields in the datagram 
>header
>(IDENTIFICATION, FLAGS, and FRAGMENT OFFSET) which control fragmentation 
>and
>reassembely of datagrams. But in MPLS header there are no such fields 
>defined.
>So how does reassembly of the fragmented MPLS packets happens at the
destination
>host.
>Thanks in advance
>Mohit

_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.

---

From: [email-masked]
Date: 15 May 2001 05:33:23 -0700

Hi sherry,
  Thanks for correction. What I mean the reconstruct is reassembly only :-). 
  Regading your label stack qn: 
    Label space should be same for all the label which are going to POP at same LSR.  Regarding tables, usally    these are per system (I mean not port wise). If label space is per platform then, there is no ambiguty in identifying labels in tabels. If label space is per port, then u need one more parameter to identify labels in tables, usally this parameter will be the label space. Remember there will be separate label space for each port. So when LSR receives MPLS Pkt it extracts label from TOP of the stack and it gets label space with help of port number which it received the pkt. With this LSR finds ILM entry. U can find NHLFE info from ILM.
If I am wrong pls let me know

Thanks
YTR 

> >So how does reassembly of the fragmented MPLS packets happens at the

______________________________________________________
123India.com - India's Premier Portal 
Get your Free Email Account at http://www.123india.com

---

From: "Sherry Wei" <[email-masked]>
Date: Tue, 15 May 2001 13:01:38

Hi YTR,

Thank you for your quick reply. What I mean is that the reconstruct or 
reassembly should be done in the IP destination host instead of egress node 
of MPLS networks.

About the ILM table, if it is per system based(each MPLS node has one ILM 
table), how to distinguish between two same label values which located in 
different level of the label stack? For example, one node looks up the up 
most label value and gets 5. Then it looks into the ILM table and knows that 
it should pop up this label entry and looks into the next label entry. It is 
possible that the next label entry also has the value 5. Maybe at this time, 
the operation should be label swapping. But from the according ILM table, 
the node will pop up this label entry again.

Thanks,

Sherry

>From: [email-masked]
>To: [email-masked]
>CC: [email-masked]
>Subject: Re: About the data space of the label stack.
>Date: 15 May 2001 05:33:23 -0700
>
>Hi sherry,
>     Label space should be same for all the label which are going to POP at 
>same LSR.  Regarding tables, usally    these are per system (I mean not 
>port wise). If label space is per platform then, there is no ambiguty in 
>identifying labels in tabels. If label space is per port, then u need one 
>more parameter to identify labels in tables, usally this parameter will be 
>the label space. Remember there will be separate label space for each port. 
>So when LSR receives MPLS Pkt it extracts label from TOP of the stack and 
>it gets label space with help of port number which it received the pkt. 
>With this LSR finds ILM entry. U can find NHLFE info from ILM.

---

From: [email-masked]
Date: Wed, 16 May 2001 12:50:19 +0530

hi all!
     I would like to state my understanding of the questions proposed by Sherry!

Q1 - Does each level of the label stack have the different label space, or does
each have its own label look up table?
Ans - IMHO, the labels at different levels need to be in different label spaces
if you need to re-use labels at diffrent levels. If not, then you can choose to
use the same label space for labels at  different level. Because each label in a
label space is linked to an operation to be performed on that labeled packet
hence whether the operation is pop or swap can only be determined if the labels
are unique over the label stack levels.

Q2 - Does every port have its own outgoing label look up table?
Ans - MPLS suports per-platform based Label Space or per-interface label space.
This is in tune generally also with the kind of L2 encapsulation you are using
as ATM harware (switches) generally use per-interface based VCI/VPI tables.

ciao
sumit

"Sherry Wei" <[email-masked]> on 05/15/2001 06:31:38 PM

To:   [email-masked]
cc:   [email-masked] (bcc: Sumit Chauhan/HSS)

Hi YTR,

Thanks,

Sherry

---

From: [email-masked]
Date: 15 May 2001 21:15:32 -0700

Hi sherry,
  You are right, its not egress, it is IP destination node. Thanks for correcting me.

Lemme ask one Qn: Can u explain more about in which scenario the two adjacent labels in a label stack will have the same label value when top label have POP operation in ILM?.

If my understanding is correct, whatever the labels needs lookup at LSR, its LSR responsibility to generate unique labels. If ILM entry contains POP operation for  a label which is the top of the label stack, the next label is supposed to genearte same LSR. Becoz, the next label is also required to lookup at same LSR. 
LSR is supposued to generate unique Labels and informs to its appropraite  peers  during control plane. 

Thanks
YTR

---

From: "Sherry Wei" <[email-masked]>
Date: Thu, 17 May 2001 08:04:38

Hi,

Thank you. I totally agree.

Sherry

>From: [email-masked]
>To: "Sherry Wei" <[email-masked]>
>CC: [email-masked], [email-masked]
>Date: Wed, 16 May 2001 12:50:19 +0530
>
>
>
>hi all!
> > > IP header.  one has to remove (preserve for later use) MPLS label 
>stack
> >and
> > > fragmented packets with MPLS label stack and forwards those based on 
>the
> >top