Internet DRAFT - draft-akyol-mpls-exp-ero
draft-akyol-mpls-exp-ero
B. A. Akyol
Internet Draft Pluris
Vach Kompella
Vishal Sharma
Jasmine Networks
Document: draft-akyol-mpls-exp-ero-00.txt February 2001
Expires: August 2001
Expanded Explicit Route Object for RSVP-TE
Status of this Memo
This document is an Internet-Draft and is in full conformance
with all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
This document expands the Explicit Route Object (ERO) defined in
[RSVP-TE]. The primary reason for the expansion of the ERO is to
simplify the processing of abstract nodes and loose routes as well
as to specify globally unique interface identifiers in case of
unnumbered interfaces.
Akyol draft-akyol-mpls-exp-ero-00.txt 1
Expanded Explicit Route Object for RSVP-TE February 2001
Table of Contents
1. Introduction and Motivation.....................................3
2. Definition of the Expanded Explicit Route Object................3
2.1 Expanded Explicit Route Object.................................4
2.1.1 IPV4_EERO_HOP................................................5
2.1.2 IPV6_EERO_HOP................................................6
2.1.3 IPV4_Abstract Node Hop (IPV4_AN_HOP).........................8
2.1.4 IPV6 Abstract Node HOP (IPV6_AN_HOP).........................9
2.1.5 IPV4 Loose Route Hop (IPV4_LR_HOP)..........................10
2.1.6 IPV6 Loose Route Hop (IPV6_LR_HOP)..........................11
3. Processing of the Expanded Explicit Route Object...............13
3.1 Explicitly routed LSP with no abstract nodes and no loose
routes............................................................13
3.2 Explicitly routed LSP with abstract nodes and no loose routes.13
3.3 Explicitly routed LSP with loose routes and no abstract nodes.14
3.4 Explicitly routed LSP with loose routes and abstract nodes....14
4. Interoperability...............................................14
5. Conclusion.....................................................14
6. Security Considerations........................................15
7. References.....................................................16
8. Author's Addresses.............................................16
Akyol draft-akyol-mpls-exp-ero-00.txt 2
Expanded Explicit Route Object for RSVP-TE February 2001
Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in [RFC-2119].
1. Introduction and Motivation
This document expands on the explicit route object (ERO) used for
establishing explicitly routed paths in an MPLS network as defined
in [RSVP-TE]. This is necessary because of the following reasons:
a. Uniqueness of interface identifiers for unnumbered interfaces.
Interface identifiers as defined in [RSVP-UN] do not assure the
uniqueness of interface identifiers in a network. Non-uniqueness
of interface identifiers may cause some implementations of ERO
processing to behave inconsistently. Specifically, ERO
definition for unnumbered interfaces is context sensitive and
dependent on the order of appearance in the ERO. For example, if
the same interface identifier is repeated twice in the ERO
consecutively, the desired behavior is unclear.
b. Simplification of abstract node and loose-route processing. The
proposed redefinitions described later in this text define
separate abstract node and loose route objects. We believe that
this will simplify the identification of an abstract or loose
route while parsing the ERO.
c. Different styles of specifying the ERO in different
implementations. [RSVP-TE] gives the head-end LSR considerable
leeway in specifying the ERO. For example, an LSR that is on the
path can be specified by a router ID, an ingress (w.r.t. to the
LSP) interface ID (usually an IP address), an egress interface ID
or any combination of the above. This "flexibility" may cause LSP
establishment and interoperability failures.
2. Definition of the Expanded Explicit Route Object
This draft aims to make the ERO [RSVP-TE] more explicit. We define
the following components of an Expanded Explicit Route Object
(EERO):
a. Each hop in the EERO will be specified by the following fields:
Router ID as advertised by the interior gateway protocols (IGPs)
with traffic engineering (TE) extensions; ingress interface
identifier and unnumbered flag; egress interface identifier and
unnumbered flag. For purposes of illustration, let us assign the
markup identifier of <EERO-HOP> to this component.
b. An abstract node hop EERO component that defines one hop of an
abstract node. This component is denoted by <AN-HOP> in the
examples that follow.
Akyol draft-akyol-mpls-exp-ero-00.txt 3
Expanded Explicit Route Object for RSVP-TE February 2001
c. A loose route hop EERO component that defines a loose hop in a
loosely routed EERO segment. This component is denoted by <LOOSE-
HOP> in the examples that follow.
2.1 Expanded Explicit Route Object
Expanded explicit routes are specified by the EXPANDED
EXPLICIT_ROUTE object (EERO). An EERO uses the explicit route class
20 as defined in [RSVP-TE] and uses C_Type: Type 2, Expanded
Explicit Route. The EERO has the following format:
Class = 20, C_Type = 2
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// (Subobjects) //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Subobjects
The contents of an EXPANDED EXPLICIT_ROUTE object are a series
of variable length data items called subobjects. The subobjects are
defined in Sections 2.1.1 through 2.1.6.
If a Path message contains multiple EEROs, the first one takes
precedence and the rest MUST NOT be propagated.
The EERO contains subobjects that are of variable length and have
the form:
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------//----------------+
| Type | Length | (Subobject contents) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------//----------------+
Type
The Type indicates the type of contents of the subobject. The
following values are currently defined:
0 Reserved
1 IPV4_EERO_HOP
2 IPV6_EERO_HOP
3 IPV4_Abstract Node Hop (IPV4_AN_HOP)
4 IPV6 Abstract Node Hop (IPV4_AN_HOP)
5 IPV4 Loose Route Hop (IPV4_LR_HOP)
6 IPV6 Loose Route Hop (IPV6_LR_HOP)
Length
Akyol draft-akyol-mpls-exp-ero-00.txt 4
Expanded Explicit Route Object for RSVP-TE February 2001
The Length contains the total length of the subobject in bytes
including the Type and Length fields. The Length MUST be at least 4
bytes and MUST be a multiple of 4.
2.1.1 IPV4_EERO_HOP
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |I|E| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID (4 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Egress Interface Identifier (4 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress Interface Identifier (4 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
0x01 IPV4_EERO_HOP
Length
The Length indicates the total length of the sub-
object. The length for this subobject is always 16
bytes.
I
Ingress Interface Identifier Unnumbered Flag. If this
bit is set to 1, then the ingress interface is an
unnumbered interface and the ingress interface
identifier is a 32 bit identifier that is only locally
significant to the router identified by Router ID. If
this bit is not set, then the ingress identifier is an
IPV4 address.
E
Egress Interface Identifier Unnumbered Flag. If this
bit is set to 1, then the egress interface is an
unnumbered interface and the egress interface
identifier is a 32 bit identifier that is only locally
significant to the router identified by Router ID. If
this bit is not set, then the ingress identifier is an
IPV4 address.
Reserved
Unused. MUST be zero. Ignored upon receipt.
Akyol draft-akyol-mpls-exp-ero-00.txt 5
Expanded Explicit Route Object for RSVP-TE February 2001
Router ID
The Router ID is an IPV4 address that MUST be the
router ID IP address of the router that advertised the
interfaces specified in this subobject as described in
[ISIS-TE,OSPF-TE].
Ingress Interface Identifier
The Ingress Interface Identifier is either an IPV4
address or a 32 bit interface index that is unique
within the scope of the Router ID given in the
subobject.
Egress Interface Identifier
The Egress Interface identifier is either an IPV4
address or a 32 bit interface index that is unique
within the scope of the Router ID given in the
subobject.
2.1.2 IPV6_EERO_HOP
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |I|E| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID (16 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress Interface Identifier (16 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress Interface Identifier (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress Interface Identifier (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress Interface Identifier (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Egress Interface Identifier (16 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Egress Interface Identifier (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Egress Interface Identifier (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Egress Interface Identifier (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Akyol draft-akyol-mpls-exp-ero-00.txt 6
Expanded Explicit Route Object for RSVP-TE February 2001
Type
0x02 IPV6_EERO_HOP
Length
The Length field includes all fields of the subobject
and is indicated in bytes. The length for this
subobject is always 52 bytes.
I
Ingress Interface Identifier Unnumbered Flag. If this
bit is set to 1, then the ingress interface is an
unnumbered interface and the ingress interface
identifier is a 32 bit identifier that is only locally
significant to the router identified by Router ID. If
this bit is not set, then the ingress identifier is an
IPV6 address.
E
Egress Interface Identifier Unnumbered Flag. If this
bit is set to 1, then the egress interface is an
unnumbered interface and the egress interface
identifier is a 32 bit identifier that is only locally
significant to the router identified by Router ID. If
this bit is not set, then the ingress identifier is an
IPV6 address.
Reserved
Unused MUST be zero. Ignored upon receipt.
Router ID
The Router ID is an IPV6 address that MUST be the
router ID IP address of the router that advertised the
interfaces specified in this subobject as described in
[ISIS-TE,OSPF-TE].
Ingress Interface Identifier
The Ingress Interface Identifier is either an IPV6
address or a 32 bit interface index that is unique
within the scope of the Router ID given in the
subobject. If an interface index is given, the index
MUST be given in the last 4 bytes of the IPV6 address
field and the remaining 12 bytes MUST be set to 0.
Egress Interface Identifier
Akyol draft-akyol-mpls-exp-ero-00.txt 7
Expanded Explicit Route Object for RSVP-TE February 2001
The Egress Interface identifier is either an IPV4
address or a 32 bit interface index that is unique
within the scope of the Router ID given in the
subobject. If an interface index is given, the index
MUST be given in the last 4 bytes of the IPV6 address
field and the remaining 12 bytes MUST be set to 0.
2.1.3 IPV4_Abstract Node Hop (IPV4_AN_HOP)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |Prefix L. | Resvd |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPV4 Addr |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
0x03 IPV4_Abstract_Node_HOP
Length
The Length field includes all fields of the subobject
and is indicated in bytes. The length for this
subobject is always 8 bytes.
Prefix Length
The IPV4 prefix length in bits. This field is specified
as an 8 bit field but is only meaningful when its value
is less than or equal to 32.
Reserved
Reserved. MUST be zero. Ignored upon receipt.
IPV4 Address
An IPV4 address. This address MUST be treated as a
prefix masked by prefix length given above. Bits
exceeding the prefix length are ignored on receipt and
SHOULD be set to zero on transmission [RSVP-TE].
Akyol draft-akyol-mpls-exp-ero-00.txt 8
Expanded Explicit Route Object for RSVP-TE February 2001
2.1.4 IPV6 Abstract Node HOP (IPV6_AN_HOP)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Prefix L. | Resvd |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPV6 Addr (16 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPV6 Addr (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPV6 Addr (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPV6 Addr (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
0x04 IPV6_Abstract_Node_HOP
Length
The Length field includes all fields of the subobject
and is indicated in bytes. The length for this message
is always 20 bytes.
Prefix Length
The IPV6 prefix length in bits. This field is specified
as an 8 bit field but only values less than or equal to
128 are meaningful.
Reserved
Reserved. MUST be zero. Ignored upon receipt.
IPV6 Address
An IPV6 address. This address MUST be treated as a
prefix masked by prefix length given above. Bits
exceeding the prefix length are ignored on receipt and
SHOULD be set to zero on transmission [RSVP-TE].
Akyol draft-akyol-mpls-exp-ero-00.txt 9
Expanded Explicit Route Object for RSVP-TE February 2001
2.1.5 IPV4 Loose Route Hop (IPV4_LR_HOP)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |I|E| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID (4 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress Interface Identifier (4 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Egress Interface Identifier (4 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
0x05 IPV4_Loose_Route_HOP
Length
The Length field includes all fields of the subobject
and is indicated in bytes. The length for this
subobject is always 16 bytes.
I
Ingress Interface Identifier Unnumbered Flag. If this
bit is set to 1, then the ingress interface is an
unnumbered interface and the ingress interface
identifier is a 32 bit identifier that is only locally
significant to the router identified by Router ID. If
this bit is not set, then the ingress identifier is an
IPV4 address.
E
Egress Interface Identifier Unnumbered Flag. If this
bit is set to 1, then the egress interface is an
unnumbered interface and the egress interface
identifier is a 32 bit identifier that is only locally
significant to the router identified by Router ID. If
this bit is not set, then the ingress identifier is an
IPV4 address.
Reserved
Unused. MUST be zero. Ignored upon receipt.
Akyol draft-akyol-mpls-exp-ero-00.txt 10
Expanded Explicit Route Object for RSVP-TE February 2001
Router ID
The Router ID is an IPV4 address that MUST be the
router ID IP address of the router that advertised the
interfaces specified in this subobject as described in
[ISIS-TE,OSPF-TE].
Ingress Interface Identifier
The Ingress Interface Identifier is either an IPV4
address or a 32 bit interface index that is unique
within the scope of the Router ID given in the
subobject. For an IPV4_LR_HOP subobject, if this field
is set to all zeros, then this value is ignored.
Egress Interface Identifier
The Egress Interface identifier is either an IPV4
address or a 32 bit interface index that is unique
within the scope of the Router ID given in the
subobject. For an IPV4_LR_HOP subobject, if this field
is set to all zeros, then this value is ignored.
2.1.6 IPV6 Loose Route Hop (IPV6_LR_HOP)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |I|E| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID (16 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress Interface Identifier (16 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress Interface Identifier (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress Interface Identifier (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress Interface Identifier (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Egress Interface Identifier (16 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Egress Interface Identifier (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Akyol draft-akyol-mpls-exp-ero-00.txt 11
Expanded Explicit Route Object for RSVP-TE February 2001
| Egress Interface Identifier (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Egress Interface Identifier (cont'd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
0x06 IPV6_EERO_HOP
Length
The Length field includes all fields of the subobject
and is indicated in bytes. The length for this
subobject is always 52 bytes.
I
Ingress Interface Identifier Unnumbered Flag. If this
bit is set to 1, then the ingress interface is an
unnumbered interface and the ingress interface
identifier is a 32 bit identifier that is only locally
significant to the router identified by Router ID. If
this bit is not set, then the ingress identifier is an
IPV6 address.
E
Egress Interface Identifier Unnumbered Flag. If this
bit is set to 1, then the egress interface is an
unnumbered interface and the egress interface
identifier is a 32 bit identifier that is only locally
significant to the router identified by Router ID. If
this bit is not set, then the ingress identifier is an
IPV6 address.
Reserved
Unused. MUST be zero. Ignored upon receipt.
Router ID
The Router ID is an IPV6 address that MUST be the
router ID IP address of the router that advertised the
interfaces specified in this subobject as described in
[ISIS-TE,OSPF-TE].
Ingress Interface Identifier
The Ingress Interface Identifier is either an IPV6
address or a 32 bit interface index that is unique
within the scope of the Router ID given in the
subobject. If an interface index is given, the index
MUST be given in the last 4 bytes of the IPV6 address
Akyol draft-akyol-mpls-exp-ero-00.txt 12
Expanded Explicit Route Object for RSVP-TE February 2001
field and the remaining 12 bytes MUST be set to 0. For
an IPV6_LR_HOP subobject, if this field is set to all
zeros, then this value is ignored.
Egress Interface Identifier
The Egress Interface identifier is either an IPV6
address or a 32 bit interface index that is unique
within the scope of the Router ID given in the
subobject. If an interface index is given, the index
MUST be given in the last 4 bytes of the IPV6 address
field and the remaining 12 bytes MUST be set to 0. For
an IPV6_LR_HOP subobject, if this field is set to all
zeros, then this value is ignored.
By utilizing the EERO components as given above, we address all of
the concerns raised in Section 1. Processing of the EERO will be
specified in the following section.
3. Processing of the Expanded Explicit Route Object
There are four cases to consider when processing the EERO and they
will be illustrated using the mark-up identifiers defined in Section
2:
3.1 Explicitly routed LSP with no abstract nodes and no loose routes.
An EERO of this type is specified as:
EERO := {<EERO-HOP>, <EERO-HOP>, .. , <EERO-HOP>}
The only check that needs to be performed during EERO processing at
each hop is for the node to see if the top of the EERO stack points
to itself and send the packet out of the interface pointed to by the
<EERO-HOP>.
3.2 Explicitly routed LSP with abstract nodes and no loose routes.
An EERO of this type is specified as:
EERO := {<EERO-HOP>, <EERO-HOP>, <AN-HOP>, .., <EERO-HOP>,.., <AN-
HOP>, €, <EERO-HOP>}
Note that multiple abstract nodes may appear in an EERO, and they
do not have to be contiguous. An abstract node can be deleted off
the EERO element if and only if the next hop in the path is not part
of the abstract node.
An EERO may begin or end with an abstract node.
Akyol draft-akyol-mpls-exp-ero-00.txt 13
Expanded Explicit Route Object for RSVP-TE February 2001
3.3 Explicitly routed LSP with loose routes and no abstract nodes.
An EERO that includes loose hops and no abstract nodes is specified
as follows:
EERO := { <EERO-HOP>, <LR-HOP>, <LR-HOP>, €, <EERO-HOP>}
While processing an EERO that contains loose hops, the loose hops
within the loose segment are deleted as they are traversed. The
loose segment is deleted only when the last loose hop in the segment
is traversed.
The path between the <EERO-HOP> that precedes the <LR-HOP> that
comes right after it is determined by consulting the IP forwarding
table. In certain instances, it may be desirable to register a
forwarding change indication associated with <LR-HOP> to be able to
adapt to forwarding table changes rapidly.
3.4 Explicitly routed LSP with loose routes and abstract nodes.
An abstract node can contain loose segments and vice versa. EEROs
that contain both of these elements should be processed according to
rules described in the preceding sections.
4. Interoperability
Interoperability between different deployed versions of RSVP-TE
software is our primary reason for defining an expanded ERO in place
of redefining the existing ERO. The following rules assure
interoperability between old and new versions of RSVP-TE software.
a. An ingress LSR that supports both EERO and ERO MUST always
generate an EERO when required. If the ingress LSR then gets an
error message with error code equaling 14 (Unknown object C-
Type), then the ingress LSR MUST retry the PATH message replacing
the EERO with an equivalent ERO.
b. Intermediary routers that support only the ERO MUST send an error
message back to the ingress LSR with an error code 14 when a
signaling message that contains an EERO is received.
c. All routers that support EERO MUST also support the ERO.
5. Conclusion
This Internet Draft presents a definition of the Expanded ERO object
that was first defined in [RSVP-TE]. The expanded definition given
here achieves our primary goal of both simplifying and clarifying
explicit route processing in signaling protocol stack
implementations while at the same time reducing the possibility of
LSP routing failures.
Akyol draft-akyol-mpls-exp-ero-00.txt 14
Expanded Explicit Route Object for RSVP-TE February 2001
6. Security Considerations
This document does not add any new security issues other than the
ones defined in [RSVP-TE].
Akyol draft-akyol-mpls-exp-ero-00.txt 15
Expanded Explicit Route Object for RSVP-TE February 2001
7. References
[RSVP-TE] Awduche, D., Berger, L., Gan, D. H., Li, T., Srinivasan,
V., and Swallow, G., "RSVP-TE: Extensions to RSVP for LSP Tunnels",
draft-ietf-mpls-rsvp-lsp-tunnel-07.txt (work in progress)
[RSVP-UN] Kompella K., Rekhter Y., " Signalling Unnumbered Links in
RSVP-TE ", draft-ietf-mpls-rsvp-unnum-00.txt (Work in Progress)
[ISIS-TE] Smit, H., and Li, T., "IS-IS extensions for Traffic
Engineering", draft-ietf-isis-traffic-02.txt (work in progress)
[OSPF-TE] Katz, D., and Yeung, D., "Traffic Engineering Extensions
to OSPF", draft-katz-yeung-ospf-traffic-02.txt (work in progress)
8. Author's Addresses
Bora Akyol
Pluris
10455 Bandley Drive
Cupertino, CA 95014
Email: akyol@akyol.org
Phone: +1.408.861.3302
Vach Kompella
Jasmine Networks, Inc.
3061 B, Zanker Road
San Jose, CA 95134
Email: vkompella@jasminenetworks.com
Phone: +1.408.895.5044
Vishal Sharma
Jasmine Networks, Inc.
3061 B, Zanker Road
San Jose, CA 95134
Email: vsharma@jasminenetworks.com
Phone: +1.408.895.5030
Expiration
This draft expires in August 2001.
Akyol draft-akyol-mpls-exp-ero-00.txt 16