MPLS Segment Routing Point-to-Multipoint (P2MP) Policy Ping
Extracted elements (22)
A new Target FEC Stack sub-TLV (SR MPLS P2MP Policy Tree Instance, Sub-Type 41) was required because existing P2MP RSVP-TE and Multicast LDP identifiers cannot uniquely identify SR P2MP Policy CPs and PTIs; each protocol uses its own identifier scheme.
Egress Address P2MP Responder sub-TLVs are excluded from SR P2MP Policy echo requests because, analogous to Multicast LDP, transit routers in an SR P2MP domain (often programmed via PCE) do not have visibility into downstream Leaf nodes. Only the Root node—where the SR P2MP Policy is programmed—knows the Leaf nodes.
The document reuses the same destination UDP port from RFC 8029 for SR P2MP Policy ping to maintain consistency with existing MPLS OAM mechanisms and facilitate seamless integration with deployed tools.
The SR MPLS P2MP Policy Tree Instance sub-TLV tests a specific PTI within a specific CP, not the CP itself, reflecting the granularity at which SR P2MP Policy connectivity needs to be verified—since a CP may contain multiple PTIs for Make-Before-Break operations.
Unlike Multicast LDP where the initiating LSR may not know all Leaf routers and thus requires a configurable TTL upper limit for traceroute, the SR P2MP Root node has full visibility into the Leaf nodes, providing a definitive way to estimate when traceroute processing ends. A configurable TTL limit is therefore an implementation choice rather than a requirement.
For P2MP trees using non-adjacent Replication segments connected by a unicast path (e.g., via an SR Policy), SR P2MP OAM tools verify the Replication segments while unicast OAM tools verify the unicast path; the Replication-SID should not be exposed or examined on the unicast path. For ping, either Pipe Mode or Uniform Mode can be used.
The fault detection procedures in RFC 6425 are applicable to all P2MP MPLS protocols, and this document explicitly extends their applicability to SR P2MP Policies. All considerations and limitations in RFC 6425 Section 6 apply to SR P2MP Policy ping as defined here.
This specification applies exclusively to Replication Segments using MPLS encapsulation (Replication-SIDs) and does not cover SRv6. The mechanisms build upon RFC 6425 for P2MP MPLS OAM and reuse the same destination UDP port as RFC 8029.
Egress Address P2MP Responder sub-TLVs SHOULD NOT be used when an echo request carries an SR P2MP Policy MPLS CP FEC, because transit routers lack visibility into downstream Leaf nodes in SR P2MP deployments (unlike RSVP-TE). A node receiving such sub-TLVs will not respond.
For P2MP tree traceroute over non-adjacent Replication segments connected via a unicast path, the TTL mode MUST be set to Pipe Mode on the router where the unicast path starts, to ensure the traceroute packet reaches the downstream Replication segment.
Implementations MUST account for the fact that an SR P2MP Policy may contain multiple CPs, and each CP may consist of multiple PTIs.
Implementations SHOULD support the ability to individually test each CP and its corresponding PTI using ping and traceroute mechanisms.
It is RECOMMENDED (per RFC 6425 Section 4.3.1) that traceroute operations provide for a configurable upper limit on TTL values; however, for SR P2MP Policy this may not be necessary since the Root node has visibility of all Leaf nodes.
SR P2MP Policies SHOULD follow the common procedures specified in RFC 6425 for P2MP MPLS LSPs, and the same destination UDP port defined in RFC 8029 is reused for consistency with existing MPLS OAM mechanisms.
The echo request message MUST include a Target FEC Stack TLV that explicitly specifies the CP and PTI under test in order to correctly identify the Replication segment associated with a given CP and PTI.
The Reserved field in the SR MPLS P2MP Policy Tree Instance sub-TLV MUST be set to zero by the sender and should be ignored by the receiver.
To avoid potential Denial-of-Service attacks, it is RECOMMENDED that implementations regulate the LSP ping traffic going to the control plane, and a rate limiter SHOULD be applied to the well-known UDP port allocated for this service.
When a downstream node capable of understanding the Replication-SID receives a ping or traceroute packet, it MUST process the request and generate a response even if the CP and its PTI are not currently the active path.
A new sub-TLV called the SR MPLS P2MP Policy Tree Instance sub-TLV (Sub-Type 41, variable length) is introduced to uniquely identify a specific PTI within a specific CP of an SR P2MP Policy in echo request messages. It is assigned from the 'Sub-TLVs for TLV Types 1, 16, and 21' registry under the Target FEC Stack (Type 1) entry.
IANA has assigned sub-type value 41 for the 'SR MPLS P2MP Policy Tree Instance' sub-TLV in the 'Sub-TLVs for TLV Types 1, 16, and 21' registry under the 'Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters' registry group, assigned from the Standards Action range 0-16383 under Target FEC Stack (Type 1).
SR P2MP Policy ping is susceptible to the same three attack vectors described in RFC 8029 Section 5. Implementations should follow the procedures and recommendations from RFC 8029 Section 5 and RFC 6425 Section 8 (which references RFC 4379) to mitigate these vectors, specifically including rate limiting of LSP ping traffic to the control plane.
The SR MPLS P2MP Policy Tree Instance sub-TLV value field contains: Address Family (2 octets, IPv4/IPv6 only), Address Length (1 octet, 4 for IPv4 or 16 for IPv6), Reserved (1 octet, must be zero), Root (variable, 4 or 16 octets), Tree-ID (4 octets), and Instance-ID (2 octets). This format follows Section 2.3 of RFC 9960.