draft-ietf-mpls-ldp-upstream-09.txt   draft-ietf-mpls-ldp-upstream-10.txt 
Network Working Group R. Aggarwal Network Working Group R. Aggarwal
Internet Draft Juniper Networks Internet Draft Juniper Networks
Category: Standards Track Category: Standards Track
Expiration Date: May 2011 Expiration Date: August 2011
J. L. Le Roux J. L. Le Roux
France Telecom France Telecom
November 16, 2010 February 02, 2011
MPLS Upstream Label Assignment for LDP MPLS Upstream Label Assignment for LDP
draft-ietf-mpls-ldp-upstream-09.txt draft-ietf-mpls-ldp-upstream-10.txt
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 to IETF 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 other Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts. groups may also distribute working documents as Internet-Drafts.
skipping to change at page 1, line 38 skipping to change at page 1, line 38
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 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.
Copyright and License Notice Copyright and License Notice
Copyright (c) 2010 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
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 4, line 14 skipping to change at page 4, line 14
upstream-assigned labels. upstream-assigned labels.
The usage of MPLS upstream label assignment using LDP for avoiding The usage of MPLS upstream label assignment using LDP for avoiding
branch LSR traffic replication on a LAN for LDP point-to-multipoint branch LSR traffic replication on a LAN for LDP point-to-multipoint
(P2MP) Label Switched Paths (LSPs) [MLDP] is also described. (P2MP) Label Switched Paths (LSPs) [MLDP] is also described.
3. LDP Upstream Label Assignment Capability 3. LDP Upstream Label Assignment Capability
According to [RFC5331], upstream-assigned label bindings MUST NOT be According to [RFC5331], upstream-assigned label bindings MUST NOT be
used unless it is known that a downstream LSR supports them. This used unless it is known that a downstream LSR supports them. This
implies that there MUST be a mechanism to enable a LSR to advertise implies that there MUST be a mechanism to enable an LSR to advertise
to its LDP neighbor LSR(s) its support of upstream-assigned labels. to its LDP neighbor LSR(s) its support of upstream-assigned labels.
A new Capability Parameter, the LDP Upstream Label Assignment A new Capability Parameter, the LDP Upstream Label Assignment
Capability, is introduced to allow an LDP peer to exchange with its Capability, is introduced to allow an LDP peer to exchange with its
peers, its support of upstream label assignment. This parameter peers, its support of upstream label assignment. This parameter
follows the format and procedures for exchanging Capability follows the format and procedures for exchanging Capability
Parameters defined in [RFC5561]. Parameters defined in [RFC5561].
Following is the format of the LDP Upstream Label Assignment Following is the format of the LDP Upstream Label Assignment
Capability Parameter: Capability Parameter:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1|0| Upstream Lbl Ass Cap(IANA)| Length (= 1) | |1|0| Upstream Lbl Ass Cap(IANA)| Length (= 1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1| Reserved | |1| Reserved |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
If a LSR includes the Upstream Label Assignment Capability in LDP If an LSR includes the Upstream Label Assignment Capability in LDP
Initialization Messages it implies that the LSR is capable of both Initialization Messages it implies that the LSR is capable of both
distributing upstream-assigned label bindings and receiving upstream- distributing upstream-assigned label bindings and receiving upstream-
assigned label bindings. The reserved bits MUST be set to zero on assigned label bindings. The reserved bits MUST be set to zero on
transmission and ignored on receipt. The Upstream Label Assignment transmission and ignored on receipt. The Upstream Label Assignment
Capability Parameter MUST be carried only LDP initialization messages Capability Parameter MUST be carried only in LDP initialization
and MUST be ignored if received in LDP Capability messages. messages and MUST be ignored if received in LDP Capability messages.
4. Distributing Upstream-Assigned Labels in LDP 4. Distributing Upstream-Assigned Labels in LDP
An optional LDP TLV, Upstream-Assigned Label Request TLV, is An optional LDP TLV, Upstream-Assigned Label Request TLV, is
introduced. To request an upstream-assigned label a LDP peer MUST introduced. To request an upstream-assigned label an LDP peer MUST
include this TLV in a Label Request message. include this TLV in a Label Request message.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|0| Upstream Ass Lbl Req (TBD)| Length | |0|0| Upstream Ass Lbl Req (TBD)| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 6, line 11 skipping to change at page 6, line 11
Request TLV to a neighboring LSR if the neighboring LSR had not Request TLV to a neighboring LSR if the neighboring LSR had not
previously advertised the Upstream Label Assignment Capability in its previously advertised the Upstream Label Assignment Capability in its
LDP Initialization messages. LDP Initialization messages.
As described in [RFC5331] the distribution of upstream-assigned As described in [RFC5331] the distribution of upstream-assigned
labels is similar to either ordered LSP control or independent LSP labels is similar to either ordered LSP control or independent LSP
control of the downstream assigned labels. control of the downstream assigned labels.
When the label distributed in a Label Mapping message is an upstream- When the label distributed in a Label Mapping message is an upstream-
assigned label, the Upstream Assigned Label TLV MUST be included in assigned label, the Upstream Assigned Label TLV MUST be included in
the Label Mapping message. When a LSR receives a Label Mapping the Label Mapping message. When an LSR receives a Label Mapping
message with an Upstream Assigned Label TLV and it does not recognize message with an Upstream Assigned Label TLV and it does not recognize
the TLV, it MUST generate a Notification message with a status code the TLV, it MUST generate a Notification message with a status code
of "Unknown TLV" [RFC5036]. If it does recognize the TLV but is of "Unknown TLV" [RFC5036]. If it does recognize the TLV but is
unable to process the upstream label, it MUST generate a Notification unable to process the upstream label, it MUST generate a Notification
message with a status code of "No Label Resources". If the Label message with a status code of "No Label Resources". If the Label
Mapping message was generated in response to a Label Request message, Mapping message was generated in response to a Label Request message,
the Label Request message MUST contain an Upstream Assigned Label the Label Request message MUST contain an Upstream Assigned Label
Request TLV. A LSR that generates an upstream assigned label request Request TLV. A LSR that generates an upstream assigned label request
to a neighbor LSR, for a given FEC, MUST NOT send a downstream label to a neighbor LSR, for a given FEC, MUST NOT send a downstream label
mapping to the neighbor LSR for that FEC unless it withdraws the mapping to the neighbor LSR for that FEC unless it withdraws the
upstream-assigned label binding. Similarly if a LSR generates a upstream-assigned label binding. Similarly if an LSR generates a
downstream assigned label request to a neighbor LSR, for a given FEC, downstream assigned label request to a neighbor LSR, for a given FEC,
it MUST NOT send an upstream label mapping to that LSR for that FEC, it MUST NOT send an upstream label mapping to that LSR for that FEC,
unless it aborts the downstream assigned label request. unless it aborts the downstream assigned label request.
The Upstream Assigned Label TLV may be optionally included in Label The Upstream Assigned Label TLV may be optionally included in Label
Withdraw and Label Release messages that withdraw/release a Withdraw and Label Release messages that withdraw/release a
particular upstream assigned label binding. particular upstream assigned label binding.
5. LDP Tunnel Identifier Exchange 5. LDP Tunnel Identifier Exchange
As described in [RFC5331] an upstream LSR Ru MAY transmit a MPLS As described in [RFC5331] an upstream LSR Ru MAY transmit an MPLS
packet, the top label of which (L) is upstream-assigned, to a packet, the top label of which (L) is upstream-assigned, to a
downstream LSR Rd, by encapsulating it in an IP or MPLS tunnel. In downstream LSR Rd, by encapsulating it in an IP or MPLS tunnel. In
this case the fact that L is upstream-assigned is determined by Rd by this case the fact that L is upstream-assigned is determined by Rd by
the tunnel on which the packet is received. There must be a mechanism the tunnel on which the packet is received. There must be a mechanism
for Ru to inform Rd that a particular tunnel from Ru to Rd will be for Ru to inform Rd that a particular tunnel from Ru to Rd will be
used by Ru for transmitting MPLS packets with upstream-assigned MPLS used by Ru for transmitting MPLS packets with upstream-assigned MPLS
labels. labels.
When LDP is used for upstream label assignment, the Interface ID TLV When LDP is used for upstream label assignment, the Interface ID TLV
[RFC3472] is used for signaling the Tunnel Identifier. If Ru uses an [RFC3472] is used for signaling the Tunnel Identifier. If Ru uses an
IP or MPLS tunnel to transmit MPLS packets with upstream assigned IP or MPLS tunnel to transmit MPLS packets with upstream assigned
labels to Rd, Ru MUST include the Interface ID TLV in the Label labels to Rd, Ru MUST include the Interface ID TLV in the Label
Mapping messages along with the Upstream Assigned Label TLV. The Mapping messages along with the Upstream Assigned Label TLV. The
IPv4/v6 Next/Previous Hop Address and the Logical Interface ID fields IPv4/v6 Next/Previous Hop Address and the Logical Interface ID fields
in the Interface ID TLV SHOULD be set to 0 by the sender and ignored in the Interface ID TLV SHOULD be set to 0 by the sender and ignored
by the receiver. by the receiver. The Length field indicates the total length of the
TLV, i.e., 4 + the length of the value field in octets. A value
field whose length is not a multiple of four MUST be zero-padded so
that the TLV is four- octet aligned.
Hence the IPv4 Interface ID TLV has the following format: Hence the IPv4 Interface ID TLV has the following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|0| Type (0x082d) | Length | |0|0| Type (0x082d) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Next/Previous Hop Address (0) | | IPv4 Next/Previous Hop Address (0) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 7, line 33 skipping to change at page 7, line 36
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Next/Previous Hop Address (0) | | IPv6 Next/Previous Hop Address (0) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Logical Interface ID (0) | | Logical Interface ID (0) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-TLVs | | Sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
As shown in the above figures the Interface ID TLV carries sub-TLVs. As shown in the above figures the Interface ID TLV carries sub-TLVs.
Four new Interface ID sub-TLVs are introduced to support RSVP-TE P2MP Four new Interface ID sub-TLVs are introduced to support RSVP-TE P2MP
LSPs, LDP P2MP LSPs, IP Multicast Tunnels and context labels. The TLV LSPs, LDP P2MP LSPs, IP Multicast Tunnels and context labels. The
value in the sub-TLV acts as the tunnel identifier. sub-TLV value in the sub-TLV acts as the tunnel identifier.
Following are the sub-TLVs that are introduced: Following are the sub-TLVs that are introduced:
1. RSVP-TE P2MP LSP TLV. Type = 28 (To be assigned by IANA). Value of 1. RSVP-TE P2MP LSP TLV. Type = 28 (To be assigned by IANA). Value of
the TLV is as carried in the RSVP-TE P2MP LSP SESSION Object the TLV is the RSVP-TE P2MP LSP SESSION Object [RFC4875].
[RFC4875].
Below is the RSVP-TE P2MP LSP TLV format when carried in the IPv4 Below is the RSVP-TE P2MP LSP TLV format when carried in the IPv4
Interface ID TLV: Interface ID TLV:
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 = 28 | 16 | | Type (0x1c) | 16 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| P2MP ID | | P2MP ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MUST be zero | Tunnel ID | | MUST be zero | Tunnel ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Extended Tunnel ID | | Extended Tunnel ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Below is the RSVP-TE P2MP LSP TLV format when carried in the IPv6 Below is the RSVP-TE P2MP LSP TLV format when carried in the IPv6
Interface ID TLV: Interface ID TLV:
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 = 28 | 28 | | Type (0x1c) | 28 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| P2MP ID | | P2MP ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MUST be zero | Tunnel ID | | MUST be zero | Tunnel ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Extended Tunnel ID | | Extended Tunnel ID |
| | | |
| ....... | | ....... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 9, line 49 skipping to change at page 10, line 7
an upstream assigned label, assigned by Ru. The Source Address MUST an upstream assigned label, assigned by Ru. The Source Address MUST
be set to an IPv4 address when the MPLS Context Label TLV is carried be set to an IPv4 address when the MPLS Context Label TLV is carried
in the IPv4 Interface ID TLV. The Source Address MUST be set to an in the IPv4 Interface ID TLV. The Source Address MUST be set to an
IPv6 address when the MPLS Context Label TLV is carried in the IPv6 IPv6 address when the MPLS Context Label TLV is carried in the IPv6
Interface ID TLV. This allows Ru to tunnel an "inner" LDP P2MP LSP, Interface ID TLV. This allows Ru to tunnel an "inner" LDP P2MP LSP,
the label of which is upstream assigned, over an "outer" one-hop MPLS the label of which is upstream assigned, over an "outer" one-hop MPLS
LSP, where the outer one-hop LSP has the following property: LSP, where the outer one-hop LSP has the following property:
+ The label pushed by Ru for the outer MPLS LSP is an upstream + The label pushed by Ru for the outer MPLS LSP is an upstream
assigned context label, assigned by Ru. When <Rd1...Rdn> perform assigned context label, assigned by Ru. When <Rd1...Rdn> perform
a MPLS label lookup on this label a combination of this label and an MPLS label lookup on this label a combination of this label
the incoming interface MUST be sufficient for <Rd1...Rdn> to and the incoming interface MUST be sufficient for <Rd1...Rdn> to
uniquely determine Ru's context specific label space to lookup uniquely determine Ru's context specific label space to lookup
the next label on the stack in. <Rd1...Rdn> MUST receive the data the next label on the stack in. <Rd1...Rdn> MUST receive the data
sent by Ru with the context specific label assigned by Ru being sent by Ru with the context specific label assigned by Ru being
the top label on the label stack. the top label on the label stack.
Currently the usage of the context label TLV is limited only to LDP Currently the usage of the context label TLV is limited only to LDP
P2MP LSPs on a LAN as specified in the next section. The context P2MP LSPs on a LAN as specified in the next section. The context
label TLV MUST NOT be used for any other purposes. label TLV MUST NOT be used for any other purposes.
Note that when the outer P2MP LSP is signaled with RSVP-TE or MLDP Note that when the outer P2MP LSP is signaled with RSVP-TE or MLDP
skipping to change at page 10, line 28 skipping to change at page 10, line 33
does not provide this information to Ru. In this scenario the does not provide this information to Ru. In this scenario the
procedures by which Ru could acquire this information are outside the procedures by which Ru could acquire this information are outside the
scope of this document. scope of this document.
6. LDP Point-to-Multipoint LSPs on a LAN 6. LDP Point-to-Multipoint LSPs on a LAN
This section describes one application of upstream label assignment This section describes one application of upstream label assignment
using LDP. Further applications are to be described in separate using LDP. Further applications are to be described in separate
documents. documents.
[MLDP] describe how to setup P2MP LSPs using LDP. On a LAN the [MLDP] describes how to setup P2MP LSPs using LDP. On a LAN the
solution relies on "ingress replication". A LSR on a LAN, that is a solution relies on "ingress replication". A LSR on a LAN, that is a
branch LSR for a P2MP LSP, (say Ru) sends a separate copy of a packet branch LSR for a P2MP LSP, (say Ru) sends a separate copy of a packet
that it receives on the P2MP LSP to each of the downstream LSRs on that it receives on the P2MP LSP to each of the downstream LSRs on
the LAN (say <Rd1...Rdn> that are adjacent to it in the P2MP LSP. the LAN (say <Rd1...Rdn> that are adjacent to it in the P2MP LSP.
It is desirable for Ru to send a single copy of the packet for the It is desirable for Ru to send a single copy of the packet for the
LDP P2MP LSP on the LAN, when there are multiple downstream routers LDP P2MP LSP on the LAN, when there are multiple downstream routers
on the LAN that are adjacent to Ru in that LDP P2MP LSP. This on the LAN that are adjacent to Ru in that LDP P2MP LSP. This
requires that each of <Rd1...Rdn> must be able to associate the label requires that each of <Rd1...Rdn> must be able to associate the label
L, used by Ru to transmit packets for the P2MP LSP on the LAN, with L, used by Ru to transmit packets for the P2MP LSP on the LAN, with
that P2MP LSP. It is possible to achieve this using LDP upstream- that P2MP LSP. It is possible to achieve this using LDP upstream-
assigned labels with the following procedures. assigned labels with the following procedures.
Consider a LSR Rd that receives the LDP P2MP FEC [MLDP] from its Consider an LSR Rd that receives the LDP P2MP FEC [MLDP] from its
downstream LDP peer. Further the upstream interface to reach LSR Ru downstream LDP peer. Further the upstream interface to reach LSR Ru
which is the next-hop to the P2MP LSP root address, Pr, in the LDP which is the next-hop to the P2MP LSP root address, Pr, in the LDP
P2MP FEC, is a LAN interface, Li. Further Rd and Ru support upstream- P2MP FEC, is a LAN interface, Li. Further Rd and Ru support upstream-
assigned labels. In this case Rd instead of sending a Label Mapping assigned labels. In this case Rd instead of sending a Label Mapping
message as described in [MLDP] sends a Label Request message to Ru. message as described in [MLDP] sends a Label Request message to Ru.
This Label Request message MUST contain an Upstream Assigned Label This Label Request message MUST contain an Upstream Assigned Label
Request TLV. Request TLV.
Ru on receiving this message sends back a Label Mapping message to Rd On receiving this message, Ru sends back a Label Mapping message to
with an upstream-assigned label. This message also contains an Rd with an upstream-assigned label. This message also contains an
Interface ID TLV with a MPLS Context Label sub-TLV, as described in Interface ID TLV with a MPLS Context Label sub-TLV, as described in
the previous section, with the value of the MPLS label set to a value the previous section, with the value of the MPLS label set to a value
assigned by Ru on inteface Li as specified in [RFC5331]. Processing assigned by Ru on inteface Li as specified in [RFC5331]. Processing
of the Label Request and Label Mapping messages for LDP upstream- of the Label Request and Label Mapping messages for LDP upstream-
assigned labels is as described in section 4.2. If Ru receives a assigned labels is as described in section 4.1. If Ru receives a
Label Request for an upstream assigned label for the same P2MP FEC Label Request for an upstream assigned label for the same P2MP FEC
from multiple downstream LSRs on the LAN, <Rd1...Rdn>, it MUST send from multiple downstream LSRs on the LAN, <Rd1...Rdn>, it MUST send
the same upstream-assigned label to each of <Rd1...Rdn>. the same upstream-assigned label to each of <Rd1...Rdn>.
Ru transmits the MPLS packet using the procedures defined in Ru transmits the MPLS packet using the procedures defined in
[RFC5331] and [RFC5332]. The MPLS packet transmitted by Ru contains [RFC5331] and [RFC5332]. The MPLS packet transmitted by Ru contains
as the top label the context label assigned by Ru on the LAN as the top label the context label assigned by Ru on the LAN
interface, Li. The bottom label is the upstream label assigned by Ru interface, Li. The bottom label is the upstream label assigned by Ru
to the LDP P2MP LSP. The top label is looked up in the context of the to the LDP P2MP LSP. The top label is looked up in the context of the
LAN interface, Li, [RFC5331] by a downstream LSR on the LAN. This LAN interface, Li, [RFC5331] by a downstream LSR on the LAN. This
 End of changes. 21 change blocks. 
26 lines changed or deleted 28 lines changed or added

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