4. P2MP Tree Instance
A PTI establishes a forwarding structure from a Root node to Leaf nodes through intermediate Replication nodes. It contains a Replication segment at the Root node, zero or more Replication segments at intermediate Replication nodes, and Replication segments at Leaf nodes.
4.1. Replication Segments at Leaf Nodes
A PTI is usually associated with one multipoint service. On a Leaf node, the transport identifier, either the Tree-SID or the Leaf-node Replication-SID, is also associated with the service context because transport and service context cannot always be separated efficiently in core replication.
For SR-MPLS, if services mapped to a PTI can be uniquely identified by their service labels, a controller MAY choose not to instantiate Replication segments at Leaf nodes. Upstream Replication nodes can remove the Tree-SID before forwarding. Upstream-assigned labels or a Domain-wide Common Block (DCB) from RFC 9573 are examples of globally unique service context.
For SRv6, Replication segments of a PTI MUST be instantiated on Leaf nodes because PHP-like behavior is not possible: the Tree-SID is carried in the outer IPv6 Destination Address. If multiple services map to one SRv6 PTI, a service-context SRv6 SID MUST be encoded as the last segment in the SRH Segment List so the Leaf node can derive the packet processing context.
4.2. Shared Replication Segments
A Replication segment MAY be shared across PTIs, for example for local protection on a Replication node. A shared Replication segment MUST be identified with Root set to zero (0.0.0.0 for IPv4 and :: for IPv6), Instance-ID set to zero, and Tree-ID unique within the node where the segment is instantiated:
Root = 0.0.0.0 or ::
Instance-ID = 0
Tree-ID = unique in the local node context
This matches the updated Replication-ID definition. Sharing a P2MP sub-tree across PTIs is possible, but those procedures are outside this document.
4.3. Packet Forwarding in a P2MP Tree Instance
When a packet enters a PTI, the Root-node Replication segment replicates it and forwards copies downstream. Each replicated packet carries the Replication-SID for the downstream Replication segment. A downstream node is either a Leaf node, where replication terminates, or an intermediate Replication node, which further replicates the packet until all Leaf nodes receive it.
Replication nodes and downstream nodes may be non-adjacent. SR-MPLS uses one or more SIDs before the downstream Replication-SID to steer the packet. SRv6 can use the downstream Replication-SID LOC or an optional segment list to steer packets along a specific path.