Hardware-accelerated packet multicasting in a virtual routing system
First Claim
1. A method for packet multicasting in a virtual routing system, the method comprising:
- receiving a multicast packet at an ingress system of a packet-forwarding engine (PFE) of the virtual routing system, the virtual routing system including one or more virtual service engines (VSEs) and a flow manager configured to load balance service requests to the one or more VSEs;
the ingress system identifying a plurality of flow classification indices for the multicast packet;
for each instance of multicasting, the ingress system sending a single copy of the multicast packet and the plurality of flow classification indices to an egress system of the PFE;
buffering the single copy of the multicast packet in a memory accessible by the egress system; and
the egress system preparing the multicast packet for transmission by for each flow classification index of the plurality of flow classification indices, identifying corresponding transform control instructions based on the flow classification index, reading the single copy of the multicast packet from the memory, causing the multicast packet to be transformed in accordance with the identified transform control instructions and outputting the transformed multicast packet.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems are provided for hardware-accelerated packet multicasting in a virtual routing system. According to one embodiment, a multicast packet is received at an ingress system of a packet-forwarding engine (PFE). The ingress system identifies flow classification indices for the multicast packet. Then, for each instance of multicasting, the ingress system sends a single copy of the multicast packet and the flow classification indices to an egress system of the PFE. The single copy of the multicast packet is buffered in a memory accessible by the egress system. The egress system prepares the multicast packet for transmission by for each flow classification index, identifying corresponding transform control instructions based on the flow classification index, reading the single copy of the multicast packet from the memory, causing the multicast packet to be transformed in accordance with the identified transform control instructions and outputting the transformed multicast packet.
175 Citations
18 Claims
-
1. A method for packet multicasting in a virtual routing system, the method comprising:
-
receiving a multicast packet at an ingress system of a packet-forwarding engine (PFE) of the virtual routing system, the virtual routing system including one or more virtual service engines (VSEs) and a flow manager configured to load balance service requests to the one or more VSEs; the ingress system identifying a plurality of flow classification indices for the multicast packet; for each instance of multicasting, the ingress system sending a single copy of the multicast packet and the plurality of flow classification indices to an egress system of the PFE; buffering the single copy of the multicast packet in a memory accessible by the egress system; and the egress system preparing the multicast packet for transmission by for each flow classification index of the plurality of flow classification indices, identifying corresponding transform control instructions based on the flow classification index, reading the single copy of the multicast packet from the memory, causing the multicast packet to be transformed in accordance with the identified transform control instructions and outputting the transformed multicast packet. - View Dependent Claims (2, 7)
-
-
3. A system comprising:
-
one or more virtual service engines (VSEs); a flow manager configured to load balance service requests to the one or more VSEs; and one or more virtual routing engines (VREs) coupled to the one or more VSEs, each of the VREs including a packet classifier; and a packet transformer;
wherein,the packet classifier is configured to receive multicast packets and for each of the received multicast packets, the packet classifier configured to identify a plurality of flow classification indices and configured for each instance of multicasting to send a single copy of the multicast packets and the identified plurality of flow classification indices to the packet transformer; the packet transformer is configured to transform each of the multicast packets by operating on the single copy in accordance with one or more transform control instructions identified based on the identified plurality of flow classification indices. - View Dependent Claims (4, 5, 6)
-
-
8. In a virtual routing system having a plurality of virtual routers (VRs) instantiated by a virtual routing engine (VRE), wherein the instantiation of each VR includes an associated routing context, a method of multicasting packets comprising:
-
determining one of the plurality of VRs for a packet received from a service provider for multicasting; switching a routing context of the VRE to a routing context associated with the VR determined for the received packet; reading at least a portion of the received packet from one of a plurality of multicast address spaces associated with the selected VR to multicast the received packet; identifying a plurality of flow classification indices for the received packet; sending the received packet and a first of the flow classification indices to a packet transformer; buffering the received packet in a memory associated with the packet transformer; identifying first transform control instructions from the first flow classification index; and transforming the received packet in accordance with the first transform control instructions. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable storage medium tangibly embodying a set of instructions, which when executed by one or more processors of a virtual routing system, cause the one or more processors to perform a method comprising:
-
receiving a multicast packet at an ingress system of a packet-forwarding engine (PFE) of the virtual routing system, the virtual routing system including one or more virtual service engines (VSEs) and a flow manager configured to load balance service requests to the one or more VSEs; the ingress system identifying a plurality of flow classification indices for the multicast packet; for each instance of multicasting, the ingress system sending a single copy of the multicast packet and the plurality of flow classification indices to an egress system of the PFE; buffering the single copy of the multicast packet in a memory accessible by the egress system; and the egress system preparing the multicast packet for transmission by, for each flow classification index of the plurality of flow classification indices, identifying corresponding transform control instructions based on the flow classification index, reading the single copy of the multicast packet from the memory, causing the multicast packet to be transformed in accordance with the identified transform control instructions and outputting the transformed multicast packet. - View Dependent Claims (18)
-
Specification