Subject: EXP<=>PHBID maps in DIFFSERV Object

From: Vishal M <[email-masked]>
Date: Mon, 5 Nov 2001 20:04:16 -0800 (PST)

Hello,

The DIFFSERV Object defined in "MPLS Support for
DiffServ, version 09.txt", Section 5.2 defines MAP
sub-fields that carries EXP <==> PHBID mappings for a
given LSP.

Are these mappings specified anywhere ? What EXP value
would map to what PHBID ?

Is it network administrator's responsibility for
guarantee the uniqueness/consistancy of such mappings
? 

Consider the following:

      ----LSR1 ----> LSR 2 <----- LSR3-----

LSR1 advertises EXP 4 ==> PHB AF12 map to LSR2
LSR3 advertises EXP 4 ==> PHB CS2 map to LSR2

How would LSR 2 handle these ? 

Only way one could guarantee this is if the LSP is
within a particular domain, in which case consistency
can be guaranteed (by a single network admin). 

But if LSP is crossing domain boundaries, it could be
an issue. Not sure if network operators are really
into these inter-domain LSPs at this point...

Could someone please comment on this.

Thanks,
Vishal.

__________________________________________________
Do You Yahoo!?
Find a job, post your resume.
http://careers.yahoo.com

---

From: "Roberto Mameli (ERI)" <[email-masked]>
Date: Fri, 9 Nov 2001 14:41:20 +0100

Hi Sami,

please see my comments below.

> 
> You are correct with the statement that this
> poses a scalability issue. And forwarding
> asics have to do the translation when pushing/poping
> a label.

I am not really able to figure out why scalability is an issue in the case of dynamic EXP<->PHB mapping. It is certainly true that you have to store information about mapping for each LSP, but I think that the amount of memory used is absolutely negligible given the cost of RAM today.
As an example consider a LSR that is supporting, let's say, 10000 E-LSP at a given moment in time. This means that your ILM is composed of 10000 entries. Moreover assume that each PHB is represented by 16 bits (i.e. by its PHBID). This means that the total memory needed to store all the possible EXP<->PHB mappings for the whole set of supported E-LSP is 10000*8*16 bit = 10000*16 bytes = 160000/1024 Kbytes = 156 Kbytes that is not a huge memory requirement today.
You say that the forwarding ASIC has to do translation when pushing/popping labels. What do you exactly mean by that? When accessing the proper entry of the ILM to push/swap/pop a label, the LSR looks up the DiffServ context associated to it and, based on its content, forward the packet to the proper queue. This is exactly the same operation, both in the case of preconfigured and signaled mapping. The only difference is how the DiffServ context is populated (see par. 3.3 <draft-ietf-mpls-diff-ext-09.txt>). So no additional time is required, and again I don't see scalability issues here.

Regards
Roberto

---

From: "Iren, Sami" <[email-masked]>
Date: Fri, 9 Nov 2001 09:30:11 -0500

Hi Roberto,
I believe you don't have to use 16-bit PHBIDs in these
tables, only 6-bit DSCPs. (16-bit PHBIDs are used in
signalling and they have to be converted into 6-bit
DSCP values internally). This comes to 6 bytes per LSP
for storing EXP<=>PHB values.
I guess this might not be as big of a problem as I initially
thought. However, we need to consider that this table
will be stored in several asics not only in ingress side
asic (depending on where you do push/pop).

Regarding the translations when doing push/pop I was
referring to the case where you have a stack of
E-LSP labels. In this case, you have to translate
EXP values of one label into another when pushing/poping
depending on whether pipe/short-pipe/uniform mode is used.
This is true whether you use signalled mappings or default
fixed mappings. Only exception is if you are not supporting
signalled mappings and only supporting one default mapping
as suggested by the draft.

Regards,
--Sami

> -----Original Message-----
> From: Roberto Mameli (ERI) [mailto:[email-masked]]
> Sent: Friday, November 09, 2001 8:41 AM
> To: 'Iren, Sami'; 'Vishal M'; [email-masked]
> Subject: RE: EXP<=>PHBID maps in DIFFSERV Object 
> 
> 
> Hi Sami,
> 
> I am not really able to figure out why scalability is an 
> issue in the case of dynamic EXP<->PHB mapping. It is 
> certainly true that you have to store information about 
> mapping for each LSP, but I think that the amount of memory 
> used is absolutely negligible given the cost of RAM today.
> As an example consider a LSR that is supporting, let's say, 
> 10000 E-LSP at a given moment in time. This means that your 
> ILM is composed of 10000 entries. Moreover assume that each 
> PHB is represented by 16 bits (i.e. by its PHBID). This means 
> that the total memory needed to store all the possible 
> EXP<->PHB mappings for the whole set of supported E-LSP is 
> 10000*8*16 bit = 10000*16 bytes = 160000/1024 Kbytes = 156 
> Kbytes that is not a huge memory requirement today.
> You say that the forwarding ASIC has to do translation when 
> pushing/popping labels. What do you exactly mean by that? 
> When accessing the proper entry of the ILM to push/swap/pop a 
> label, the LSR looks up the DiffServ context associated to it 
> and, based on its content, forward the packet to the proper 
> queue. This is exactly the same operation, both in the case 
> of preconfigured and signaled mapping. The only difference is 
> how the DiffServ context is populated (see par. 3.3 
> <draft-ietf-mpls-diff-ext-09.txt>). So no additional time is 
> required, and again I don't see scalability issues here.
> 
> Regards
> Roberto
>