draft-ietf-mpls-ldp-p2mp-12.txt   draft-ietf-mpls-ldp-p2mp-13.txt 
Network Working Group I. Minei, Ed. Network Working Group I. Minei, Ed.
Internet-Draft Juniper Networks Internet-Draft Juniper Networks
Intended status: Standards Track IJ. Wijnands, Ed. Intended status: Standards Track IJ. Wijnands, Ed.
Expires: August 21, 2011 Cisco Systems, Inc. Expires: October 24, 2011 Cisco Systems, Inc.
K. Kompella K. Kompella
Juniper Networks Juniper Networks
B. Thomas B. Thomas
Cisco Systems, Inc. Cisco Systems, Inc.
February 17, 2011 April 22, 2011
Label Distribution Protocol Extensions for Point-to-Multipoint and Label Distribution Protocol Extensions for Point-to-Multipoint and
Multipoint-to-Multipoint Label Switched Paths Multipoint-to-Multipoint Label Switched Paths
draft-ietf-mpls-ldp-p2mp-12 draft-ietf-mpls-ldp-p2mp-13
Abstract Abstract
This document describes extensions to the Label Distribution Protocol This document describes extensions to the Label Distribution Protocol
(LDP) for the setup of point to multi-point (P2MP) and multipoint-to- (LDP) for the setup of point to multi-point (P2MP) and multipoint-to-
multipoint (MP2MP) Label Switched Paths (LSPs) in Multi-Protocol multipoint (MP2MP) Label Switched Paths (LSPs) in Multi-Protocol
Label Switching (MPLS) networks. These extensions are also referred Label Switching (MPLS) networks. These extensions are also referred
to as Multicast LDP (mLDP). mLDP constructs the P2MP or MP2MP LSPs to as Multipoint LDP (mLDP). mLDP constructs the P2MP or MP2MP LSPs
without interacting with or relying upon any other multicast tree without interacting with or relying upon any other multicast tree
construction protocol. Protocol elements and procedures for this construction protocol. Protocol elements and procedures for this
solution are described for building such LSPs in a receiver-initiated solution are described for building such LSPs in a receiver-initiated
manner. There can be various applications for P2MP/MP2MP LSPs, for manner. There can be various applications for P2MP/MP2MP LSPs, for
example IP multicast or support for multicast in BGP/MPLS L3VPNs. example IP multicast or support for multicast in BGP/MPLS L3VPNs.
Specification of how such applications can use a LDP signaled P2MP/ Specification of how such applications can use a LDP signaled P2MP/
MP2MP LSPs is outside the scope of this document. MP2MP LSPs is outside the scope of this document.
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. 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). Note that other groups may also distribute
other groups may also distribute working documents as Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at This Internet-Draft will expire on October 24, 2011.
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 21, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
skipping to change at page 2, line 23 skipping to change at page 2, line 15
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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the BSD License. described in the Simplified BSD License.
This document may contain material from IETF Documents or IETF This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this 10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process. modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other it for publication as an RFC or to translate it into languages other
than English. than English.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1. Conventions used in this document . . . . . . . . . . . . 4 1.1. Conventions used in this document . . . . . . . . . . . . 5
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5
2. Setting up P2MP LSPs with LDP . . . . . . . . . . . . . . . . 5 2. Setting up P2MP LSPs with LDP . . . . . . . . . . . . . . . . 6
2.1. Support for P2MP LSP setup with LDP . . . . . . . . . . . 5 2.1. Support for P2MP LSP setup with LDP . . . . . . . . . . . 6
2.2. The P2MP FEC Element . . . . . . . . . . . . . . . . . . . 6 2.2. The P2MP FEC Element . . . . . . . . . . . . . . . . . . . 7
2.3. The LDP MP Opaque Value Element . . . . . . . . . . . . . 8 2.3. The LDP MP Opaque Value Element . . . . . . . . . . . . . 9
2.3.1. The Generic LSP Identifier . . . . . . . . . . . . . . 9 2.3.1. The Generic LSP Identifier . . . . . . . . . . . . . . 10
2.4. Using the P2MP FEC Element . . . . . . . . . . . . . . . . 10 2.4. Using the P2MP FEC Element . . . . . . . . . . . . . . . . 11
2.4.1. Label Map . . . . . . . . . . . . . . . . . . . . . . 10 2.4.1. Label Map . . . . . . . . . . . . . . . . . . . . . . 11
2.4.2. Label Withdraw . . . . . . . . . . . . . . . . . . . . 12 2.4.2. Label Withdraw . . . . . . . . . . . . . . . . . . . . 13
2.4.3. Upstream LSR change . . . . . . . . . . . . . . . . . 13 2.4.3. Upstream LSR change . . . . . . . . . . . . . . . . . 14
3. Setting up MP2MP LSPs with LDP . . . . . . . . . . . . . . . . 13 3. Setting up MP2MP LSPs with LDP . . . . . . . . . . . . . . . . 15
3.1. Support for MP2MP LSP setup with LDP . . . . . . . . . . . 14 3.1. Support for MP2MP LSP setup with LDP . . . . . . . . . . . 15
3.2. The MP2MP downstream and upstream FEC Elements. . . . . . 15 3.2. The MP2MP downstream and upstream FEC Elements. . . . . . 16
3.3. Using the MP2MP FEC Elements . . . . . . . . . . . . . . . 15 3.3. Using the MP2MP FEC Elements . . . . . . . . . . . . . . . 16
3.3.1. MP2MP Label Map . . . . . . . . . . . . . . . . . . . 16 3.3.1. MP2MP Label Map . . . . . . . . . . . . . . . . . . . 18
3.3.2. MP2MP Label Withdraw . . . . . . . . . . . . . . . . . 20 3.3.2. MP2MP Label Withdraw . . . . . . . . . . . . . . . . . 21
3.3.3. MP2MP Upstream LSR change . . . . . . . . . . . . . . 21 3.3.3. MP2MP Upstream LSR change . . . . . . . . . . . . . . 22
4. Micro-loops in MP LSPs . . . . . . . . . . . . . . . . . . . . 21 4. Micro-loops in MP LSPs . . . . . . . . . . . . . . . . . . . . 22
5. The LDP MP Status TLV . . . . . . . . . . . . . . . . . . . . 21 5. The LDP MP Status TLV . . . . . . . . . . . . . . . . . . . . 22
5.1. The LDP MP Status Value Element . . . . . . . . . . . . . 22 5.1. The LDP MP Status Value Element . . . . . . . . . . . . . 23
5.2. LDP Messages containing LDP MP Status messages . . . . . . 23 5.2. LDP Messages containing LDP MP Status messages . . . . . . 24
5.2.1. LDP MP Status sent in LDP notification messages . . . 23 5.2.1. LDP MP Status sent in LDP notification messages . . . 24
5.2.2. LDP MP Status TLV in Label Mapping Message . . . . . . 23 5.2.2. LDP MP Status TLV in Label Mapping Message . . . . . . 24
6. Upstream label allocation on a LAN . . . . . . . . . . . . . . 24 6. Upstream label allocation on a LAN . . . . . . . . . . . . . . 25
6.1. LDP Multipoint-to-Multipoint on a LAN . . . . . . . . . . 24 6.1. LDP Multipoint-to-Multipoint on a LAN . . . . . . . . . . 25
6.1.1. MP2MP downstream forwarding . . . . . . . . . . . . . 24 6.1.1. MP2MP downstream forwarding . . . . . . . . . . . . . 25
6.1.2. MP2MP upstream forwarding . . . . . . . . . . . . . . 25 6.1.2. MP2MP upstream forwarding . . . . . . . . . . . . . . 26
7. Root node redundancy . . . . . . . . . . . . . . . . . . . . . 25 7. Root node redundancy . . . . . . . . . . . . . . . . . . . . . 26
7.1. Root node redundancy - procedures for P2MP LSPs . . . . . 26 7.1. Root node redundancy - procedures for P2MP LSPs . . . . . 27
7.2. Root node redundancy - procedures for MP2MP LSPs . . . . . 26 7.2. Root node redundancy - procedures for MP2MP LSPs . . . . . 27
8. Make Before Break (MBB) . . . . . . . . . . . . . . . . . . . 27 8. Make Before Break (MBB) . . . . . . . . . . . . . . . . . . . 28
8.1. MBB overview . . . . . . . . . . . . . . . . . . . . . . . 27 8.1. MBB overview . . . . . . . . . . . . . . . . . . . . . . . 28
8.2. The MBB Status code . . . . . . . . . . . . . . . . . . . 28 8.2. The MBB Status code . . . . . . . . . . . . . . . . . . . 29
8.3. The MBB capability . . . . . . . . . . . . . . . . . . . . 29 8.3. The MBB capability . . . . . . . . . . . . . . . . . . . . 30
8.4. The MBB procedures . . . . . . . . . . . . . . . . . . . . 29 8.4. The MBB procedures . . . . . . . . . . . . . . . . . . . . 30
8.4.1. Terminology . . . . . . . . . . . . . . . . . . . . . 29 8.4.1. Terminology . . . . . . . . . . . . . . . . . . . . . 30
8.4.2. Accepting elements . . . . . . . . . . . . . . . . . . 30 8.4.2. Accepting elements . . . . . . . . . . . . . . . . . . 31
8.4.3. Procedures for upstream LSR change . . . . . . . . . . 30 8.4.3. Procedures for upstream LSR change . . . . . . . . . . 31
8.4.4. Receiving a Label Map with MBB status code . . . . . . 31 8.4.4. Receiving a Label Map with MBB status code . . . . . . 32
8.4.5. Receiving a Notification with MBB status code . . . . 31 8.4.5. Receiving a Notification with MBB status code . . . . 32
8.4.6. Node operation for MP2MP LSPs . . . . . . . . . . . . 32 8.4.6. Node operation for MP2MP LSPs . . . . . . . . . . . . 33
9. Typed Wildcard for mLDP FEC Element . . . . . . . . . . . . . 32 9. Typed Wildcard for mLDP FEC Element . . . . . . . . . . . . . 33
10. Security Considerations . . . . . . . . . . . . . . . . . . . 32 10. Security Considerations . . . . . . . . . . . . . . . . . . . 33
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 33
12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 34 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 35
13. Contributing authors . . . . . . . . . . . . . . . . . . . . . 34 13. Contributing authors . . . . . . . . . . . . . . . . . . . . . 35
14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 36 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 37
14.1. Normative References . . . . . . . . . . . . . . . . . . . 36 14.1. Normative References . . . . . . . . . . . . . . . . . . . 37
14.2. Informative References . . . . . . . . . . . . . . . . . . 37 14.2. Informative References . . . . . . . . . . . . . . . . . . 38
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 37 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 38
1. Introduction 1. Introduction
The LDP protocol is described in [RFC5036]. It defines mechanisms The LDP protocol is described in [RFC5036]. It defines mechanisms
for setting up point-to-point (P2P) and multipoint-to-point (MP2P) for setting up point-to-point (P2P) and multipoint-to-point (MP2P)
LSPs in the network. This document describes extensions to LDP for LSPs in the network. This document describes extensions to LDP for
setting up point-to-multipoint (P2MP) and multipoint-to-multipoint setting up point-to-multipoint (P2MP) and multipoint-to-multipoint
(MP2MP) LSPs. These are collectively referred to as multipoint LSPs (MP2MP) LSPs. These are collectively referred to as multipoint LSPs
(MP LSPs). A P2MP LSP allows traffic from a single root (or ingress) (MP LSPs). A P2MP LSP allows traffic from a single root (or ingress)
node to be delivered to a number of leaf (or egress) nodes. A MP2MP node to be delivered to a number of leaf (or egress) nodes. A MP2MP
skipping to change at page 5, line 43 skipping to change at page 5, line 43
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 RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
1.2. Terminology 1.2. Terminology
Some of the following terminology is taken from Some of the following terminology is taken from
[I-D.ietf-mpls-mp-ldp-reqs]. [I-D.ietf-mpls-mp-ldp-reqs].
mLDP: Multicast extensions for LDP. mLDP: Multipoint extensions for LDP.
P2P LSP: An LSP that has one Ingress LSR and one Egress LSR. P2P LSP: An LSP that has one Ingress LSR and one Egress LSR.
P2MP LSP: An LSP that has one Ingress LSR and one or more Egress P2MP LSP: An LSP that has one Ingress LSR and one or more Egress
LSRs. LSRs.
MP2P LSP: An LSP that has one or more Ingress LSRs and one unique MP2P LSP: An LSP that has one or more Ingress LSRs and one unique
Egress LSR. Egress LSR.
MP2MP LSP: An LSP that connects a set of nodes, such that traffic MP2MP LSP: An LSP that connects a set of nodes, such that traffic
skipping to change at page 14, line 44 skipping to change at page 14, line 44
state of L'. Then the forwarding state for L is deleted and the state of L'. Then the forwarding state for L is deleted and the
forwarding state for L' is installed. In addition Z MUST send a forwarding state for L' is installed. In addition Z MUST send a
Label Map <X, Y, L'> to U' and send a Label Withdraw <X, Y, L> to U. Label Map <X, Y, L'> to U' and send a Label Withdraw <X, Y, L> to U.
Note, if there was a downstream mapping from U that was not installed Note, if there was a downstream mapping from U that was not installed
in the forwarding due to Section 2.4.1.4 it can now be installed. in the forwarding due to Section 2.4.1.4 it can now be installed.
While changing the upstream LSR the following must be taken into While changing the upstream LSR the following must be taken into
consideration. If L' is added before L is removed, there is a consideration. If L' is added before L is removed, there is a
potential risk of packet duplication, and/or the creation of a potential risk of packet duplication, and/or the creation of a
transient dataplane forwarding loop. If L is removed before L' is transient dataplane forwarding loop. If L is removed before L' is
added, packet loss may result. added, packet loss may result. Ideally the change from L to L' is
done atomically such that no packet loss or duplication occurs. If
that is not possible, the RECOMMENDED default behavior is to remove L
before adding L'.
3. Setting up MP2MP LSPs with LDP 3. Setting up MP2MP LSPs with LDP
An MP2MP LSP is much like a P2MP LSP in that it consists of a single An MP2MP LSP is much like a P2MP LSP in that it consists of a single
root node, zero or more transit nodes and one or more leaf LSRs root node, zero or more transit nodes and one or more leaf LSRs
acting equally as Ingress or Egress LSR. A leaf node participates in acting equally as Ingress or Egress LSR. A leaf node participates in
the setup of an MP2MP LSP by establishing both a downstream LSP, the setup of an MP2MP LSP by establishing both a downstream LSP,
which is much like a P2MP LSP from the root, and an upstream LSP which is much like a P2MP LSP from the root, and an upstream LSP
which is used to send traffic toward the root and other leaf nodes. which is used to send traffic toward the root and other leaf nodes.
Transit nodes support the setup by propagating the upstream and Transit nodes support the setup by propagating the upstream and
 End of changes. 12 change blocks. 
71 lines changed or deleted 67 lines changed or added

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