draft-ietf-mpls-ldp-typed-wildcard-05.txt   draft-ietf-mpls-ldp-typed-wildcard-06.txt 
MPLS Working Group Rajiv Asati MPLS Working Group Rajiv Asati
Internet Draft Cisco Systems Internet Draft Cisco Systems
Intended status: Standards Track Intended status: Standards Track
Expires: July 2010 Ina Minei Expires: July 2010 Ina Minei
Juniper Networks Juniper Networks
Bob Thomas Bob Thomas
January 25, 2010 February 24, 2010
LDP Typed Wildcard FEC LDP Typed Wildcard FEC
draft-ietf-mpls-ldp-typed-wildcard-05.txt draft-ietf-mpls-ldp-typed-wildcard-06.txt
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with This Internet-Draft is submitted to IETF in full conformance with
the provisions of BCP 78 and BCP 79. the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 36 skipping to change at page 1, line 36
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress." reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
This Internet-Draft will expire on July 25, 2010. This Internet-Draft will expire on July 24, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 21 skipping to change at page 2, line 21
Abstract Abstract
The Label Distribution Protocol (LDP) specification for the Wildcard The Label Distribution Protocol (LDP) specification for the Wildcard
FEC element has several limitations. This document addresses those FEC element has several limitations. This document addresses those
limitations by defining a Typed Wildcard FEC element and associated limitations by defining a Typed Wildcard FEC element and associated
procedures. In addition, it defines a new LDP capability to address procedures. In addition, it defines a new LDP capability to address
backward compatibility. backward compatibility.
Table of Contents Table of Contents
1. Introduction...................................................2 1. Introduction...................................................3
2. Specification Language.........................................3 2. Specification Language.........................................4
3. The Typed Wildcard FEC Element.................................4 3. The Typed Wildcard FEC Element.................................4
4. Procedures for the Typed Wildcard FEC Element..................5 4. Procedures for the Typed Wildcard FEC Element..................5
5. Typed Wildcard FEC Capability..................................6 5. Typed Wildcard FEC Capability..................................6
6. Typed Wildcard FEC Element for Prefix FEC Element..............7 6. Typed Wildcard FEC Element for Prefix FEC Element..............7
7. Typed Wildcard FEC Element for Host and Wildcard FEC Elements..8 7. Typed Wildcard FEC Element for Host and Wildcard FEC Elements..8
8. IANA Considerations............................................8 8. IANA Considerations............................................8
9. Security Considerations........................................9 9. Security Considerations........................................9
10. Acknowledgments...............................................9 10. Acknowledgments...............................................9
11. References...................................................10 11. References...................................................10
11.1. Normative References....................................10 11.1. Normative References....................................10
skipping to change at page 3, line 20 skipping to change at page 3, line 25
As specified by RFC5036, the Wildcard FEC Element refers to all FECs As specified by RFC5036, the Wildcard FEC Element refers to all FECs
relative to an optional constraint. The only constraint RFC5036 relative to an optional constraint. The only constraint RFC5036
specifies is one that limits the scope of the Wildcard FEC Element specifies is one that limits the scope of the Wildcard FEC Element
to "all FECs bound to a given label". to "all FECs bound to a given label".
The RFC5036 specification of the Wildcard FEC Element has the The RFC5036 specification of the Wildcard FEC Element has the
following deficiencies which limit its utility: following deficiencies which limit its utility:
1) The Wildcard FEC Element is untyped. There are situations where 1) The Wildcard FEC Element is untyped. There are situations where
it would be useful to be able to refer to all FECs of a given it would be useful to be able to refer to all FECs of a given
type. type (as another constraint).
2) Use of the Wildcard FEC Element is limited to Label Withdraw and 2) Use of the Wildcard FEC Element is limited to Label Withdraw and
Label Release messages only. There are situations where it would Label Release messages only. There are situations where it would
be useful in Label Request messages. be useful to have Wildcard FEC Element, with type constraint, in
Label Request messages.
This document: This document:
- Addresses the above limitations by defining a Typed Wildcard - Addresses the above limitations by defining a Typed Wildcard
FEC Element and procedures for its use. FEC Element and procedures for its use.
- Specifies use of the LDP capability mechanism [RFC5561] at - Specifies use of the LDP capability mechanism [RFC5561] at
session establishment time for informing a peer that an LDP session establishment time for informing a peer that an LDP
speaker is capable of handling the Typed Wildcast FEC. speaker is capable of handling the Typed Wildcast FEC.
- Specifies use of Typed Wildcard FEC Element in Label Request
message.
- Specifies the Typed Wildcard FEC Element for the Prefix FEC - Specifies the Typed Wildcard FEC Element for the Prefix FEC
Element specified by RFC5036. Element specified by RFC5036.
Note that this document does not change procedures specified for the Note that this document does not change procedures specified for the
LDP Wildcard FEC Element by RFC5036. LDP Wildcard FEC Element by RFC5036.
2. Specification Language 2. Specification Language
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
skipping to change at page 4, line 4 skipping to change at page 4, line 12
Note that this document does not change procedures specified for the Note that this document does not change procedures specified for the
LDP Wildcard FEC Element by RFC5036. LDP Wildcard FEC Element by RFC5036.
2. Specification Language 2. Specification Language
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 [RFC2119]. document are to be interpreted as described in [RFC2119].
LDP - Label Distribution Protocol LDP - Label Distribution Protocol
FEC - Forwarding Equivalence Class FEC - Forwarding Equivalence Class
TLV - Type Lenth Value TLV - Type Length Value
LSR - Label Switch Router LSR - Label Switch Router
3. The Typed Wildcard FEC Element 3. The Typed Wildcard FEC Element
The Typed Wildcard FEC Element refers to all FECs of a given type The Typed Wildcard FEC Element refers to all FECs of the specified
relative to an optional constraint. The constraint, if present, is type that meet the constraint. It specifies a 'FEC Element Type' and
determined from the context in which the Typed Wildcard FEC Element an optional constraint, which is intended to provide additional
appears. information.
The format of the Typed Wildcard FEC Element is: The format of the Typed Wildcard FEC Element is:
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 2 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 2
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Typed (IANA) | FEC Element | Len FEC Type | | | Typed (IANA) | FEC Element | Len FEC Type | |
| Wildcard | Type | Info | | | Wildcard | Type | Info | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | | |
~ Additional FEC Type-specific Information ~ ~ Additional FEC Type-specific Information ~
| | | (Optional) |
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1 Typed Wildcard FEC Element Figure 1 Typed Wildcard FEC Element
where: where:
Typed Wildcard: One octet FEC Element Type (to be assigned by Typed Wildcard : One octet FEC Element Type (to be assigned
IANA). by IANA).
FEC Element Type: One octet FEC Element Type that specifies the
FEC Element Type to be wildcarded. It is defined in section 3.4.1
of RFC5036.
Len FEC Type Info: One octet that specifies the length in octets FEC Element Type : One octet FEC Element Type that specifies
of the FEC Type Specific information field. It MUST be set to 0 if the FEC Element Type to be wildcarded. Please see section 3.4.1 of
there is no Additional FEC Type-specific Information. RFC5036.
Additional FEC Type-specific Information: Additional information Any (future) document specifying new FEC Element Type (not
specific to the FEC Element Type required to fully specify the defined in RFC5630) should prescribe whether typed wildcarding
Typed Wildcard. is needed for that FEC Element Type.
It is the responsibility of the designer of the FEC Element Type Len FEC Type Info : One octet that specifies the length in
to specify the length and format of any Additional FEC Type octets of the FEC Type Specific information field. It MUST be set
Specific Information. to 0 if there is no Additional FEC Type-specific Information.
This document specifies one FEC Element Type instance for the 'Typed Additional FEC Type-specific Information: (Optional) Additional
Wildcard FEC Element' in section 6. information specific to the FEC Element Type required to fully
specify the Typed Wildcard. If this field is absent, then all FECs
of the specified FEC Type would be matched.
4. Procedures for the Typed Wildcard FEC Element Any (future) document specifying Typed wildcarding for any FEC
Element Type should also specify the length and format of
Additional FEC Type Specific Information, if included.
It is the responsibility of the designer of the FEC Element Type to This document specifies one FEC Element Type instance (e.g. Prefix
determine whether typed wildcarding makes sense for the FEC Element FEC) for the 'Typed Wildcard FEC Element' in section 6.
Type. If typed wildcarding does make sense, then the specification
for the FEC Element Type MUST include support for it.
When typed wildcarding is supported for a FEC Element Type, it is 4. Procedures for the Typed Wildcard FEC Element
the responsibility of the designer to specify the length and format
of any Additional FEC Type Specific Information.
When a FEC TLV contains a Typed Wildcard FEC Element, the Typed When a FEC TLV contains a Typed Wildcard FEC Element, the Typed
Wildcard FEC Element MUST be the only FEC Element in the TLV. If an Wildcard FEC Element MUST be the only FEC Element in the TLV. If an
LDP speaker receives a FEC TLV containing Typed Wildcard FEC Element LDP speaker receives a FEC TLV containing Typed Wildcard FEC Element
and any other FEC Elements, then the LDP speaker should ignore the and any other FEC Elements, then the LDP speaker should ignore the
other FEC Elements and continue processing as if the message had other FEC Elements and continue processing as if the message had
contained only the Typed Wildcard FEC Element. contained only the Typed Wildcard FEC Element.
An LDP implementation that supports the Typed Wildcard FEC Element An LDP implementation that supports the Typed Wildcard FEC Element
MUST support its use in Label Request, Label Withdraw and Label MUST support its use in Label Request, Label Withdraw and Label
skipping to change at page 6, line 29 skipping to change at page 6, line 32
Wildcard FEC element is ensured by the FEC procedures defined in Wildcard FEC element is ensured by the FEC procedures defined in
RFC5036. Quoting from RFC5036: RFC5036. Quoting from RFC5036:
"If it" [an LSR] "encounters a FEC Element type it cannot decode, "If it" [an LSR] "encounters a FEC Element type it cannot decode,
it SHOULD stop decoding the FEC TLV, abort processing the message it SHOULD stop decoding the FEC TLV, abort processing the message
containing the TLV, and send an "Unknown FEC" Notification message containing the TLV, and send an "Unknown FEC" Notification message
to its LDP peer signaling an error." to its LDP peer signaling an error."
A router receiving a FEC TLV containing a Typed Wildcard FEC element A router receiving a FEC TLV containing a Typed Wildcard FEC element
for a FEC Element Type that it either doesn't support or for a FEC for a FEC Element Type that it either doesn't support or for a FEC
Element Type that doesn't support the use of wildcarding MUST stop Element Type that doesn't support the use of wildcarding, MUST stop
decoding the FEC TLV, abort processing the message containing the decoding the FEC TLV, abort processing the message containing the
TLV, and send an "Unknown FEC" Notification message to its LDP peer TLV, and send an "Unknown FEC" Notification message to its LDP peer
signaling an error. signaling an error.
5. Typed Wildcard FEC Capability 5. Typed Wildcard FEC Capability
As noted above, RFC5056 FEC procedures provide for backward As noted above, RFC5056 FEC procedures provide for backward
compatibility with an LSR not supporting the Typed Wildcard FEC compatibility with an LSR not supporting the Typed Wildcard FEC
Element. However, they don't provide means for LSR wishing to use Element. However, they don't provide means for LSR wishing to use
the Typed Wildcard FEC Element to determine whether a peer supports the Typed Wildcard FEC Element to determine whether a peer supports
skipping to change at page 7, line 34 skipping to change at page 7, line 34
S-bit : MUST be 1 (indicates that capability is S-bit : MUST be 1 (indicates that capability is
being advertised). being advertised).
6. Typed Wildcard FEC Element for Prefix FEC Element 6. Typed Wildcard FEC Element for Prefix FEC Element
RFC5036 defines the Prefix FEC Element but it does not specify a RFC5036 defines the Prefix FEC Element but it does not specify a
Typed Wildcard for it. This section specifies the Typed Wildcard Typed Wildcard for it. This section specifies the Typed Wildcard
FEC Element for Prefix FEC Elements. FEC Element for Prefix FEC Elements.
The format of the Prefix FEC Typed Wildcard FEC ("Prefix FEC The format of the Prefix FEC Typed Wildcard FEC Element ("Prefix FEC
Wildcard" for short) is: Wildcard" for short), based on Figure 1, is:
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 2 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 2
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Typed Wcard | Type = Prefix | Len = 2 | Address... | | Typed Wcard | Type = Prefix | Len = 2 | Address... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ...Family | | ...Family |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
Figure 3 Format of Prefix FEC Element using Typed Wildcard Figure 3 Format of Prefix FEC Element using Typed Wildcard
Where: Where:
FEC Element Type : Prefix FEC Element (value=2, per RFC5036). FEC Element Type : "Prefix" FEC Element (value=2, per RFC5036).
Len FEC Type Info : Two octets. Len FEC Type Info : Two octets (=2).
Address Family : Two octet quantity containing a value from Address Family : Two octet quantity containing a value from
ADDRESS FAMILY NUMBERS in [IANA-AF]. ADDRESS FAMILY NUMBERS in [IANA-AF].
The procedures described in Section 4 apply to the Prefix FEC The procedures described in Section 4 apply to the Prefix FEC
Wildcard processing. Wildcard processing.
7. Typed Wildcard FEC Element for Host and Wildcard FEC Elements 7. Typed Wildcard FEC Element for Host and Wildcard FEC Elements
There is no need to specify Typed Wildcard FEC Elements for the Host There is no need to specify Typed Wildcard FEC Elements for the Host
FEC Element specified by [RFC3036], nor for the Wildcard FEC Element FEC Element specified by [RFC3036], nor for the Wildcard FEC Element
specified by RFC5036. The [RFC3036] Host FEC Element has been specified by RFC5036. The [RFC3036] Host FEC Element has been
removed from RFC5036, and the Wildcard FEC Element is untyped by removed from RFC5036, and the Wildcard FEC Element is untyped by
definition. definition.
In other words, the 'FEC Element Type' field in 'Typed Wildcard FEC In other words, the 'FEC Element Type' field in 'Typed Wildcard FEC
Element' can not be 0x01. Element' MUST NOT be 0x01.
8. IANA Considerations 8. IANA Considerations
This draft introduces a new LDP FEC Element Type and a new LDP This draft introduces a new LDP FEC Element Type and a new LDP
Capability both of which require IANA assignment - Capability both of which require IANA assignment -
The 'Typed Wildcard' FEC Element requires a code point from the The 'Typed Wildcard' FEC Element requires a code point from the
LDP FEC Type Name Space. [RFC5036] partitions the FEC Type Name LDP FEC Type Name Space. [RFC5036] partitions the FEC Type Name
Space into 3 regions: IETF Consensus region, First Come First Space into 3 regions: IETF Consensus region, First Come First
Served region, and Private Use region. The authors recommend Served region, and Private Use region. The authors recommend
skipping to change at page 9, line 12 skipping to change at page 9, line 12
that a code point from the IETF Consensus range be assigned to that a code point from the IETF Consensus range be assigned to
the 'Typed Wildcard FEC' Capability. the 'Typed Wildcard FEC' Capability.
9. Security Considerations 9. Security Considerations
No security considerations beyond those that apply to the base LDP No security considerations beyond those that apply to the base LDP
specification [RFC5036] and further described in [MPLSsec] apply to specification [RFC5036] and further described in [MPLSsec] apply to
use of the Typed Wildcard FEC Elements as described in this use of the Typed Wildcard FEC Elements as described in this
document. document.
One could deduce that the security exposure is reduced by this
document, since an LDP speaker using Typed Wildcard FEC Element
could use a single message to request, withdraw or release all the
label mappings of a particular type (a particular AFI, for example),
whereas an LDP speaker using Wildcard FEC Element, as defined in
based LDP specification [RFC5036], could use a single message to
request, withdraw or release all the label mappings of all types
(all AFIs, for example).
10. Acknowledgments 10. Acknowledgments
The authors would like to thank Yakov Rekhter for suggesting that The authors would like to thank Yakov Rekhter for suggesting that
the limitations of the Wildcard FEC be addressed. Also, thanks to the limitations of the Wildcard FEC be addressed. Also, thanks to
Adrian Farrel for extensive review of this document. Adrian Farrel and Richard L. Barnes for extensive review of this
document.
This document was prepared using 2-Word-v2.0.template.dot. This document was prepared using 2-Word-v2.0.template.dot.
11. References 11. References
11.1. Normative References 11.1. 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.
 End of changes. 26 change blocks. 
45 lines changed or deleted 56 lines changed or added

This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/