draft-ietf-mpls-rsvpte-attributes-05.txt | rfc4420.txt | |||
---|---|---|---|---|
Network Working Group Adrian Farrel (Editor) | ||||
Updates: RFC3209 and RFC3473 Old Dog Consulting | Network Working Group A. Farrel, Ed. | |||
Category: Standards Track Dimitri Papadimitriou | Request for Comments: 4420 Old Dog Consulting | |||
Expires: November 2005 Alcatel | Updates: 3209, 3473 D. Papadimitriou | |||
Jean-Philippe Vasseur | Category: Standards Track Alcatel | |||
J.-P. Vasseur | ||||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
Arthi Ayyangar | A. Ayyangar | |||
Juniper Networks | Juniper Networks | |||
February 2006 | ||||
May 2005 | ||||
Encoding of Attributes for Multiprotocol Label Switching (MPLS) | Encoding of Attributes for Multiprotocol Label Switching (MPLS) | |||
Label Switched Path (LSP) Establishment Using RSVP-TE | Label Switched Path (LSP) Establishment Using | |||
Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) | ||||
draft-ietf-mpls-rsvpte-attributes-05.txt | ||||
Status of this Memo | ||||
By submitting this Internet-Draft, each author represents that any | ||||
applicable patent or other IPR claims of which he or she is aware | ||||
have been or will be disclosed, and any of which he or she becomes | ||||
aware will be disclosed, in accordance with Section 6 of BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | Status of This Memo | |||
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 | This document specifies an Internet standards track protocol for the | |||
and may be updated, replaced, or obsoleted by other documents at any | Internet community, and requests discussion and suggestions for | |||
time. It is inappropriate to use Internet-Drafts as reference | improvements. Please refer to the current edition of the "Internet | |||
material or to cite them other than as "work in progress." | Official Protocol Standards" (STD 1) for the standardization state | |||
and status of this protocol. Distribution of this memo is unlimited. | ||||
The list of current Internet-Drafts can be accessed at | Copyright Notice | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | ||||
The list of Internet-Draft Shadow Directories can be | Copyright (C) The Internet Society (2006). | |||
accessed at http://www.ietf.org/shadow.html. | ||||
Abstract | Abstract | |||
Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) may | Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) may | |||
be established using the Resource Reservation Protocol Traffic | be established using the Resource Reservation Protocol Traffic | |||
Engineering extensions (RSVP-TE). This protocol includes an object | Engineering (RSVP-TE) extensions. This protocol includes an object | |||
(the SESSION_ATTRIBUTE object) which carries a flags field used to | (the SESSION_ATTRIBUTE object) that carries a Flags field used to | |||
indicate options and attributes of the LSP. That flags field has | indicate options and attributes of the LSP. That Flags field has | |||
eight bits allowing for eight options to be set. Recent proposals in | eight bits allowing for eight options to be set. Recent proposals in | |||
many documents that extend RSVP-TE have suggested uses for each of | many documents that extend RSVP-TE have suggested uses for each of | |||
the previously unused bits. | the previously unused bits. | |||
This document defines a new object for RSVP-TE messages that allows | This document defines a new object for RSVP-TE messages that allows | |||
the signaling of further attribute bits and also the carriage of | the signaling of further attribute bits and also the carriage of | |||
arbitrary attribute parameters to make RSVP-TE easily extensible to | arbitrary attribute parameters to make RSVP-TE easily extensible to | |||
support new requirements. Additionally, this document defines a way | support new requirements. Additionally, this document defines a way | |||
to record the attributes applied to the LSP on a hop-by-hop basis. | to record the attributes applied to the LSP on a hop-by-hop basis. | |||
The object mechanisms defined in this document are equally applicable | The object mechanisms defined in this document are equally applicable | |||
to Generalized MPLS (GMPLS) Packet Switch Capable (PSC) LSPs and to | to Generalized MPLS (GMPLS) Packet Switch Capable (PSC) LSPs and to | |||
GMPLS non-PSC LSPs. | GMPLS non-PSC LSPs. | |||
Contents | Table of Contents | |||
1. Introduction and Problem Statement 3 | 1. Introduction and Problem Statement ..............................3 | |||
1.1 Applicability to Generalized MPLS 4 | 1.1. Applicability to Generalized MPLS ..........................4 | |||
1.2 A Rejected Alternate Solution 4 | 1.2. A Rejected Alternate Solution ..............................4 | |||
2. Terminology 5 | 2. Terminology .....................................................5 | |||
3. Attributes TLVs 5 | 3. Attributes TLVs .................................................5 | |||
3.1 Attributes Flags TLV 6 | 3.1. Attributes Flags TLV .......................................6 | |||
4. LSP_ATTRIBUTES Object 6 | 4. LSP_ATTRIBUTES Object ...........................................6 | |||
4.1 Format 7 | 4.1. Format .....................................................7 | |||
4.2 Generic Processing Rules for Path Messages 7 | 4.2. Generic Processing Rules for Path Messages .................7 | |||
4.3 Generic Processing Rules for Resv Messages 8 | 4.3. Generic Processing Rules for Resv Messages .................8 | |||
5. LSP_REQUIRED_ATTRIBUTES Object 8 | 5. LSP_REQUIRED_ATTRIBUTES Object ..................................9 | |||
5.1 Format 9 | 5.1. Format .....................................................9 | |||
5.2 Generic Processing Rules 9 | 5.2. Generic Processing Rules ...................................9 | |||
6. Inheritance Rules 10 | 6. Inheritance Rules ..............................................10 | |||
7. Recording Attributes Per-LSP 10 | 7. Recording Attributes Per LSP ...................................11 | |||
7.1 Requirements 10 | 7.1. Requirements ..............................................11 | |||
7.2 RRO Attributes Subobject 10 | 7.2. RRO Attributes Subobject ..................................11 | |||
7.3 Procedures 11 | 7.3. Procedures ................................................12 | |||
7.3.1 Subobject Presence Rules 11 | 7.3.1. Subobject Presence Rules ...........................12 | |||
7.3.2 Reporting Compliance with LSP Attributes 12 | 7.3.2. Reporting Compliance with LSP Attributes ...........12 | |||
7.3.3 Reporting Per-Hop Attributes 12 | 7.3.3. Reporting Per-Hop Attributes .......................13 | |||
7.3.4 Default Behavior 12 | 7.3.4. Default Behavior ...................................13 | |||
8. Summary of Attribute Bit Allocation 12 | 8. Summary of Attribute Bit Allocation ............................13 | |||
9. Message Formats 13 | 9. Message Formats ................................................14 | |||
10. Guidance for Key Application Scenarios 14 | 10. Guidance for Key Application Scenarios ........................14 | |||
10.1 Communicating to Egress LSRs 14 | 10.1. Communicating to Egress LSRs .............................15 | |||
10.2 Communicating to Key Transit LSRs 15 | 10.2. Communicating to Key Transit LSRs ........................15 | |||
10.3 Communicating to All LSRs 15 | 10.3. Communicating to All LSRs ................................16 | |||
11. IANA Considerations 15 | 11. IANA Considerations ...........................................16 | |||
11.1 New RSVP C-Nums and C-Types 15 | 11.1. New RSVP C-Nums and C-Types ..............................16 | |||
11.2 New TLV Space 16 | 11.2. New TLV Space ............................................17 | |||
11.3 Attributes Flags 16 | 11.3. Attributes Flags .........................................17 | |||
11.4 SESSION_ATTRIBUTE Flags Field 17 | 11.4. New Error Codes ..........................................18 | |||
11.5 New Error Codes 17 | 11.5. New Record Route Subobject Identifier ....................18 | |||
11.6 New Record Route Subobject Identifier 17 | 12. Security Considerations .......................................18 | |||
12. Security Considerations 17 | 13. Acknowledgements ..............................................19 | |||
13. Acknowledgements 18 | 14. Normative References ..........................................19 | |||
14. Intellectual Property Consideration 18 | 15. Informative References ........................................19 | |||
15. Normative References 18 | ||||
16. Informative References 19 | ||||
17. Authors' Addresses 19 | ||||
18. Disclaimer of Validity 20 | ||||
19. Full Copyright Statement 20 | ||||
1. Introduction and Problem Statement | 1. Introduction and Problem Statement | |||
Traffic Engineered Multiprotocol Label Switching (MPLS) Label | Traffic-Engineered Multiprotocol Label Switching (MPLS) Label | |||
Switched Paths (LSPs) [RFC3031] may be set up using the Path message | Switched Paths (LSPs) [RFC3031] may be set up using the Path message | |||
of the RSVP-TE signaling protocol [RFC3209]. The Path message | of the RSVP-TE signaling protocol [RFC3209]. The Path message | |||
includes the SESSION_ATTRIBUTE object which carries a flags field | includes the SESSION_ATTRIBUTE object, which carries a Flags field | |||
used to indicate desired options and attributes of the LSP. | used to indicate desired options and attributes of the LSP. | |||
The flags field in the SESSION_ATTRIBUTE object has eight bits. Just | The Flags field in the SESSION_ATTRIBUTE object has eight bits. Just | |||
three of those bits are assigned in [RFC3209]. A further two bits are | three of those bits are assigned in [RFC3209]. A further two bits | |||
assigned in [FRR] for fast re-reroute functionality leaving only | are assigned in [RFC4090] for fast re-reroute functionality leaving | |||
three bits available. Several recent proposals and Internet Drafts | only three bits available. Several recent proposals and Internet | |||
have demonstrated that there is a high demand for the use of the | Drafts have demonstrated that there is a high demand for the use of | |||
other three bits. Some, if not all, of those proposals are likely to | the other three bits. Some, if not all, of those proposals are | |||
go forward as RFCs resulting in depletion or near depletion of the | likely to go forward as RFCs resulting in depletion or near depletion | |||
flags field and a consequent difficulty in signaling new options and | of the Flags field and a consequent difficulty in signaling new | |||
attributes that may be developed in the future. | options and attributes that may be developed in the future. | |||
This document defines a new object for RSVP-TE messages that allows | This document defines a new object for RSVP-TE messages that allows | |||
the signaling of further attributes bits. The new object is | the signaling of further attributes bits. The new object is | |||
constructed from TLVs, and a new TLV is defined to carry a variable | constructed from TLVs, and a new TLV is defined to carry a variable | |||
number of attributes bits. | number of attributes bits. | |||
The new RSVP-TE message object is quite flexible, due to the use of | The new RSVP-TE message object is quite flexible, due to the use of | |||
the TLV format and allows: | the TLV format and allows: | |||
- future specification of bit flags | - future specification of bit flags | |||
- additional options and atttribute paramerters carried in TLV | - additional options and attribute parameters carried in TLV | |||
format. | format. | |||
Note that the LSP Attributes defined in this document are | Note that the LSP Attributes defined in this document are | |||
specifically scoped to an LSP. They may be set differently on | specifically scoped to an LSP. They may be set differently on | |||
separate LSPs with the same Tunnel ID between the same source and | separate LSPs with the same Tunnel ID between the same source and | |||
destination (that is, within the same Session). | destination (that is, within the same session). | |||
It is noted that some options and attributes do not need to be | It is noted that some options and attributes do not need to be acted | |||
acted on by all Label Switched Routers (LSRs) along the path of the | on by all Label Switched Routers (LSRs) along the path of the LSP. | |||
LSP. In particular, these options and attributes may apply only to | In particular, these options and attributes may apply only to key | |||
key LSRs on the path such as the ingress LSR and egress LSR. Special | LSRs on the path such as the ingress LSR and egress LSR. Special | |||
transit LSRs, such as Area or AS Border Routers (ABRs/ASBRs) may also | transit LSRs, such as Area or Autonomous System Border Routers (ABRs | |||
fall into this category. This means that the new options and | or ASBRs), may also fall into this category. This means that the new | |||
attributes should be signaled transparently, and only examined at | options and attributes should be signaled transparently, and only | |||
those points that need to act on them. | examined at those points that need to act on them. | |||
On the other hand, other options and attributes may require action | On the other hand, other options and attributes may require action at | |||
at all transit LSRs along the path of the LSP. Inability to support | all transit LSRs along the path of the LSP. Inability to support the | |||
the required attributes by one of those transit LSRs may require the | required attributes by one of those transit LSRs may require the LSR | |||
LSR to refuse the establishment of the LSP. | to refuse the establishment of the LSP. | |||
These considerations are particularly important in the context of | These considerations are particularly important in the context of | |||
backwards compatibility. In general, it should be possible to provide | backward compatibility. In general, it should be possible to provide | |||
new MPLS services across a legacy network without upgrading those | new MPLS services across a legacy network without upgrading those | |||
LSRs that do not need to participate actively in the new services. | LSRs that do not need to participate actively in the new services. | |||
Moreover, some features just require action on specific intermediate | Moreover, some features just require action on specific intermediate | |||
hops, and not on every visited LSR. | hops, and not on every visited LSR. | |||
Note that options already specified for the SESSION_ATTRIBUTE object | Note that options already specified for the SESSION_ATTRIBUTE object | |||
in pre-existing RFCs are not migrated to the new mechanisms described | in preexisting RFCs are not migrated to the new mechanisms described | |||
in this document. | in this document. | |||
RSVP includes a way for unrecognized objects to be transparently | RSVP includes a way for unrecognized objects to be transparently | |||
forwarded by transit nodes without them refusing the incoming | forwarded by transit nodes without them refusing the incoming | |||
protocol messages and without the objects being stripped from the | protocol messages and without the objects being stripped from the | |||
outgoing protocol message (see [RFC2205] Section 3.10). This | outgoing protocol message (see [RFC2205], Section 3.10). This | |||
capability extends to RSVP-TE and provides a good way to ensure that | capability extends to RSVP-TE and provides a good way to ensure that | |||
only those LSRs that understand a particular object examine it. | only those LSRs that understand a particular object examine it. | |||
This document distinguishes between options and attributes that are | This document distinguishes between options and attributes that are | |||
only required at key LSRs along the path of the LSP, and those that | only required at key LSRs along the path of the LSP, and those that | |||
must be acted on by every LSR along the LSP. Two LSP Attributes | must be acted on by every LSR along the LSP. Two LSP Attributes | |||
objects are defined in this document: using the C-Num definition | objects are defined in this document: using the C-Num definition | |||
rules inherrited from [RFC2205], the first is passed transparently | rules inherited from [RFC2205], the first is passed transparently by | |||
by LSRs that do not recognize it, and the second causes LSP setup | LSRs that do not recognize it, and the second causes LSP setup | |||
failure with the generation of a PathErr message with an | failure with the generation of a PathErr message with an appropriate | |||
appropriate Error Code if an LSR does not recognize it. | Error Code if an LSR does not recognize it. | |||
1.1 Applicability to Generalized MPLS | 1.1. Applicability to Generalized MPLS | |||
The RSVP-TE signaling protocol also forms the basis of a signaling | The RSVP-TE signaling protocol also forms the basis of a signaling | |||
protocol for Generalized MPLS (GMPLS) as described in [RFC3471] and | protocol for Generalized MPLS (GMPLS) as described in [RFC3471] and | |||
[RFC3473]. The extensions described in this document are equally | [RFC3473]. The extensions described in this document are equally | |||
applicable to MPLS and GMPLS. | applicable to MPLS and GMPLS. | |||
1.2 A Rejected Alternate Solution | 1.2. A Rejected Alternate Solution | |||
A rejected alternate solution was to define a new C-Type for the | A rejected alternate solution was to define a new C-Type for the | |||
existing SESSION_ATTRIBUTE object. This new C-Type could allow a | existing SESSION_ATTRIBUTE object. This new C-Type could allow a | |||
larger Flags field and address the immediate problem. | larger Flags field and address the immediate problem. | |||
This solution was rejected because: | This solution was rejected because: | |||
- A new C-Type is not backward compatible with deployed | - A new C-Type is not backward compatible with deployed | |||
implementations that expect to see a C-Type of 1 or 7. It is | implementations that expect to see a C-Type of 1 or 7. It is | |||
important that any solution be capable of carrying new attributes | important that any solution be capable of carrying new attributes | |||
transparently across legacy LSRs if those LSRs are not required to | transparently across legacy LSRs if those LSRs are not required to | |||
act on the attributes. | act on the attributes. | |||
- Support for arbitrary attributes parameters through TLVs would | ||||
have meant a significant change of substance to the existing | - Support for arbitrary attributes parameters through TLVs would have | |||
object. | meant a significant change of substance to the existing object. | |||
2. Terminology | 2. Terminology | |||
This document uses terminology from the MPLS architecture document | This document uses terminology from the MPLS architecture document | |||
[RFC3031] and from the RSVP-TE protocol specification [RFC3209] which | [RFC3031] and from the RSVP-TE protocol specification [RFC3209], | |||
inherits from the RSVP specification [RFC2205]. It also makes uses of | which inherits from the RSVP specification [RFC2205]. It also makes | |||
the Generalized MPLS RSVP-TE terminology introduced in [RFC3471] and | use of the Generalized MPLS RSVP-TE terminology introduced in | |||
[RFC3473]. | [RFC3471] and [RFC3473]. | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in [RFC2219]. | document are to be interpreted as described in [RFC2119]. | |||
3. Attributes TLVs | 3. Attributes TLVs | |||
Attributes carried by the new objects defined in this document are | Attributes carried by the new objects defined in this document are | |||
encoded within TLVs. One or more TLVs may be present in each object. | encoded within TLVs. One or more TLVs may be present in each object. | |||
There are no ordering rules for TLVs and no interpretation should be | There are no ordering rules for TLVs, and no interpretation should be | |||
placed on the order in which TLVs are received. | placed on the order in which TLVs are received. | |||
Each TLV is encoded as follows. | Each TLV is encoded as follows. | |||
0 1 2 3 | 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 | 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 | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
// Value // | // Value // | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Type | Type | |||
The identifier of the TLV. | The identifier of the TLV. | |||
Length | Length | |||
The length of the value field in bytes. Thus if no value | The length of the Value field in bytes. Thus, if no Value | |||
field is present the length field contains the value zero. | field is present the Length field contains the value zero. | |||
Each value field must be zero padded at the end to take it | Each Value field must be zero padded at the end to take it up | |||
up to a four byte boundary - the padding is not included in | to a four byte boundary -- the padding is not included in the | |||
the length so that a one byte value would be encoded in an | length so that a one byte value would be encoded in an eight | |||
eight byte TLV with length field set to one. | byte TLV with Length field set to one. | |||
Value | Value | |||
The data for the TLV padded as described above. | The data for the TLV padded as described above. | |||
3.1 Attributes Flags TLV | 3.1. Attributes Flags TLV | |||
This document defines only one TLV type value. Type 1 indicates the | This document defines only one TLV type value. Type 1 indicates the | |||
Attributes Flags TLV. Other TLV types may be defined in future with | Attributes Flags TLV. Other TLV types may be defined in the future | |||
type values assigned by IANA (see section 11.2). | with type values assigned by IANA (see Section 11.2). | |||
The Attributes Flags TLV may be present in an LSP_ATTRIBUTES object | The Attributes Flags TLV may be present in an LSP_ATTRIBUTES object | |||
and/or an LSP_REQUIRED_ATTRIBUTES object defined in Sections 4 and 5. | and/or an LSP_REQUIRED_ATTRIBUTES object defined in Sections 4 and 5. | |||
The bits in the TLV represent the same attributes regardless of which | The bits in the TLV represent the same attributes regardless of which | |||
object carries the TLV. Documents that define individual bits MUST | object carries the TLV. Documents that define individual bits MUST | |||
specify whether the bit may be set in one object or the other, or | specify whether the bit may be set in one object or the other, or | |||
both. It is not expected that a bit will be set in both objects on a | both. It is not expected that a bit will be set in both objects on a | |||
single Path message at the same time, but this is not ruled out by | single Path message at the same time, but this is not ruled out by | |||
this document. | this document. | |||
The Attribute Flags TLV value field is an array of units of 32 flags | The Attribute Flags TLV Value field is an array of units of 32 flags | |||
numbered from the MSB as bit zero. The length field for this TLV is | numbered from the most significant bit as bit zero. The Length field | |||
therefore always a multiple of 4 bytes, regardless of the number of | for this TLV is therefore always a multiple of 4 bytes, regardless of | |||
bits carried and no padding is required. | the number of bits carried and no padding is required. | |||
Unassigned bits are considered as reserved and MUST be set to zero | Unassigned bits are considered as reserved and MUST be set to zero on | |||
on transmission by the originator of the object. Bits not contained | transmission by the originator of the object. Bits not contained in | |||
in the TLV MUST be assumed to be set to zero. If the TLV is absent | the TLV MUST be assumed to be set to zero. If the TLV is absent | |||
either because it is not contained in the LSP_ATTRIBUTES or | either because it is not contained in the LSP_ATTRIBUTES or | |||
LSP_REQUIRED_ATTRIBUTES object, or because those objects are | LSP_REQUIRED_ATTRIBUTES object, or because those objects are | |||
themselves absent, all processing MUST be performed as though the | themselves absent, all processing MUST be performed as though the | |||
bits were present and set to zero. That is to say, assigned bits that | bits were present and set to zero. That is to say, assigned bits | |||
are not present either because the TLV is deliberatley forshortened, | that are not present either because the TLV is deliberately | |||
or because the TLV is not included MUST be treated as though they are | foreshortened or because the TLV is not included MUST be treated as | |||
present and are set to zero. | though they are present and are set to zero. | |||
No bits are defined in this document. The assignment of bits is | No bits are defined in this document. The assignment of bits is | |||
managed by IANA (see section 11.3). | managed by IANA (see Section 11.3). | |||
4. LSP_ATTRIBUTES Object | 4. LSP_ATTRIBUTES Object | |||
The LSP_ATTRIBUTES object is used to signal attributes required in | The LSP_ATTRIBUTES object is used to signal attributes required in | |||
support of an LSP, or to indicate the nature or use of an LSP where | support of an LSP, or to indicate the nature or use of an LSP where | |||
that information is not required to be acted on by all transit LSRs. | that information is not required to be acted on by all transit LSRs. | |||
Specifically, if an LSR does not support the object, it forwards it | Specifically, if an LSR does not support the object, it forwards it | |||
unexamined and unchanged. This facilitates the exchange of attributes | unexamined and unchanged. This facilitates the exchange of | |||
across legacy networks that do not support this new object. | attributes across legacy networks that do not support this new | |||
object. | ||||
This object effectively extends the flags field in the SESSION_ | This object effectively extends the Flags field in the | |||
ATTRIBUTE object and allows for the future inclusion of more complex | SESSION_ATTRIBUTE object and allows for the future inclusion of more | |||
objects through TLVs. | complex objects through TLVs. | |||
Note that some function may require an LSR to inspect both the | Note that some function may require an LSR to inspect both the | |||
SESSION_ATTRIBUTE object, and the LSP_ATTRIBUTES or | SESSION_ATTRIBUTE object and the LSP_ATTRIBUTES or | |||
LSP_REQUIRED_ATTRIBUTES object. | LSP_REQUIRED_ATTRIBUTES object. | |||
The LSP_ATTRIBUTES object may also be used to report LSP operational | The LSP_ATTRIBUTES object may also be used to report LSP operational | |||
state on a Resv even when no LSP_ATTRIBUTES or LSP_REQUIRED_ | state on a Resv even when no LSP_ATTRIBUTES or | |||
ATTRIBUTES object was carried on the corresponding Path message. The | LSP_REQUIRED_ATTRIBUTES object was carried on the corresponding Path | |||
object is added or updated by LSRs that support the object. LSRs that | message. The object is added or updated by LSRs that support the | |||
do not understand the object or have nothing to report, do not add | object. LSRs that do not understand the object or have nothing to | |||
the object and forward it unchanged on Resv messages that they | report do not add the object and forward it unchanged on Resv | |||
generate. | messages that they generate. | |||
The LSP_ATTRIBUTES object class is TBD of the form 11bbbbbb. This | The LSP_ATTRIBUTES object class is 197 of the form 11bbbbbb. This | |||
C-Num value (see Section 8) ensures that LSRs that do not recognize | C-Num value (see [RFC2205], Section 3.10) ensures that LSRs that do | |||
the object pass it on transparently. | not recognize the object pass it on transparently. | |||
One C-Type is defined, C-Type = 1 for LSP Attributes. | One C-Type is defined, C-Type = 1 for LSP Attributes. | |||
This object is optional and may be placed on Path messages to convey | This object is optional and may be placed on Path messages to convey | |||
additional information about the desired attributes of the LSP, and. | additional information about the desired attributes of the LSP, and | |||
on Resv messages to report operational state. | on Resv messages to report operational state. | |||
4.1 Format | 4.1. Format | |||
LSP_ATTRIBUTES class = TBD, C-Type = 1 | LSP_ATTRIBUTES class = 197, C-Type = 1 | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
// Attributes TLVs // | // Attributes TLVs // | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
The Attributes TLVs are encoded as described in Section 3. | The Attributes TLVs are encoded as described in Section 3. | |||
4.2 Generic Processing Rules for Path Messages | 4.2. Generic Processing Rules for Path Messages | |||
An LSR that does not support this object is required to pass it on | An LSR that does not support this object is required to pass it on | |||
unaltered as indicated by the C-Num and the rules defined in | unaltered as indicated by the C-Num and the rules defined in | |||
[RFC2205]. | [RFC2205]. | |||
An LSR that does support this object, but does not recognize a TLV | An LSR that does support this object, but does not recognize a TLV | |||
type code carried in this object MUST pass the TLV on unaltered | type code carried in this object, MUST pass the TLV on unaltered in | |||
in the LSP_ATTRIBUTES object that it places in the Path message | the LSP_ATTRIBUTES object that it places in the Path message that it | |||
that it sends downstream. | sends downstream. | |||
An LSR that does support this object and recognizes a TLV but does | An LSR that does support this object and recognizes a TLV, but does | |||
not support the attribute defined by the TLV MUST act as specified in | not support the attribute defined by the TLV, MUST act as specified | |||
the document that defines the TLV. | in the document that defines the TLV. | |||
An LSR that supports the Attributes Flags TLV, but does not | An LSR that supports the Attributes Flags TLV, but does not recognize | |||
recognize a bit set in the Attributes Flags TLV MUST forward the | a bit set in the Attributes Flags TLV, MUST forward the TLV | |||
TLV unchanged. | unchanged. | |||
An LSR that supports the Attributes Flags TLV and recognizes a bit | An LSR that supports the Attributes Flags TLV and recognizes a bit | |||
that is set but does not support the indicated attribute MUST act as | that is set, but does not support the indicated attribute, MUST act | |||
specified in the document that defines the bit. | as specified in the document that defines the bit. | |||
4.3 Generic Processing Rules for Resv Messages | 4.3. Generic Processing Rules for Resv Messages | |||
An LSR that wishes to report operational status of an LSP may include | An LSR that wishes to report operational status of an LSP may include | |||
this object in a Resv message, or update the object that is already | this object in a Resv message, or update the object that is already | |||
carried in a Resv message. | carried in a Resv message. | |||
Note that this usage reports the state of the entire LSP and not the | Note that this usage reports the state of the entire LSP and not the | |||
state of the LSP at an individual LSR. This latter function is | state of the LSP at an individual LSR. This latter function is | |||
achieved using the LSP Attributes subobject of the Record Route | achieved using the LSP Attributes subobject of the Record Route | |||
object as described in Section 7. | object (RRO) as described in Section 7. | |||
The bits in the Attributes TLV may be used to report operational | The bits in the Attributes TLV may be used to report operational | |||
status for the whole LSP. For example, an egress LSR may report a | status for the whole LSP. For example, an egress LSR may report a | |||
particular status by setting a bit. LSRs within the network that | particular status by setting a bit. LSRs within the network that | |||
determine that this status has not been achieved may clear the bit | determine that this status has not been achieved may clear the bit as | |||
as they forward the Resv message. | they forward the Resv message. | |||
Observe that LSRs that do not support the object or do not support | Observe that LSRs that do not support the object or do not support | |||
the function characterized by a particular bit in the Attributes TLV | the function characterized by a particular bit in the Attributes TLV | |||
will not clear the bit when forwarding the Resv. Thus, care must be | will not clear the bit when forwarding the Resv. Thus, care must be | |||
taken in defining the usage of this object on a Resv. The usage of | taken in defining the usage of this object on a Resv. The usage of | |||
an individual bit in the Attributes TLV of the LSP_ATTRIBUTES object | an individual bit in the Attributes TLV of the LSP_ATTRIBUTES object | |||
on a Resv must be fully defined in the document that defines the bit. | on a Resv must be fully defined in the document that defines the bit. | |||
Additional TLVs may also be defined to be carried in this object on | Additional TLVs may also be defined to be carried in this object on a | |||
a Resv. | Resv. | |||
An LSR that does not support this object will pass it on unaltered | An LSR that does not support this object will pass it on unaltered | |||
because of the C-Num. | because of the C-Num. | |||
5. LSP_REQUIRED_ATTRIBUTES Object | 5. LSP_REQUIRED_ATTRIBUTES Object | |||
The LSP_REQUIRED_ATTRIBUTES object is used to signal attributes | The LSP_REQUIRED_ATTRIBUTES object is used to signal attributes | |||
required in support of an LSP, or to indicate the nature or use of | required in support of an LSP, or to indicate the nature or use of an | |||
an LSP where that information MUST be inspected at each transit LSR. | LSP where that information MUST be inspected at each transit LSR. | |||
Specifically, each transit LSR MUST examine the attributes in the | Specifically, each transit LSR MUST examine the attributes in the | |||
LSP_REQUIRED_ATTRIBUTES object and MUST NOT forward the object | LSP_REQUIRED_ATTRIBUTES object and MUST NOT forward the object | |||
without acting on its contents. | without acting on its contents. | |||
This object effectively extends the flags field in the SESSION_ | This object effectively extends the Flags field in the | |||
ATTRIBUTE object and allows for the future inclusion of more complex | SESSION_ATTRIBUTE object and allows for the future inclusion of more | |||
objects through TLVs. It complements the LSP_ATTRIBUTES object. | complex objects through TLVs. It complements the LSP_ATTRIBUTES | |||
object. | ||||
The LSP_REQUIRED_ATTRIBUTES object class is TBD of the form 0bbbbbbb. | The LSP_REQUIRED_ATTRIBUTES object class is 67 of the form 0bbbbbbb. | |||
This C-Num value ensures that LSRs that do not recognize the object | This C-Num value ensures that LSRs that do not recognize the object | |||
reject the LSP setup effectively saying that they do not support the | reject the LSP setup effectively saying that they do not support the | |||
attributes requested. This means that this object SHOULD only be used | attributes requested. This means that this object SHOULD only be | |||
for attributes that require support at some transit LSRs and so | used for attributes that require support at some transit LSRs and so | |||
require examination at all transit LSRs. See Section 4 for how end- | require examination at all transit LSRs. See Section 4 for how end- | |||
to-end and selective attributes are signaled. | to-end and selective attributes are signaled. | |||
One C-Type is defined, C-Type = 1 for LSP Required Attributes. | One C-Type is defined, C-Type = 1 for LSP Required Attributes. | |||
This object is optional and may be placed on Path messages to convey | This object is optional and may be placed on Path messages to convey | |||
additional information about the desired attributes of the LSP. | additional information about the desired attributes of the LSP. | |||
5.1 Format | 5.1. Format | |||
LSP_REQUIRED_ATTRIBUTES class = TBD, C-Type = 1 | LSP_REQUIRED_ATTRIBUTES class = 67, C-Type = 1 | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
// Attributes TLVs // | // Attributes TLVs // | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
The Attributes TLVs are encoded as described in Section 3. | The Attributes TLVs are encoded as described in Section 3. | |||
5.2 Generic Processing Rules | 5.2. Generic Processing Rules | |||
An LSR that does not support this object will use a PathErr to reject | An LSR that does not support this object will use a PathErr to reject | |||
the Path message based on the C-Num using the error code "Unknown | the Path message based on the C-Num using the Error Code "Unknown | |||
Object Class". | Object Class". | |||
An LSR that does not recognize a TLV type code carried in this object | An LSR that does not recognize a TLV type code carried in this object | |||
MUST reject the Path message using a PathErr with Error Code | MUST reject the Path message using a PathErr with Error Code "Unknown | |||
"Unknown Attributes TLV" and Error Value set to the value of the | Attributes TLV" and Error Value set to the value of the unknown TLV | |||
unknown TLV type code. | type code. | |||
An LSR that does not recognize a bit set in the Attributes Flags | An LSR that does not recognize a bit set in the Attributes Flags TLV | |||
TLV MUST reject the Path message using a PathErr with Error Code | MUST reject the Path message using a PathErr with Error Code "Unknown | |||
"Unknown Attributes Bit" and Error Value set to the bit number of | Attributes Bit" and Error Value set to the bit number of the unknown | |||
the unknown bit in the Attributes Flags. | bit in the Attributes Flags. | |||
An LSR that recognizes an attribute, however encoded, but which does | An LSR that recognizes an attribute (however encoded), but that does | |||
not support that attribute MUST act according to the behavior | not support that attribute, MUST act according to the behavior | |||
specified in the document that defines that specific attribute. | specified in the document that defines that specific attribute. | |||
Note that this object is not used on a Resv. In order to report the | Note that this object is not used on a Resv. In order to report the | |||
status of an LSP either the LSP_ATTRIBUTES object on a Resv or the | status of an LSP, either the LSP_ATTRIBUTES object on a Resv or the | |||
Attributes subobject in the Record Route object (see Section 7) must | Attributes subobject in the Record Route object (see Section 7) must | |||
be used. | be used. | |||
6. Inheritance Rules | 6. Inheritance Rules | |||
In certain circumstances, when reaching an LSP region boundary, a | In certain circumstances, when reaching an LSP region boundary, a | |||
FA-LSP (see [MPLS-HIER]) is initially setup to allow the | forwarding adjacency LSP (FA-LSP; see [RFC4206]) is initially set up | |||
establishment of the LSP carrying the LSP ATTRIBUTES and/or | to allow the establishment of the LSP carrying the LSP_ATTRIBUTES | |||
LSP_REQUIRED_ATTRIBUTES objects. In this case, when the boundary LSR | and/or LSP_REQUIRED_ATTRIBUTES objects. In this case, when the | |||
supports LSP_ATTRIBUTES and LSP_REQUIRED_ATTRIBUTES processing, the | boundary LSR supports LSP_ATTRIBUTES and LSP_REQUIRED_ATTRIBUTES | |||
FA-LSP MAY upon local policy inherit a subset of the Attributes TLVs, | processing, the FA-LSP MAY upon local policy inherit a subset of the | |||
in particular when the FA-LSP belongs to the same switching | Attributes TLVs, in particular when the FA-LSP belongs to the same | |||
capability class as the triggering LSP. | switching capability class as the triggering LSP. | |||
When these conditions are met, the LSP_ATTRIBUTES and/or | When these conditions are met, the LSP_ATTRIBUTES and/or | |||
LSP_REQUIRED_ATTRIBUTES objects are simply copied with the inherited | LSP_REQUIRED_ATTRIBUTES objects are simply copied with the inherited | |||
Attributes TLVs in the Path message used to establish the FA-LSP. By | Attributes TLVs in the Path message used to establish the FA-LSP. By | |||
default (and in order to simplify deployment), none of the incoming | default (and in order to simplify deployment), none of the incoming | |||
LSP Attributes TLV are considered as inheritable. Note that when the | LSP Attributes TLVs are considered as inheritable. Note that when | |||
FA-LSP establishment itself requires one or more Attributes TLVs, an | the FA-LSP establishment itself requires one or more Attributes TLVs, | |||
'OR' operation is performed with the inherited set of values. | an 'OR' operation is performed with the inherited set of values. | |||
Documents that define individual bits for the LSP Attributes Flags | Documents that define individual bits for the LSP Attributes Flags | |||
TLV MUST specify whether these bits MAY be inherited or not | TLV MUST specify whether or not these bits MAY be inherited | |||
(including the condition to be met in order for this inheritance to | (including the condition to be met in order for this inheritance to | |||
occur). The same applies for any other TLV that will be defined | occur). The same applies for any other TLV that will be defined | |||
following the rules specified in Section 3. | following the rules specified in Section 3. | |||
7. Recording Attributes Per-LSP | 7. Recording Attributes Per LSP | |||
7.1 Requirements | 7.1. Requirements | |||
In some circumstances it is useful to determine which of the | In some circumstances, it is useful to determine which of the | |||
requested LSP attributes have been applied at which LSRs along the | requested LSP attributes have been applied at which LSRs along the | |||
path of the LSP. For example, an attribute may be requested in the | path of the LSP. For example, an attribute may be requested in the | |||
LSP_ATTRIBUTES object such that LSRs that do not support the object | LSP_ATTRIBUTES object such that LSRs that do not support the object | |||
are not required to support the attribute or provide the requested | are not required to support the attribute or provide the requested | |||
function. In this case, it may be useful to the ingress LSR to know | function. In this case, it may be useful to the ingress LSR to know | |||
which LSRs acted on the request and which ignored it. | which LSRs acted on the request and which ignored it. | |||
Additionally, there may be other qualities that need to be reported | Additionally, there may be other qualities that need to be reported | |||
on a hop-by-hop basis. These are currently indicated in the Flags | on a hop-by-hop basis. These are currently indicated in the Flags | |||
field of RRO subobjects. Since there are only eight bits available | field of RRO subobjects. Since there are only eight bits available | |||
in this field, and since some are already assigned and there is also | in this field, and since some are already assigned and there is also | |||
likely to be an increase in allocations in new documents, there is a | likely to be an increase in allocations in new documents, there is a | |||
need for some other method to report per-hop attributes. | need for some other method to report per-hop attributes. | |||
7.2 RRO Attributes Subobject | 7.2. RRO Attributes Subobject | |||
The RRO Attributes Subobject may be carried in the RECORD_ROUTE | The RRO Attributes Subobject may be carried in the RECORD_ROUTE | |||
object if it is present. The subobject uses the standard format of | object if it is present. The subobject uses the standard format of | |||
an RRO subobject. | an RRO subobject. | |||
The length is variable as for the Attributes Flags TLV. The content | The length is variable as for the Attributes Flags TLV. The content | |||
is the same as the Attribute Flags TLV - that is, it is a series of | is the same as the Attribute Flags TLV -- that is, it is a series of | |||
bit flags. | bit flags. | |||
There is a one-to-one correspondence between bits in the Attributes | There is a one-to-one correspondence between bits in the Attributes | |||
Flags TLV and the RRO Attributes Subobject. If a bit is only required | Flags TLV and the RRO Attributes Subobject. If a bit is only | |||
in one of the two places, it is reserved in the other place. See | required in one of the two places, it is reserved in the other place. | |||
the procedures sections, below, for more information. | See the procedures sections, below, for more information. | |||
0 1 2 3 | 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 | 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 | Reserved | | | Type | Length | Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
// Attribute Flags // | // Attribute Flags // | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Type | Type | |||
0x?? TBD by IANA RRO Attribute Subobject (see section 11.6). | 0x05 | |||
Length | Length | |||
The Length contains the total length of the subobject in bytes, | The Length contains the total length of the subobject in bytes, | |||
including the Type and Length fields. This length must be a | including the Type and Length fields. This length must be a | |||
multiple of 4 and must be at least 8. | multiple of 4 and must be at least 8. | |||
Attribute Flags | Attribute Flags | |||
The attribute flags recorded for the specific hop. | The attribute flags recorded for the specific hop. | |||
7.3 Procedures | 7.3. Procedures | |||
7.3.1 Subobject Presence Rules | 7.3.1. Subobject Presence Rules | |||
As will be clear from [RFC3209], the RECORD_ROUTE object is managed | As will be clear from [RFC3209], the RECORD_ROUTE object is managed | |||
as a "stack" with each LSR adding sub-objects to the start of the | as a "stack" with each LSR adding subobjects to the start of the | |||
object. The Attributes subobject is pushed onto the RECORD_ROUTE | object. The Attributes subobject is pushed onto the RECORD_ROUTE | |||
object immediately prior to pushing the node's IP address or link | object immediately prior to pushing the node's IP address or link | |||
identifier. Thus, if label recording is being used, the Attributes | identifier. Thus, if label recording is being used, the Attributes | |||
subobject SHOULD be pushed onto the RECORD_ROUTE object after the | subobject SHOULD be pushed onto the RECORD_ROUTE object after the | |||
Record Label subobject(s). | Record Label subobject(s). | |||
A node MUST NOT push an Attributes subobject on to the RECORD_ROUTE | A node MUST NOT push an Attributes subobject on to the RECORD_ROUTE | |||
object without also pushing an IPv4, IPv6 or Unnumbered Interface ID | object without also pushing an IPv4, IPv6, or Unnumbered Interface ID | |||
subobject. | subobject. | |||
This means that an Attributes subobject is bound to the LSR | This means that an Attributes subobject is bound to the LSR | |||
identified by the subobject found in the RRO immediately before the | identified by the subobject found in the RRO immediately before the | |||
Attributes subobject. | Attributes subobject. | |||
If the new subobject causes the RRO to be too big to fit in a Path | If the new subobject causes the RRO to be too big to fit in a Path | |||
(or Resv) message, the processing MUST be as described in section | (or Resv) message, the processing MUST be as described in Section | |||
4.4.3 of [RFC3209]. | 4.4.3 of [RFC3209]. | |||
If more than one Attributes subobject is found between a pair of | If more than one Attributes subobject is found between a pair of | |||
subobjects that identify LSRs, only the first one found (that is, the | subobjects that identify LSRs, only the first one found (that is, the | |||
nearest to the top of the stack) SHALL have any meaning within the | nearest to the top of the stack) SHALL have any meaning within the | |||
context of this document. All such subobjects MUST be forwarded | context of this document. All such subobjects MUST be forwarded | |||
unmodified by transit LSRs. | unmodified by transit LSRs | |||
7.3.2 Reporting Compliance with LSP Attributes | 7.3.2. Reporting Compliance with LSP Attributes | |||
To report compliance with an attribute requested in the Attributes | To report compliance with an attribute requested in the Attributes | |||
Flags TLV, an LSR MAY set the corresponding bit (see Section 8) in | Flags TLV, an LSR MAY set the corresponding bit (see Section 8) in | |||
the Attributes subobject. To report non-compliance, an LSR MAY clear | the Attributes subobject. To report non-compliance, an LSR MAY clear | |||
the corresponding bit in the Attributes subobject. | the corresponding bit in the Attributes subobject. | |||
The requirement to report compliance MUST be specified in the | The requirement to report compliance MUST be specified in the | |||
document that defines the usage of any bit. This will reduce to a | document that defines the usage of any bit. This will reduce to a | |||
statement of whether hop-by-hop acknowledgement is required. | statement of whether hop-by-hop acknowledgement is required. | |||
7.3.3 Reporting Per-Hop Attributes | 7.3.3. Reporting Per-Hop Attributes | |||
To report a per-hop attribute, an LSR sets the appropriate bit in the | To report a per-hop attribute, an LSR sets the appropriate bit in the | |||
Attributes subobject. | Attributes subobject. | |||
The requirement to report a per-hop attribute MUST be specified in | The requirement to report a per-hop attribute MUST be specified in | |||
the document that defines the usage of the bit. | the document that defines the usage of the bit. | |||
7.3.4 Default Behavior | 7.3.4. Default Behavior | |||
By default all bits in an Attributes subobject SHOULD be set to zero. | By default, all bits in an Attributes subobject SHOULD be set to | |||
zero. | ||||
If a received Attribute subobject is not long enough to include a | If a received Attribute subobject is not long enough to include a | |||
specific numbered bit, that bit MUST be treated as though present and | specific numbered bit, that bit MUST be treated as though present and | |||
as if set to zero. | as if set to zero. | |||
If the RRO subobject is not present for a hop in the LSP, all bits | If the RRO subobject is not present for a hop in the LSP, all bits | |||
MUST be assumed to be set to zero. | MUST be assumed to be set to zero. | |||
8. Summary of Attribute Bit Allocation | 8. Summary of Attribute Bit Allocation | |||
skipping to change at line 632 | skipping to change at page 14, line 18 | |||
9. Message Formats | 9. Message Formats | |||
The LSP_ATTRIBUTES object and the LSP_REQUIRED_ATTRIBUTES object MAY | The LSP_ATTRIBUTES object and the LSP_REQUIRED_ATTRIBUTES object MAY | |||
be carried in a Path message. The LSP_ATTRIBUTES object MAY be | be carried in a Path message. The LSP_ATTRIBUTES object MAY be | |||
carried in a Resv message. | carried in a Resv message. | |||
The order of objects in RSVP-TE messages is recommended, but | The order of objects in RSVP-TE messages is recommended, but | |||
implementations must be capable of receiving the objects in any | implementations must be capable of receiving the objects in any | |||
meaningful order. | meaningful order. | |||
On a Path message, the LSP_ATTRIBUTES object and LSP_REQUIRED_ | On a Path message, the LSP_ATTRIBUTES object and | |||
ATTRIBUTES objects are RECOMMENDED to be placed immediately after the | LSP_REQUIRED_ATTRIBUTES objects are RECOMMENDED to be placed | |||
SESSION_ATTRIBUTE object if it is present, or otherwise immediately | immediately after the SESSION_ATTRIBUTE object if it is present, or | |||
after the LABEL_REQUEST object. | otherwise immediately after the LABEL_REQUEST object. | |||
If both the LSP_ATTRIBUTES object and the LSP_REQUIRED_ATTRIBUTES | If both the LSP_ATTRIBUTES object and the LSP_REQUIRED_ATTRIBUTES | |||
object are present, the LSP_REQUIRED_ATTRIBUTES object is RECOMMENDED | object are present, the LSP_REQUIRED_ATTRIBUTES object is RECOMMENDED | |||
to be placed first. | to be placed first. | |||
LSRs MUST be prepared to receive these objects in any order in any | LSRs MUST be prepared to receive these objects in any order in any | |||
position within a Path message. Subsequent instances of these objects | position within a Path message. Subsequent instances of these | |||
within a Path message SHOULD be ignored and those objects MUST be | objects within a Path message SHOULD be ignored and those objects | |||
forwarded unchanged. | MUST be forwarded unchanged. | |||
On a Resv message, the LSP_ATTRIBUTES object is placed in the flow | On a Resv message, the LSP_ATTRIBUTES object is placed in the flow | |||
descriptor and is associated with the FILTER_SPEC object that | descriptor and is associated with the FILTER_SPEC object that | |||
precedes it. It is RECOMMENDED that the LSP_ATTRIBUTES object be | precedes it. It is RECOMMENDED that the LSP_ATTRIBUTES object be | |||
placed immediately after the LABEL object. | placed immediately after the LABEL object. | |||
LSRs MUST be prepared to receive this object in any order in any | LSRs MUST be prepared to receive this object in any order in any | |||
position within a Resv message subject to the previous note. Only | position within a Resv message subject to the previous note. Only | |||
one instance of the LSP_ATTRIBUTES object is meaningful within the | one instance of the LSP_ATTRIBUTES object is meaningful within the | |||
context of a FILTER_SPEC object. Subsequent instances of the object | context of a FILTER_SPEC object. Subsequent instances of the object | |||
SHOULD be ignored and MUST be forwarded unchanged. | SHOULD be ignored and MUST be forwarded unchanged. | |||
10. Guidance for Key Application Scenarios | 10. Guidance for Key Application Scenarios | |||
As described in the Introduction section of this document, it may be | As described in the Introduction section of this document, it may be | |||
that requested LSP attributes need to be acted on by only the egress | that requested LSP attributes need to be acted on by only the egress | |||
LSR of the LSP, by certain key transit points (such as ABRs and | LSR of the LSP, by certain key transit points (such as ABRs and | |||
ASBRs) or by all LSRs along the LSP. This section briefly describes | ASBRs), or by all LSRs along the LSP. This section briefly describes | |||
how each of these scenarios is met. This section is informational and | how each of these scenarios is met. This section is informational | |||
does not define any new procedures. | and does not define any new procedures. | |||
10.1. Communicating to Egress LSRs | 10.1. Communicating to Egress LSRs | |||
When communicating LSP attributes that must be acted on only by the | When communicating LSP attributes that must be acted on only by the | |||
LSP egress LSR, the attributes should be communicated in the | LSP egress LSR, the attributes should be communicated in the | |||
LSP_ATTRIBUTES object. Because of its C-Num, this object may be | LSP_ATTRIBUTES object. Because of its C-Num, this object may be | |||
ignored (passed onwards, untouched) by transit LSRs that do not | ignored (passed onwards, untouched) by transit LSRs that do not | |||
understand it. This means that the Path message will not be rejected | understand it. This means that the Path message will not be rejected | |||
by LSRs that do not understand the object. In this way, the requested | by LSRs that do not understand the object. In this way, the | |||
LSP attributes are guaranteed to reach the egress LSR. | requested LSP attributes are guaranteed to reach the egress LSR. | |||
Attributes are set within the LSP_ATTRIBUTES object according to | Attributes are set within the LSP_ATTRIBUTES object according to | |||
which LSP attributes are required. Each attribute is defined in some | which LSP attributes are required. Each attribute is defined in some | |||
RFC and is accompanied by a statement of what the expected behavior | RFC and is accompanied by a statement of what the expected behavior | |||
is. This behavior will include whether the attribute must be acted on | is. This behavior will include whether the attribute must be acted | |||
by any LSR that recognises it, or specifically by the egress LSR. | on by any LSR that recognizes it, or specifically by the egress LSR. | |||
Thus any attribute that must be acted on only by an egress LSR will | Thus, any attribute that must be acted on only by an egress LSR will | |||
be defined in this way - any transit LSR seeing this attribute will | be defined in this way -- any transit LSR seeing this attribute | |||
either understand the semantics of the attribute and ignore it | either will understand the semantics of the attribute and ignore it | |||
(forwarding it, unchanged), or will not understand the attribute and | (forwarding it, unchanged) or will not understand the attribute and | |||
will ignore it (forwarding it, unchanged) according to the rules of | ignore it (forwarding it, unchanged) according to the rules of the | |||
the LSP_ATTRIBUTES object. | LSP_ATTRIBUTES object. | |||
The remaining issue is how the ingress LSR can know whether the | The remaining issue is how the ingress LSR can know whether the | |||
egress LSR has acted correctly on the required LSP attribute. Another | egress LSR has acted correctly on the required LSP attribute. | |||
part of the definition of the attribute (in the defining RFC) is | Another part of the definition of the attribute (in the defining RFC) | |||
whether reporting is required. If reporting is required, the egress | is whether reporting is required. If reporting is required, the | |||
LSR is required to use the RRO Attributes subobject to report whether | egress LSR is required to use the RRO Attributes subobject to report | |||
it has acted on the received attribute. | whether it has acted on the received attribute. | |||
If an egress LSR understands a received attribute as mandatory for an | If an egress LSR understands a received attribute as mandatory for an | |||
egress LSR, but does not wish to satisfy the request, it will reject | egress LSR, but does not wish to satisfy the request, it will reject | |||
the Path message. If an egress LSR understands the attribute, but | the Path message. If an egress LSR understands the attribute, but | |||
believes it to be optional and does not wish to satisfy the request, | believes it to be optional and does not wish to satisfy the request, | |||
it will report its non-compliance in the RRO Attributes subobject. If | it will report its non-compliance in the RRO Attributes subobject. | |||
the egress LSR does not understand the received attribute, it may | If the egress LSR does not understand the received attribute, it may | |||
report non-compliance in the RRO Attributes subobject explicitly, or | report non-compliance in the RRO Attributes subobject explicitly, or | |||
may omit the RRO Attributes subobject implying that it has not | may omit the RRO Attributes subobject implying that it has not | |||
satisfied the request. | satisfied the request. | |||
10.2. Communicating to Key Transit LSRs | 10.2. Communicating to Key Transit LSRs | |||
Processing for key transit LSRs (such as ABRs and ASBRs) follows | Processing for key transit LSRs (such as ABRs and ASBRs) follows | |||
exactly as for egress LSR. The only difference is that the definition | exactly as for egress LSR. The only difference is that the | |||
of the LSP attribute in the defining RFC will state that the | definition of the LSP attribute in the defining RFC will state that | |||
attribute must be acted on by these transit LSRs. | the attribute must be acted on by these transit LSRs. | |||
10.3. Communicating to All LSRs | 10.3. Communicating to All LSRs | |||
In order to force all LSRs to examine the LSP attributes, the | In order to force all LSRs to examine the LSP attributes, the | |||
LSP_REQUIRED_ATTRIBUTES object is used. The C-Num of this object is | LSP_REQUIRED_ATTRIBUTES object is used. The C-Num of this object is | |||
such that any LSR that does not recognise the object must reject a | such that any LSR that does not recognize the object must reject a | |||
received Path message containing the object. | received Path message containing the object. | |||
An LSR that recognises the LSP_REQUIRED_ATTRIBUTES object, but that | An LSR that recognizes the LSP_REQUIRED_ATTRIBUTES object, but does | |||
does not recognize an attributes will reject the Path message. | not recognize an attribute, will reject the Path message. | |||
An LSR that recognizes an attribute, but which does not wish to | An LSR that recognizes an attribute, but does not wish to support the | |||
support the attribute reacts according to the definition of the | attribute, reacts according to the definition of the attribute in the | |||
attribute in the defining RFC. This may allow the LSR to ignore the | defining RFC. This may allow the LSR to ignore the attribute and | |||
attribute and forward it unchanged, or may require it to fail the LSP | forward it unchanged, or may require it to fail the LSP setup. The | |||
setup. The LSR may additionally be required to report whether it | LSR may additionally be required to report whether it supports the | |||
supports the attribute using the RRO Attributes subobject. | attribute using the RRO Attributes subobject. | |||
11. IANA Considerations | 11. IANA Considerations | |||
11.1 New RSVP C-Nums and C-Types | 11.1. New RSVP C-Nums and C-Types | |||
Two new RSVP C-Nums are defined in this document and should be | Two new RSVP C-Nums are defined in this document and have been | |||
assigned by IANA. | assigned by IANA. | |||
o LSP_ATTRIBUTES object | o LSP_ATTRIBUTES object | |||
The C-Num should be of the form 11bbbbbb so that LSRs that do not | The C-Num (value 197) is of the form 11bbbbbb so that LSRs that do | |||
recognize the object will ignore the object but forward it, | not recognize the object will ignore the object but forward it, | |||
unexamined and unmodified, in all messages resulting from this | unexamined and unmodified, in all messages resulting from this | |||
message. | message. | |||
One C-Type is defined for this object and should be assigned by | One C-Type is defined for this object and has been assigned by | |||
IANA. | IANA. | |||
o LSP Attributes TLVs | o LSP Attributes TLVs | |||
Recommended C-Type value 1. | Recommended C-Type value 1. | |||
o LSP_REQUIRED_ATTRIBUTES object | o LSP_REQUIRED_ATTRIBUTES object | |||
The C-Num should be of the form 0bbbbbbb so that LSRs that do not | The C-Num (value 67) is of the form 0bbbbbbb so that LSRs that do | |||
recognize the object will reject the message that carries it with | not recognize the object will reject the message that carries it | |||
an "Unknown Object Class" error. | with an "Unknown Object Class" error. | |||
One C-Type is defined for this object and should be assigned by | One C-Type is defined for this object and has been assigned by | |||
IANA. | IANA. | |||
o LSP Required Attributes TLVs | o LSP Required Attributes TLVs | |||
Recommended C-Type value 1. | Recommended C-Type value 1. | |||
11.2 New TLV Space | 11.2. New TLV Space | |||
The two new objects referenced above are constructed from TLVs. Each | The two new objects referenced above are constructed from TLVs. Each | |||
TLV includes a 16-bit type identifier (the T-field). The same T-field | TLV includes a 16-bit type identifier (the T-field). The same | |||
values are applicable to both objects. | T-field values are applicable to both objects. | |||
IANA is requested to manage TLV type identifiers as follows: | The IANA has created a new registry and will manage TLV type | |||
identifiers as follows: | ||||
- TLV Type (T-field value) | - TLV Type (T-field value) | |||
- TLV Name | - TLV Name | |||
- Whether allowed on LSP_ATTRIBUTES object | - Whether allowed on LSP_ATTRIBUTES object | |||
- Whether allowed on LSP_REQUIRED_ATTRIBUTES object. | - Whether allowed on LSP_REQUIRED_ATTRIBUTES object. | |||
This document defines one TLV type as follows: | This document defines one TLV type as follows: | |||
- TLV Type = 1 | - TLV Type = 1 | |||
- TLV Name = Attributes Flags TLV | - TLV Name = Attributes Flags TLV | |||
- allowed on LSP_ATTRIBUTES object | - allowed on LSP_ATTRIBUTES object | |||
- allowed on LSP_REQUIRED_ATTRIBUTES object. | - allowed on LSP_REQUIRED_ATTRIBUTES object. | |||
New TLV type values may be allocated only by an IETF Consensus | New TLV type values may be allocated only by an IETF Consensus | |||
action. | action. | |||
11.3 Attributes Flags | 11.3. Attributes Flags | |||
This document provides new attributes bit flags for use in other | This document provides new attributes bit flags for use in other | |||
documents that specify new RSVP-TE attributes. These flags are | documents that specify new RSVP-TE attributes. These flags are | |||
present in the Attributes Flags TLV referenced in the previous | present in the Attributes Flags TLV referenced in the previous | |||
section. | section. | |||
IANA is requested to manage the space of attributes bit flags | The IANA has created a new registry and will manage the space of | |||
numbering them in the usual IETF notation starting at zero and | attributes bit flags numbering them in the usual IETF notation | |||
continuing at least through 31. | starting at zero and continuing at least through 31. | |||
New bit numbers may be allocated only by an IETF Consensus action. | New bit numbers may be allocated only by an IETF Consensus action. | |||
Each bit should be tracked with the following qualities: | Each bit should be tracked with the following qualities: | |||
- Bit number | - Bit number | |||
- Defining RFC | - Defining RFC | |||
- Name of bit | - Name of bit | |||
- Whether there is meaning in the Attribute Flags TLV on a Path | - Whether there is meaning in the Attribute Flags TLV on a Path | |||
- Whether there is meaning in the Attribute Flags TLV on a Resv | - Whether there is meaning in the Attribute Flags TLV on a Resv | |||
- Whether there is meaning in the RRO Attributes Subobject. | - Whether there is meaning in the RRO Attributes Subobject. | |||
Note that this means that all bits in the Attribute Flags TLV and the | Note that this means that all bits in the Attribute Flags TLV and the | |||
RRO Attributes Subobject use the same bit number regardless of | RRO Attributes Subobject use the same bit number regardless of | |||
whether they are used in one or both places. Thus, only one list of | whether they are used in one or both places. Thus, only one list of | |||
skipping to change at line 810 | skipping to change at page 18, line 10 | |||
- Defining RFC | - Defining RFC | |||
- Name of bit | - Name of bit | |||
- Whether there is meaning in the Attribute Flags TLV on a Path | - Whether there is meaning in the Attribute Flags TLV on a Path | |||
- Whether there is meaning in the Attribute Flags TLV on a Resv | - Whether there is meaning in the Attribute Flags TLV on a Resv | |||
- Whether there is meaning in the RRO Attributes Subobject. | - Whether there is meaning in the RRO Attributes Subobject. | |||
Note that this means that all bits in the Attribute Flags TLV and the | Note that this means that all bits in the Attribute Flags TLV and the | |||
RRO Attributes Subobject use the same bit number regardless of | RRO Attributes Subobject use the same bit number regardless of | |||
whether they are used in one or both places. Thus, only one list of | whether they are used in one or both places. Thus, only one list of | |||
bits is required to be maintained. (It would be meaningless in the | bits is required to be maintained. (It would be meaningless in the | |||
context of this document for a bit to have no meaning in neither the | context of this document for a bit to have no meaning in either the | |||
Attribute Flags TLV nor the RRO Attributes Subobject.) | Attribute Flags TLV or the RRO Attributes Subobject.) | |||
11.4 SESSION_ATTRIBUTE Flags Field | ||||
This document does not make any alterations to the definition of the | ||||
existing SESSION_ATTRIBUTE object nor to the definition of meanings | ||||
assigned to the flags in the Flags field of that object. These flags | ||||
are assigned meanings in various other RFCs and Internet Drafts. | ||||
It is suggested that IANA manage the allocation of meaning to the | ||||
bits in the Flags field of the SESSION_ATTRIBUTE object to prevent | ||||
accidental double allocation of any one bit. | ||||
It is suggested that new SESSION_ATTRIBUTE Flags be allocated only by | ||||
an IETF Consensus action. | ||||
11.5 New Error Codes | 11.4. New Error Codes | |||
This document defines the following new error codes and error values. | This document defines the following new Error Codes and Error Values. | |||
Numeric values should be assigned by IANA. | Numeric values have been assigned by IANA. | |||
Error Code Error Value | Error Code Error Value | |||
"Unknown Attributes TLV" Identifies the unknown TLV type code. | 29 "Unknown Attributes TLV" Identifies the unknown TLV type code. | |||
"Unknown Attributes Bit" Identifies the unknown Attribute Bit. | 30 "Unknown Attributes Bit" Identifies the unknown Attribute Bit. | |||
11.6 New Record Route Subobject Identifier | 11.5. New Record Route Subobject Identifier | |||
A new subobject is defined for inclusion in the RECORD_ROUTE object. | A new subobject is defined for inclusion in the RECORD_ROUTE object. | |||
The RRO Attributes subobject is identified by a Type value of TBD. | The RRO Attributes subobject is identified by a Type value of 5. | |||
12. Security Considerations | 12. Security Considerations | |||
This document adds two new objects to the RSVP Path message as used | This document adds two new objects to the RSVP Path message as used | |||
in MPLS and GMPLS signaling, and a new subobject to the RECORD_ROUTE | in MPLS and GMPLS signaling, and a new subobject to the RECORD_ROUTE | |||
object carried on may RSVP messages. It does not introduce any new | object carried on many RSVP messages. It does not introduce any new | |||
direct security issues and the reader is referred to the security | direct security issues, and the reader is referred to the security | |||
considerations expressed in [RFC2205], [RFC3209] and [RFC3473]. | considerations expressed in [RFC2205], [RFC3209], and [RFC3473]. | |||
It is of passing note that any signaling request that indicates the | It is of passing note that any signaling request that indicates the | |||
functional preferences or attributes of an MPLS LSP may provide | functional preferences or attributes of an MPLS LSP may provide | |||
anyone with unauthorized access to the contents of the message with | anyone with unauthorized access to the contents of the message with | |||
information about the LSP that an administrator may wish to keep | information about the LSP that an administrator may wish to keep | |||
secret. Although this document adds new objects for signaling desired | secret. Although this document adds new objects for signaling | |||
LSP attributes, it does not contribute to this issue which can | desired LSP attributes, it does not contribute to this issue, which | |||
only be satisfactorily handled by encrypting the content of the | can only be satisfactorily handled by encrypting the content of the | |||
signaling message. | signaling message. | |||
Similarly, the addition of attribute recording information to the | Similarly, the addition of attribute recording information to the RRO | |||
RRO may reveal information about the status of the LSP and the | may reveal information about the status of the LSP and the | |||
capabilities of individual LSRs that operators wish to keep secret. | capabilities of individual LSRs that operators wish to keep secret. | |||
The same strategy that applies to other RRO subobjects also applies | The same strategy that applies to other RRO subobjects also applies | |||
here. Note, however, that there is a tension between notifying the | here. Note, however, that there is a tension between notifying the | |||
head end of the LSP status at transit LSRs, and hiding the existence | head end of the LSP status at transit LSRs, and hiding the existence | |||
or identity of the transit LSRs. | or identity of the transit LSRs. | |||
13. Acknowledgements | 13. Acknowledgements | |||
Credit to the OSPF Working Group for inspiration from their solution | Credit to the OSPF Working Group for inspiration from their solution | |||
to a similar problem. Thanks to Rahul Aggarwal for his careful review | to a similar problem. Thanks to Rahul Aggarwal for his careful | |||
and support of this work. Thanks also to Raymond Zhang, Kireeti | review and support of this work. Thanks also to Raymond Zhang, | |||
Kompella, Philip Matthews, Jim Gibson and Alan Kullberg for their | Kireeti Kompella, Philip Matthews, Jim Gibson, and Alan Kullberg for | |||
input. As so often, thanks to John Drake for useful offline | their input. As so often, thanks to John Drake for useful offline | |||
discussions. Thanks to Mike Shand for providing the Routing | discussions. Thanks to Mike Shand for providing the Routing | |||
Directorate review and to Joel Halpern for the General Area review - | Directorate review and to Joel Halpern for the General Area review -- | |||
both picked up on some unclarities. | both picked up on some unclarities. | |||
14. Intellectual Property Consideration | 14. Normative References | |||
The IETF takes no position regarding the validity or scope of any | ||||
Intellectual Property Rights or other rights that might be claimed to | ||||
pertain to the implementation or use of the technology described in | ||||
this document or the extent to which any license under such rights | ||||
might or might not be available; nor does it represent that it has | ||||
made any independent effort to identify any such rights. Information | ||||
on the procedures with respect to rights in RFC documents can be | ||||
found in BCP 78 and BCP 79. | ||||
Copies of IPR disclosures made to the IETF Secretariat and any | ||||
assurances of licenses to be made available, or the result of an | ||||
attempt made to obtain a general license or permission for the use of | ||||
such proprietary rights by implementers or users of this | ||||
specification can be obtained from the IETF on-line IPR repository at | ||||
http://www.ietf.org/ipr. | ||||
The IETF invites any interested party to bring to its attention any | ||||
copyrights, patents or patent applications, or other proprietary | ||||
rights that may cover technology that may be required to implement | ||||
this standard. Please address the information to the IETF at ietf- | ||||
ipr@ietf.org. | ||||
15. Normative References | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[RFC2205] Braden, R. (Ed.), Zhang, L., Berson, S., Herzog, S. | [RFC2205] Braden, R. (Ed.), Zhang, L., Berson, S., Herzog, S., and | |||
and S. Jamin, "Resource ReserVation Protocol -- | S. Jamin, "Resource ReSerVation Protocol (RSVP) -- | |||
Version 1 Functional Specification", RFC 2205, | Version 1 Functional Specification", RFC 2205, September | |||
September 1997. | 1997. | |||
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., | ||||
Srinivasan, V. and G. Swallow, "RSVP-TE: Extensions | ||||
to RSVP for LSP Tunnels", RFC 3209, December 2001. | ||||
[RFC3471] Berger, L. (Editor), "Generalized Multi-Protocol Label | [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., | |||
Switching (GMPLS) Signaling Functional Description", | and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP | |||
RFC 3471, January 2003. | Tunnels", RFC 3209, December 2001. | |||
[RFC3473] Berger, L. (Editor), "Generalized MPLS Signaling - | [RFC3471] Berger, L. (Ed.), "Generalized Multi-Protocol Label | |||
RSVP-TE Extensions", RFC 3473 January 2003. | Switching (GMPLS) Signaling Functional Description", RFC | |||
3471, January 2003. | ||||
16. Informative References | [RFC3473] Berger, L. (Ed.), "Generalized Multi-Protocol Label | |||
Switching (GMPLS) Signaling Resource ReserVation | ||||
Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC | ||||
3473, January 2003. | ||||
[RFC2026] Bradner, S., "The Internet Standards Process | 15. Informative References | |||
-- Revision 3", RFC 2026, October 1996. | ||||
[RFC3031] Rosen, E., Viswanathan, A., and Callon, R., | [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol | |||
"Multiprotocol Label Switching | Label Switching Architecture", RFC 3031, January 2001. | |||
Architecture", RFC 3031, January 2001. | ||||
[FRR] Pan, P. (Ed.), "Fast Reroute Extensions to RSVP-TE for | [RFC4090] Pan, P., Swallow, G., and A. Atlas, "Fast Reroute | |||
LSP Tunnels", draft-ietf-mpls-rsvp-lsp-fastreroute, | Extensions to RSVP-TE for LSP Tunnels", RFC 4090, May | |||
work in progress. | 2005. | |||
[MPLS-HIER] Kompella, K. and Y. Rekhter, "LSP Hierarchy with | [RFC4206] Kompella, K. and Y. Rekhter, "Label Switched Paths (LSP) | |||
MPLS TE", draft-ietf-mpls-lsp-hierarchy, work in | Hierarchy with Generalized Multi-Protocol Label Switching | |||
progress. | (GMPLS) Traffic Engineering (TE)", RFC 4206, October | |||
2005. | ||||
17. Authors' Addresses | Authors' Addresses | |||
Adrian Farrel | Adrian Farrel | |||
Old Dog Consulting | Old Dog Consulting | |||
Phone: +44 (0) 1978 860944 | Phone: +44 (0) 1978 860944 | |||
EMail: adrian@olddog.co.uk | EMail: adrian@olddog.co.uk | |||
Dimitri Papadimitriou (Alcatel) | Dimitri Papadimitriou | |||
Alcatel | ||||
Fr. Wellesplein 1, | Fr. Wellesplein 1, | |||
B-2018 Antwerpen, Belgium | B-2018 Antwerpen, Belgium | |||
Phone: +32 3 240-8491 | Phone: +32 3 240-8491 | |||
EMail: dimitri.papadimitriou@alcatel.be | EMail: dimitri.papadimitriou@alcatel.be | |||
Jean Philippe Vasseur | Jean Philippe Vasseur | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
300 Beaver Brook Road | 1414 Massachusetts Avenue | |||
Boxborough , MA - 01719 | Boxborough , MA - 01719 | |||
USA | USA | |||
EMail: jpv@cisco.com | EMail: jpv@cisco.com | |||
Arthi Ayyangar | Arthi Ayyangar | |||
Juniper Networks, Inc. | Juniper Networks, Inc. | |||
1194 N.Mathilda Ave | 1194 N.Mathilda Ave | |||
Sunnyvale, CA 94089 | Sunnyvale, CA 94089 | |||
USA | USA | |||
EMail: arthi@juniper.net | EMail: arthi@juniper.net | |||
18. Disclaimer of Validity | Full Copyright Statement | |||
Copyright (C) The Internet Society (2006). | ||||
This document is subject to the rights, licenses and restrictions | ||||
contained in BCP 78, and except as set forth therein, the authors | ||||
retain all their rights. | ||||
This document and the information contained herein are provided on an | This document and the information contained herein are provided on an | |||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | |||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | |||
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | |||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | |||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | |||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | |||
19. Full Copyright Statement | Intellectual Property | |||
Copyright (C) The Internet Society (2005). This document is subject | The IETF takes no position regarding the validity or scope of any | |||
to the rights, licenses and restrictions contained in BCP 78, and | Intellectual Property Rights or other rights that might be claimed to | |||
except as set forth therein, the authors retain all their rights. | pertain to the implementation or use of the technology described in | |||
this document or the extent to which any license under such rights | ||||
might or might not be available; nor does it represent that it has | ||||
made any independent effort to identify any such rights. Information | ||||
on the procedures with respect to rights in RFC documents can be | ||||
found in BCP 78 and BCP 79. | ||||
Copies of IPR disclosures made to the IETF Secretariat and any | ||||
assurances of licenses to be made available, or the result of an | ||||
attempt made to obtain a general license or permission for the use of | ||||
such proprietary rights by implementers or users of this | ||||
specification can be obtained from the IETF on-line IPR repository at | ||||
http://www.ietf.org/ipr. | ||||
The IETF invites any interested party to bring to its attention any | ||||
copyrights, patents or patent applications, or other proprietary | ||||
rights that may cover technology that may be required to implement | ||||
this standard. Please address the information to the IETF at | ||||
ietf-ipr@ietf.org. | ||||
Acknowledgement | ||||
Funding for the RFC Editor function is provided by the IETF | ||||
Administrative Support Activity (IASA). | ||||
End of changes. 143 change blocks. | ||||
377 lines changed or deleted | 341 lines changed or added | |||
This html diff was produced by rfcdiff 1.29, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |