Internet Engineering Task Force (IETF) S. Boutros, Ed.
Request for Comments: 8338 VMware
Updates: 7385 S. Sivabalan, Ed.
Category: Standards Track Cisco Systems
ISSN: 2070-1721 March 2018
Signaling Root-Initiated Point-to-Multipoint Pseudowire Using LDP
Abstract
This document specifies a mechanism to signal Point-to-Multipoint
(P2MP) Pseudowire (PW) trees using LDP. Such a mechanism is suitable
for any Layer 2 VPN service requiring P2MP connectivity over an IP or
MPLS-enabled PSN. A P2MP PW established via the proposed mechanism
is root initiated. This document updates RFC 7385 by reassigning the
reserved value 0xFF to be the wildcard transport tunnel type.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc8338.
Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Boutros & Sivabalan Standards Track [Page 1]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
2.2. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 4
3. Signaling P2MP PW . . . . . . . . . . . . . . . . . . . . . . 5
3.1. PW Ingress-to-Egress Incompatibility Issues . . . . . . . 6
3.2. P2MP PW FEC . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.1. P2MP PW Upstream FEC Element . . . . . . . . . . . . 7
3.2.2. P2P PW Downstream FEC Element . . . . . . . . . . . . 11
3.3. Typed Wildcard FEC Format for a New FEC . . . . . . . . . 11
3.4. Group ID Usage . . . . . . . . . . . . . . . . . . . . . 12
3.5. Generic Label TLV . . . . . . . . . . . . . . . . . . . . 12
4. LDP Capability Negotiation . . . . . . . . . . . . . . . . . 12
5. P2MP PW Status . . . . . . . . . . . . . . . . . . . . . . . 14
6. Security Considerations . . . . . . . . . . . . . . . . . . . 14
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
7.1. FEC Type Name Space . . . . . . . . . . . . . . . . . . . 15
7.2. LDP TLV Type . . . . . . . . . . . . . . . . . . . . . . 15
7.3. mLDP Opaque Value Element TLV Type . . . . . . . . . . . 15
7.4. Selective Tree Interface Parameter Sub-TLV Type . . . . . 15
7.5. Wildcard PMSI Tunnel Type . . . . . . . . . . . . . . . . 15
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
8.1. Normative References . . . . . . . . . . . . . . . . . . 16
8.2. Informative References . . . . . . . . . . . . . . . . . 17
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 18
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20
1. Introduction
A Point-to-Multipoint (P2MP) Pseudowire (PW) emulates the essential
attributes of a unidirectional P2MP Telecommunications service such
as P2MP ATM over PSN. A major difference between a Point-to-Point
(P2P) PW outlined in [RFC3985] and a P2MP PW is that the former is
intended for bidirectional service whereas the latter is intended for
both unidirectional and, optionally, bidirectional service.
Requirements for P2MP PWs are described in [RFC7338]. P2MP PWs can
be constructed as either Single Segment Pseudowires (P2MP SS-PWs) or
Multi-Segment Pseudowires (P2MP MS-PWs) as mentioned in [RFC7338].
P2MP MS-PW is outside the scope of this document. A reference model
or a P2MP PW is depicted in Figure 1. A transport Label Switched
Path (LSP) associated with a P2MP SS-PW SHOULD be a P2MP MPLS LSP
(i.e., P2MP Traffic Engineering (TE) tunnel established via RSVP-TE
[RFC4875] or P2MP LSP established via Multipoint LDP (mLDP)
[RFC6388]) spanning from the Root PE (Provider Edge) to the Leaf
Boutros & Sivabalan Standards Track [Page 2]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
PE(s) of the P2MP SS-PW tree. For example, in Figure 1, PW1 can be
associated with a P2MP TE tunnel or P2MP LSP setup using mLDP
originating from PE1 and terminating at PE2, PE3, and PE4.
|<--------------P2MP PW---------------->|
Native | | Native
Service | |<--PSN1->| |<--PSN2->| | Service
(AC) V V V V V V (AC)
| +-----+ +------+ +------+ |
| | | | P1 |=========|T-PE2 |AC3 | +---+
| | | | .......PW1.........>|-------->|CE3|
| |T-PE1|=========| . |=========| | | +---+
| | .......PW1........ | +------+ |
| | . |=========| . | +------+ |
| | . | | . |=========|T-PE3 |AC4 | +---+
+---+ |AC1 | . | | .......PW1.........>|-------->|CE4|
|CE1|------->|... | | |=========| | | +---+
+---+ | | . | +------+ +------+ |
| | . | +------+ +------+ |
| | . |=========| P2 |=========|T-PE4 |AC5 | +---+
| | .......PW1..............PW1.........>|-------->|CE5|
| | |=========| |=========| | | +---+
| +-----+ +------+ +------+ |
Figure 1: P2MP PW
Mechanisms for establishing a P2P SS-PW using LDP are described in
[RFC8077]. This document specifies a method of signaling P2MP PW
using LDP. In particular, this document defines a new Forwarding
Equivalence Class (FEC), TLVs, parameters, and status codes to
facilitate LDP signaling and maintaining P2MP PWs.
As outlined in [RFC7338], even though the traffic flow from a Root PE
(R-PE) to Leaf PE(s) (L-PEs) is P2MP in nature, it may be desirable
for any L-PE to send unidirectional P2P traffic destined only to the
R-PE. The proposed mechanism takes such an option into
consideration.
The P2MP PW requires an MPLS LSP to carry the PW traffic, and the
MPLS packets carrying the PW upstream label will be encapsulated
according to the methods described in [RFC5332].
Boutros & Sivabalan Standards Track [Page 3]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
2. Terminology
2.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
2.2. Abbreviations
AGI: Attachment Group Identifier
CE: Customer Edge
FEC: Forwarding Equivalence Class
L-PE: Leaf PE (egress PE)
LDP: Label Distribution Protocol
LSP: Label Switched Path
mLDP: Multipoint Label Distribution Protocol (for P2MP/MP2MP LSP)
MS-PW: Multi-Segment Pseudowire
P2MP: Point-to-Multipoint
P2P: Point-to-Point
PE: Provider Edge
PSN: Packet Switched Network
PW: Pseudowire
R-PE: Root PE (ingress PE, PE initiating P2MP PW setup)
S-PE: Switching Provider Edge (of MS-PW)
SS-PW: Single-Segment Pseudowire
TE: Traffic Engineering
Boutros & Sivabalan Standards Track [Page 4]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
3. Signaling P2MP PW
In order to advertise labels as well as exchange PW-related LDP
messages, PEs must establish LDP sessions among themselves. A PE
discovers other PEs that are to be connected via P2MP PWs either via
manual configuration or autodiscovery [RFC6074].
An R-PE and each L-PE MUST be configured with the same FEC as defined
in Section 3.2.
P2MP PW requires that there be an active P2MP PSN LSP set up between
an R-PE and L-PE(s). Note that the procedure to set up the P2MP PSN
LSP is different depending on the signaling protocol used (RSVP-TE or
mLDP).
In the case of mLDP, a Leaf PE can decide to join the P2MP LSP at any
time. In the case of RSVP-TE, the P2MP LSP is set up by the R-PE,
generally at the initial service provisioning time. It should be
noted that local policy can override any decision to join, add, or
prune existing or new L-PEs from the tree. In any case, the PW setup
can ignore these differences and simply assume that the P2MP PSN LSP
is available when needed.
P2MP PW signaling is initiated by the R-PE, which sends a separate
P2MP PW LDP Label Mapping Message to each of the L-PE(s) belonging to
that P2MP PW. This Label Mapping Message will contain the following:
1. A FEC TLV containing a P2MP PW Upstream FEC Element that includes
a Transport LSP sub-TLV.
2. An Interface Parameters TLV, as described in [RFC8077].
3. A PW Group ID TLV, as described in [RFC8077].
4. A label TLV for the upstream-assigned label used by an R-PE for
the traffic going from the R-PE to L-PE(s).
The R-PE imposes the upstream-assigned PW label on the outbound
packets sent over the P2MP PW; using this label, an L-PE identifies
the inbound packets arriving over the P2MP PW.
Boutros & Sivabalan Standards Track [Page 5]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
Additionally, the R-PE MAY send Label Mapping Messages to one or more
L-PEs to signal a unidirectional P2P PW(s). The L-PE(s) can use such
a PW(s) to send traffic to the R-PE. This optional Label Mapping
Message will contain the following:
1. A P2P PW Downstream FEC Element
2. A label TLV for the downstream-assigned label used by the
corresponding L-PE to send traffic to the R-PE
The LDP liberal label retention mode MUST be used; per requirements
specified in [RFC5036], the Label Request message MUST also be
supported.
The upstream-assigned label is allocated according to the rules in
[RFC5331].
When an L-PE receives a PW Label Mapping Message, it MUST verify the
associated P2MP PSN LSP is in place. If the associated P2MP PSN LSP
is not in place and its type is LDP P2MP LSP, the L-PE MUST attempt
to join the P2MP LSP associated with the P2MP PW. If the associated
P2MP PSN LSP is not in place, and its type is RSVP-TE P2MP LSP, the
L-PE SHOULD wait till the P2MP transport LSP is signaled. If an L-PE
fails to join the P2MP PSN LSP, that L-PE MUST not enable the PW and
MUST notify the user. In this case, a PW status message with status
code of 0x00000008 (Local PSN-facing PW (ingress) Receive Fault) MUST
also be sent to the R-PE.
3.1. PW Ingress-to-Egress Incompatibility Issues
If an R-PE signals a PW with a PW Type, Control Word (CW) mode, or
interface parameters that a particular L-PE cannot accept, then the
L-PE MUST NOT enable the PW and should notify the user. In this
case, a PW status message with status code of 0x00000001 (Pseudowire
Not Forwarding) MUST also be sent to the R-PE.
Note that this procedure does not apply if the L-PE was not
provisioned with this particular P2MP PW. In this case, according to
the LDP liberal label retention rules, no action is taken.
3.2. P2MP PW FEC
[RFC8077] specifies two types of LDP FEC elements used to signal P2P
PWs: "PWid FEC Element" and "Generalized PWid FEC Element". This
document uses two FEC elements: "P2MP PW Upstream FEC Element" and
"P2P PW Downstream FEC Element". These FEC elements are associated
with a mandatory upstream-assigned label and an optional downstream-
assigned label, respectively.
Boutros & Sivabalan Standards Track [Page 6]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
3.2.1. P2MP PW Upstream FEC Element
The FEC type for the P2MP PW Upstream FEC Element is encoded as
follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|P2MP PW Up=0x82|C| PW Type | PW Info Length|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AGI Type | AGI Length | AGI Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ AGI Value (contd.) ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AII Type | SAII Length | SAII Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ SAII Value (contd.) ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PMSI Tunnel Typ|PMSI TT Length | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
+ +
~ Transport LSP ID ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Optional Parameters |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: P2MP PW Upstream FEC Element
* P2MP PW Up:
8-bit representation for the P2MP PW Upstream FEC type.
* C bit:
A value of 1 or 0 indicating whether a control word is present or
absent for the P2MP PW.
* PW Type:
15-bit representation of PW Type as specified in [RFC8077].
Boutros & Sivabalan Standards Track [Page 7]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
* PW Info Length:
Sum of the AGI Length, SAII Length, PMSI Tunnel Type Length, and
Optional Parameters fields in octets. If this value is 0, then it
references all PWs using the specified group ID. In this case,
there are neither other FEC element fields (AGI Type, SAII Value,
etc.) present, nor any interface parameters TLVs. Alternatively,
typed wildcard FEC described in Section 2.3, can be used to
achieve the same or to have better filtering.
* AGI:
An Attachment Group Identifier TLV can be used to uniquely
identify a VPN or Virtual Private LAN Service (VPLS) instance
associated with the P2MP PW. This has the same format as the
Generalized PWid FEC Element [RFC8077].
* SAII Value:
A Source Attachment Individual Identifier is used to identify the
root of the P2MP PW. The root is represented using AII Type 2
format specified in [RFC5003]. Note that the SAII can be omitted
by simply setting the length and type to zero.
The P2MP PW is identified by the Source Attachment Identifier
(SAI). If the AGI is non-null, the SAI is the combination of the
SAII and the AGI, if the AGI is null, the SAI is the SAII.
* PMSI Tunnel Info:
The PMSI Tunnel Info is the combination of the PMSI Tunnel Type,
PMSI Tunnel Type Length (shown in the figure as PMSI TT Length),
and Transport LSP ID fields.
A P2MP PW MUST be associated with a transport LSP, which can be
established using RSVP-TE or mLDP.
* PMSI Tunnel Type:
The PMSI Tunnel Type is defined in [RFC6514].
When the type is set to mLDP P2MP LSP, the Tunnel Identifier is a
P2MP FEC Element as defined in [RFC6388]. The new mLDP Opaque
Value Element type for the L2VPN-MCAST application TLV (as
specified in the IANA Considerations section (Section 7)) MUST be
used.
Boutros & Sivabalan Standards Track [Page 8]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
* Transport LSP ID:
This is the Tunnel Identifier that is defined in [RFC6514].
An R-PE sends a Label Mapping Message as soon as the transport LSP
ID associated with the P2MP PW is known (e.g., via configuration)
regardless of the operational state of that transport LSP.
Similarly, an R-PE does not withdraw the labels when the
corresponding transport LSP goes down. Furthermore, an L-PE
retains the P2MP PW labels regardless of the operational status of
the transport LSP.
Note that a given transport LSP can be associated with more than
one P2MP PW; in which case, P2MP PWs will be sharing the same R-PE
and L-PE(s). An R-PE may also have many P2MP PWs with disjoint
L-PE sets.
In the case of LDP P2MP LSP, when an L-PE receives the Label
Mapping Message, it can initiate the process of joining the P2MP
LSP tree associated with the P2MP PW.
In the case of RSVP-TE P2MP LSP, only the R-PE initiates the
signaling of P2MP LSP.
* Optional Parameters:
The Optional Parameter field can contain some TLVs that are not
part of the FEC, but are necessary for the operation of the PW.
This proposed mechanism uses two such TLVs: the Interface
Parameters TLV and the PW Group ID TLV.
The Interface Parameters TLV and PW Group ID TLV specified in
[RFC8077] can also be used in conjunction with P2MP PW FEC in a
label message. For the PW Group ID TLV, the sender and receiver
of these TLVs should follow the same rules and procedures
specified in [RFC8077]. For the Interface Parameters TLV, the
procedure differs from the one specified in [RFC8077] due to
specifics of P2MP connectivity. When the interface parameters are
signaled by an R-PE, each L-PE must check if its configured
value(s) is less than or equal to the threshold value provided by
the R-PE (e.g., MTU size (Ethernet), max number of concatenated
ATM cells, etc.). For other interface parameters, like CEP/TDM
Payload Bytes, the value MUST exactly match the values signaled by
the R-PE.
Boutros & Sivabalan Standards Track [Page 9]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
A multicast traffic stream associated with a P2MP PW can be
selective or inclusive. To support the former, this document
defines a new optional Selective Tree Interface Parameter sub-TLV,
as described in the IANA Considerations section (Section 7) and
according to the format described in [RFC8077]. The value of the
sub-TLV contains the source and the group for a given multicast
tree, as shown in Figure 3. Also, if a P2MP PW is associated with
multiple selective trees, the corresponding Label Mapping Message
will carry more than one instance of this sub-TLV. Furthermore,
in the absence of this sub-TLV, the P2MP PW is associated with all
multicast traffic streams originating from the root.
+-----------------------------------------+
| Sub-TLV Type (1 Octet) |
+-----------------------------------------+
| Length (1 Octet) |
+-----------------------------------------+
| Multicast Source Length (1 Octet) |
+-----------------------------------------+
| Multicast Source (variable length) |
+-----------------------------------------+
| Multicast Group Length (1 Octet) |
+-----------------------------------------+
| Multicast Group (variable length) |
+-----------------------------------------+
Figure 3: Selective Tree Interface Parameter Sub-TLV Value
Note that since the LDP Label Mapping Message is only sent by the
R-PE to all the L-PEs, it is not possible to negotiate any
interface parameters.
Boutros & Sivabalan Standards Track [Page 10]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
3.2.2. P2P PW Downstream FEC Element
The optional P2P PW Downstream FEC Element is encoded as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|P2P PWDown=0x84|C| PW Type | PW Info Length|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AGI Type | Length | AGI Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ AGI Value (contd.) ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AII Type | Length | SAII Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ SAII Value (contd.) ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: P2P PW Downstream FEC Element
The definition of the fields in the P2P PW Downstream FEC Element is
the same as those of P2MP PW Upstream FEC Element, shown in Figure 2.
3.3. Typed Wildcard FEC Format for a New FEC
[RFC5918] defines the general notion of a Typed Wildcard FEC Element;
it requires FEC designers to specify a Typed Wildcard FEC Element for
newly defined FEC element types. This document uses two FEC
elements: "P2MP PW Upstream" and "P2P PW Downstream". Hence,
definition of their Typed Wildcard format is required.
[RFC6667] defines the Typed Wildcard FEC Element format for other PW
FEC Element types (PWid and Generalized PWid FEC Element) in
Section 3 as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Typed Wcard=0x5|Type=PW FEC | Len = 3 |R| PW Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . | PMSI Tun Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: Typed Wildcard Format for P2MP PW FEC Elements
Boutros & Sivabalan Standards Track [Page 11]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
[RFC6667] specifies that the Type field can be either the "PWid"
(0x80) or "Generalized PWid" (0x81) FEC Element type. This document
reuses the existing Typed Wildcard format specified in [RFC6667] and
illustrated in Figure 5 and extends the definition of the Type field
to also include the P2MP PW Upstream FEC Element and P2P PW
Downstream FEC Element types. This document adds an additional field
called the "PMSI Tunnel Type". This document reserves PMSI Tunnel
Type 0xFF to mean "wildcard transport tunnel type". The PMSI Tunnel
Type field only applies to the Typed Wildcard P2MP PW Upstream FEC
Element and MUST be set to "wildcard" for "P2P PW Downstream FEC
Element" typed wildcard.
3.4. Group ID Usage
The PW Group ID TLV as defined in [RFC8077] contains a group ID
capable of indicating an arbitrary group membership of a P2MP PW.
This group ID can be used in LDP "wildcard" status and withdraw label
messages, as described in [RFC8077].
3.5. Generic Label TLV
As in the case of P2P PW signaling, P2MP PW labels are carried within
the Generic Label TLV contained in the LDP Label Mapping Message. A
Generic Label TLV is formatted and processed as per the rules and
procedures specified in [RFC8077]. For a given P2MP PW, a single
upstream-assigned label is allocated by the R-PE and is advertised to
all L-PEs using the Generic Label TLV in Label Mapping Messages
containing the P2MP PW Upstream FEC Element.
The R-PE can also allocate a unique label for each L-PE from which it
intends to receive P2P traffic. Such a label is advertised to the
L-PE using the Generic Label TLV and P2P PW Downstream FEC Element in
Label Mapping Messages.
4. LDP Capability Negotiation
The capability of supporting P2MP PWs MUST be advertised to all LDP
peers. This is achieved by using the methods in [RFC5561] to
advertise the LDP P2MP PW Capability TLV. If an LDP peer supports
the dynamic capability advertisement, this can be done by sending a
new Capability message with the S bit set for the P2MP PW Capability
TLV. If the peer does not support dynamic capability advertisement,
then the P2MP PW Capability TLV MUST be included in the LDP
Initialization message during session establishment. A Label
Switched Router (LSR) having P2MP PW capability MUST recognize both
the P2MP PW Upstream FEC Element and P2P PW Downstream FEC Element in
LDP label messages.
Boutros & Sivabalan Standards Track [Page 12]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
In line with requirements listed in [RFC5561], the following TLV is
defined to indicate the P2MP PW capability:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| P2MP PW Capability TLV | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S| Reserved | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: LDP P2MP PW Capability TLV
* U bit:
The Unknown bit [RFC5036] SHOULD be 1 (ignore if not understood).
* F bit:
The Forward unknown bit [RFC5036] SHOULD be 0 (don't forward if
not understood).
* P2MP PW Capability TLV Code Point:
The TLV type, which identifies a specific capability. Note that
the P2MP PW Capability Code Point appears in the IANA
Considerations section (Section 7).
* S bit:
The State Bit indicates whether the sender is advertising or
withdrawing the P2MP PW capability. The State bit is used as
follows:
1 - The TLV is advertising the capability specified by the P2MP PW
Capability TLV Code Point.
0 - The TLV is withdrawing the capability specified by the P2MP PW
Capability TLV Code Point.
* Length:
MUST be set to 2 (octet).
Boutros & Sivabalan Standards Track [Page 13]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
5. P2MP PW Status
In order to support the proposed mechanism, an LSR MUST be capable of
handling PW status. As such, the PW status negotiation procedures
described in [RFC8077] are not applicable to P2MP PW. An LSR MUST
NOT claim to be P2MP PW capable by sending an LDP P2MP PW Capability
TLV if it is not also capable of handling PW status.
Once an L-PE successfully processes a Label Mapping Message for a
P2MP PW, it MUST send appropriate PW status according to the
procedure specified [RFC8077] to report the PW status. If no PW
status notification is required, then no PW status notification is
sent (for example, if the P2MP PW is established and operational with
a status code of 0x00000000 (Success), a PW status message is not
necessary). A PW status message sent from an L-PE to an R-PE MUST
contain the P2P PW Downstream FEC Element to identify the PW.
An R-PE also sends PW status to L-PE(s) to reflect its view of a P2MP
PW state. Such a PW status message contains a P2MP PW Upstream FEC
Element to identify the PW.
Connectivity status of the underlying P2MP LSP that the P2MP PW is
associated with can be verified using LSP ping and traceroute
procedures described in [RFC6425].
6. Security Considerations
In general, the security measures described in [RFC8077] are adequate
for this protocol. However, the use of MD5 as the method of securing
an LDP control plane is no longer considered adequately secure.
Implementations should be written in such a way that they can migrate
to a more secure cryptographic hash function when the next
authentication method to be used in the LDP might not be a simple
hash-based authentication algorithm.
7. IANA Considerations
7.1. FEC Type Name Space
This document uses two FEC element types, 0x82 and 0x84, in the
"Forwarding Equivalence Class (FEC) Type Name Space" registry for the
Label Distribution Protocol (LDP) [RFC5036]. IANA has added this
document as a reference for the following entries:
Value Hex Name Reference
------ ----- ----------------------------- --------------------
130 0x82 P2MP PW Upstream FEC Element [RFC8338] [RFC7358]
132 0x84 P2P PW Downstream FEC Element [RFC8338] [RFC7358]
Boutros & Sivabalan Standards Track [Page 14]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
7.2. LDP TLV Type
This document defines a new LDP TLV type in the "TLV Type Name Space"
registry [RFC5036]. IANA has assigned the following value:
TLV Type Description
-------- ----------------------
0x0703 P2MP PW Capability TLV
7.3. mLDP Opaque Value Element TLV Type
IANA has assigned a new mLDP Opaque Value Element Type in the "LDP MP
Opaque Value Element basic type" registry [RFC6388] as follows:
TLV Type Description
------- ---------------------------
13 L2VPN-MCAST application TLV
Length: 4
Value: A 32-bit integer, unique in the context of the
root, as identified by the root's address.
7.4. Selective Tree Interface Parameter Sub-TLV Type
IANA has assigned a sub-TLV from the "Pseudowire Interface Parameters
Sub-TLV type Registry" [RFC4446] as follows:
TLV Type Description
-------- ----------------------------------
0x1B Selective Tree Interface Parameter
7.5. Wildcard PMSI Tunnel Type
IANA has modified an entry in the "P-Multicast Service Interface
Tunnel (PMSI Tunnel) Tunnel Types" registry within the "Border
Gateway Protocol (BGP) Parameters" registry [RFC7385]. Value 0xFF,
which was previously marked as "Reserved", has been updated as
follows:
Value Meaning Reference
----- ------------------------------ ---------
0xFF wildcard transport tunnel type [RFC8338]
Boutros & Sivabalan Standards Track [Page 15]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC4446] Martini, L., "IANA Allocations for Pseudowire Edge to Edge
Emulation (PWE3)", BCP 116, RFC 4446,
DOI 10.17487/RFC4446, April 2006,
<https://www.rfc-editor.org/info/rfc4446>.
[RFC4875] Aggarwal, R., Ed., Papadimitriou, D., Ed., and S.
Yasukawa, Ed., "Extensions to Resource Reservation
Protocol - Traffic Engineering (RSVP-TE) for Point-to-
Multipoint TE Label Switched Paths (LSPs)", RFC 4875,
DOI 10.17487/RFC4875, May 2007,
<https://www.rfc-editor.org/info/rfc4875>.
[RFC5003] Metz, C., Martini, L., Balus, F., and J. Sugimoto,
"Attachment Individual Identifier (AII) Types for
Aggregation", RFC 5003, DOI 10.17487/RFC5003, September
2007, <https://www.rfc-editor.org/info/rfc5003>.
[RFC5036] Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed.,
"LDP Specification", RFC 5036, DOI 10.17487/RFC5036,
October 2007, <https://www.rfc-editor.org/info/rfc5036>.
[RFC5331] Aggarwal, R., Rekhter, Y., and E. Rosen, "MPLS Upstream
Label Assignment and Context-Specific Label Space",
RFC 5331, DOI 10.17487/RFC5331, August 2008,
<https://www.rfc-editor.org/info/rfc5331>.
[RFC5332] Eckert, T., Rosen, E., Ed., Aggarwal, R., and Y. Rekhter,
"MPLS Multicast Encapsulations", RFC 5332,
DOI 10.17487/RFC5332, August 2008,
<https://www.rfc-editor.org/info/rfc5332>.
[RFC5561] Thomas, B., Raza, K., Aggarwal, S., Aggarwal, R., and JL.
Le Roux, "LDP Capabilities", RFC 5561,
DOI 10.17487/RFC5561, July 2009,
<https://www.rfc-editor.org/info/rfc5561>.
Boutros & Sivabalan Standards Track [Page 16]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
[RFC5918] Asati, R., Minei, I., and B. Thomas, "Label Distribution
Protocol (LDP) 'Typed Wildcard' Forward Equivalence Class
(FEC)", RFC 5918, DOI 10.17487/RFC5918, August 2010,
<https://www.rfc-editor.org/info/rfc5918>.
[RFC6388] Wijnands, IJ., Ed., Minei, I., Ed., Kompella, K., and B.
Thomas, "Label Distribution Protocol Extensions for Point-
to-Multipoint and Multipoint-to-Multipoint Label Switched
Paths", RFC 6388, DOI 10.17487/RFC6388, November 2011,
<https://www.rfc-editor.org/info/rfc6388>.
[RFC6514] Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP
Encodings and Procedures for Multicast in MPLS/BGP IP
VPNs", RFC 6514, DOI 10.17487/RFC6514, February 2012,
<https://www.rfc-editor.org/info/rfc6514>.
[RFC6667] Raza, K., Boutros, S., and C. Pignataro, "LDP 'Typed
Wildcard' Forwarding Equivalence Class (FEC) for PWid and
Generalized PWid FEC Elements", RFC 6667,
DOI 10.17487/RFC6667, July 2012,
<https://www.rfc-editor.org/info/rfc6667>.
[RFC7385] Andersson, L. and G. Swallow, "IANA Registry for
P-Multicast Service Interface (PMSI) Tunnel Type Code
Points", RFC 7385, DOI 10.17487/RFC7385, October 2014,
<https://www.rfc-editor.org/info/rfc7385>.
[RFC8077] Martini, L., Ed. and G. Heron, Ed., "Pseudowire Setup and
Maintenance Using the Label Distribution Protocol (LDP)",
STD 84, RFC 8077, DOI 10.17487/RFC8077, February 2017,
<https://www.rfc-editor.org/info/rfc8077>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
8.2. Informative References
[RFC3985] Bryant, S., Ed. and P. Pate, Ed., "Pseudo Wire Emulation
Edge-to-Edge (PWE3) Architecture", RFC 3985,
DOI 10.17487/RFC3985, March 2005,
<https://www.rfc-editor.org/info/rfc3985>.
Boutros & Sivabalan Standards Track [Page 17]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
[RFC6074] Rosen, E., Davie, B., Radoaca, V., and W. Luo,
"Provisioning, Auto-Discovery, and Signaling in Layer 2
Virtual Private Networks (L2VPNs)", RFC 6074,
DOI 10.17487/RFC6074, January 2011,
<https://www.rfc-editor.org/info/rfc6074>.
[RFC6425] Saxena, S., Ed., Swallow, G., Ali, Z., Farrel, A.,
Yasukawa, S., and T. Nadeau, "Detecting Data-Plane
Failures in Point-to-Multipoint MPLS - Extensions to LSP
Ping", RFC 6425, DOI 10.17487/RFC6425, November 2011,
<https://www.rfc-editor.org/info/rfc6425>.
[RFC7338] Jounay, F., Ed., Kamite, Y., Ed., Heron, G., and M. Bocci,
"Requirements and Framework for Point-to-Multipoint
Pseudowires over MPLS Packet Switched Networks", RFC 7338,
DOI 10.17487/RFC7338, September 2014,
<https://www.rfc-editor.org/info/rfc7338>.
[RFC7358] Raza, K., Boutros, S., Martini, L., and N. Leymann, "Label
Advertisement Discipline for LDP Forwarding Equivalence
Classes (FECs)", RFC 7358, DOI 10.17487/RFC7358, October
2014, <https://www.rfc-editor.org/info/rfc7358>.
Acknowledgments
The authors would like to thank Andre Pelletier and Parag Jain for
their valuable suggestions.
Contributors
The following people contributed substantially to the content of this
document and should be considered coauthors:
Luca Martini
Cisco Systems, Inc.
Email: lmartini@cisco.com
Maciek Konstantynowicz
Cisco Systems, Inc.
Email: maciek@cisco.com
Boutros & Sivabalan Standards Track [Page 18]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
Gianni Del Vecchio
Swisscom
Email: Gianni.DelVecchio@swisscom.com
Thomas D. Nadeau
Brocade
Email: tnadeau@lucidvision.com
Frederic Jounay
Orange CH
Email: Frederic.Jounay@salt.ch
Philippe Niger
Orange CH
Email: philippe.niger@orange.com
Yuji Kamite
NTT Communications Corporation
Email: y.kamite@ntt.com
Lizhong Jin
Email: lizho.jin@gmail.com
Martin Vigoureux
Nokia
Email: martin.vigoureux@nokia.com
Laurent Ciavaglia
Nokia
Email: laurent.ciavaglia@nokia.com
Simon Delord
Telstra
Email: simon.delord@gmail.com
Kamran Raza
Cisco Systems
Email: skraza@cisco.com
Boutros & Sivabalan Standards Track [Page 19]
RFC 8338 Root-Initiated P2MP Pseudowire March 2018
Authors' Addresses
Sami Boutros (editor)
VMware, Inc.
Email: sboutros@vmware.com
Siva Sivabalan (editor)
Cisco Systems, Inc.
Email: msiva@cisco.com
Boutros & Sivabalan Standards Track [Page 20]