Patent ID: 8644311

Claim:
A method comprising: providing a virtual routing engine (VRE) including a plurality of virtual routing processors and corresponding memory systems, the VRE implementing a plurality of virtual routers (VRs) operable on one or more of the plurality of virtual routing processors and associated routing contexts utilizing a plurality of multicast address spaces resident in the corresponding memory systems; and simultaneously performing multicasting on behalf of a plurality of subscribers of a service provider by, for each of a plurality of multicast flows originated by the plurality of subscribers: selecting a VR of the plurality of VRs to handle multicast packets associated with the multicast flow; switching a routing context of the VRE to the associated routing context of the selected VR; and forwarding a multicast packet of the multicast flow to a plurality of multicast destinations by reading at least a portion of the multicast packet from a common buffer for each instance of multicasting and applying destination specific transform control instructions to the multicast packet for each instance of multicasting.