Patent ID: 7564806

Claim:
A method comprising: establishing a multicast tree comprising a point-to-multipoint (P2MP) tunnel for transporting layer three (L3) multicast data packets through a network, wherein the P2MP tunnel includes a source device providing an ingress to the multicast tree and a plurality of destination devices providing a plurality of different egresses from the multicast tree, wherein each of the plurality of destination devices belongs to at least one multicast virtual private network (MVPN); and transmitting the (L3) multicast data packets for a plurality of different MVPNs from the source device through the P2MP tunnel to the plurality of destination devices on the multicast tree, wherein establishing the multicast tree comprises: discovering, with the source device, the MVPNs of which the destination devices are members; mapping more than one of the discovered MVPNs to the multicast tree; allocating a different inner label with the source device for each of the more than one MVPNs mapped to the multicast tree; advertising mapping information from the source device to the one or more destination devices, wherein the mapping information specifies which of the discovered MVPNs are mapped to the multicast tree by the source device; with the source device, including the allocated inner labels within the mapping information advertised from the source device to the destination devices to allow the destination devices to demultiplex the multicast data packets received over the multicast tree for the more than one MVPNs; in response to the mapping information advertised by the source device, maintaining, within each destination device, a separate label space for the multicast tree, wherein the label space within each destination device includes forwarding entries for the inner labels allocated by the source device, and wherein transmitting the multicast data packets from the source device comprises encapsulating each of the multicast data packets at the source device with an outer label and one of the inner labels, wherein the outer label identifies the label space within the destination device that corresponds to the multicast tree, and wherein the inner label is based on the MVPN with which the multicast data packet is associated.