Subject: RE: Label Space

From: Shahram Davari <[email-masked]>
Date: Tue, 1 May 2001 14:02:44 -0700

Hi David,

> For instance, if the switch has a very large label space, but can only
> allocate a (relatively) small number of labels from the space, then it
> can allocate labels on the interfaces where they are used, and prevent
> the other interfaces from using the same label values 
> (without actually
> installing those labels on those interfaces.)  This way, 
> there won't be
> conflict if a label should happen to change interfaces.
> 
> But some hardware may be unable to lock-off a label value without
> actually consuming the resources associated with that label.  Meaning
> some other scheme might be necessary.

I think all affected interfaces must fully install the platform labels and their NHLFEs. The lock-off applies only to the label distribution by those interfaces not to the label forwarding. This is because when an interface receives a packet with per-platform label, it must do a lookup to determine how to forward that packet, even if this label was distributed by another interface. So you need to install the ILM and NHLFE for every per-platform label as well as every per-interface label on those interfaces. For the per-platform labels the software will copy the corresponding NHLFE to all interfaces.

Another method is to have a central ILM/NHLFE for the per-platform labels, and check the incoming label against that table fist, if there was no match then check it against per-interface label ILM/NHLFE. The advantage is you save memory, because the NHLFE is not duplicated to each interface, but the catch is that you need 2 lookups per label.

> I mention this only because some hardware designs may make this a good
> idea.  For instance, if several ports are all wired to the same
> forwarding chip, it might make sense for them to share a single label
> space, even if they can't share that space with ports 
> attached to other
> forwarding chips.
> 
> -- David
> 

This is possible, because as per RFC-3031, you can have multiple per-platform label spaces. 

Yours,
-Shahram