At 03:51 PM 11/15/2003, Kireeti Kompella wrote:
Hi Lou,
On Sat, 15 Nov 2003, Lou Berger wrote:
> As I mentioned in that mail, I agree that explicitly documenting > egress label control seems like the thing to do now. I suggest that this > be done in a standalone document as it has application outside of > overlay/UNI. The text below is overly specific.
First, let's make the text (procedures) more general. Then we can figure out where it goes. My preference is to keep it in this doc.
Kireeti. -------
See below for the my proposal on the clarification. I'll submit this as a draft once folks have a chance to comment. Assuming the draft goes forward, I think it should be on the Informational track.
Also, Having some text in the overlay document would be fine as well.
Lou -------------------------------------------------------------------------
GMPLS Signaling Procedure For Egress Control
Abstract
This note clarifies the procedures for the control of a label used on an egress output/downstream interface. Such control is also know and "Egress Control". Support for Egress Control is implicit in Generalized Multi-Protocol Label Switching (GMPLS) Signaling [RFC3471] and [RFC3473]. This note does not modify GMPLS signaling mechanisms and procedures and should be viewed as an informative clarification of [RFC3473].
1. Background
The ability to control a label used on an egress output/downstream interface was one of the early requirements for GMPLS. In the initial GMPLS drafts, this was called "Egress Control". As the GMPLS drafts progressed, the ability to control a label on an egress interface was generalized to support control of a label on any interface. This generalization is seen in Section 6 of [RFC3471] and Section 5.1 of [RFC3473]. In generalizing this functionality, the procedures to support control of a label at the egress were also generalized. While the resulting was intended to cover egress control, this intention is not clear to all. This note reiterates the procedures to cover control of a label used on an egress output/downstream interface.
For context, the following is the text from the GMPLS signaling draft dated June 2000:
6. Egress Control
The LSR at the head-end of an LSP can control the termination of the LSP by using the ERO. To terminate an LSP on a particular outgoing interface of the egress LSR, the head-end may specify the IP address of that interface as the last element in the ERO, provided that that interface has an associated IP address.
There are cases where the use of IP address doesn't provide enough information to uniquely identify the egress termination. One case is when the outgoing interface on the egress LSR is a component link of a link bundle. Another case is when it is desirable to "splice" two LSPs together, i.e., where the tail of the first LSP would be "spliced" into the head of the second LSP. This last case is more likely to be used in the non-PSC classes of links.
and
6.2. Procedures
The Egress Label subobject may appear only as the last subobject in the ERO/ER. Appearance of this subobject anywhere else in the ERO/ER is treated as a "Bad strict node" error.
During an LSP setup, when a node processing the ERO/RR performs Next Hop selection finds that the second subobject is an Egress Label Subobject, the node uses the information carried in this subobject to determine the handling of the data received over that LSP. Specifically, if the Link ID field of the subobject is non zero, then this field identifies a specific (outgoing) link of the node that should be used for sending all the data received over the LSP. If the Label field of the subobject is not Implicit NULL label, this field specifies the label that should be used as an outgoing label on the data received over the LSP.
Procedures by which an LSR at the head-end of an LSP obtains the information needed to construct the Egress Label subobject are outside the scope of this document.
2. Egress Control Procedures
This section is intended to compliment Section 5.1.1 and 5.2.1 of [RFC3473]. The procedures described in that section are not modified. This section clarifies procedures related to the label used on an egress output/downstream interface.
2.1. ERO Procedures
Egress Control occurs when the node processing an ERO is the egress and the ERO contains one or more label subobjects. In this case, the outgoing/downstream interface is indicated in the ERO as the last listed local interface. Note that an interface may be numbered or unnumbered, and bundled or unbundled.
To support Egress Control, an egress checks to see if the received ERO contains an outgoing/downstream interface. If it does, the type of the subobject or subobjects following the interface are examined. If the associated LSP is unicast, one subobject is examined. Two subobjects are examined for bidirectional LSPs. If the U-bit of the subobject being examined is clear (0), then the value of the label is copied into a new Label_Set object. This Label_Set object indicates the label value that MUST be used for transmitting traffic associated with the LSP on the indicated outgoing/downstream interface.
If the U-bit of the subobject being examined is set (1), then the value of the label is used for upstream traffic associated with the bidirectional LSP. Specifically, the label value will be used for the traffic associated with the LSP that will be received on the indicated outgoing/downstream interface.
Per [RFC3473], any errors encountered while processing the ERO, including if the listed label(s) are not acceptable or cannot be supported in forwarding, SHOULD result in the generation of a message containing a "Bad EXPLICIT_ROUTE object" error.
2.2. RRO Procedures
In the case where an ERO is used to specify outgoing interface information at the egress, the egress should include the specified interface information and label or labels, if present, in the corresponding RRO.