Scalable IP-services enabled multicast forwarding with efficient resource utilization
First Claim
1. A network switch module comprising:
- a memory partitioned among a plurality of virtual routers (VRs);
a plurality of processors partitioned among the plurality of VRs; and
wherein each VR of the plurality of VRs maintains a data structure in the memory, the data structure including information relating to a set of multicast sessions being handled by the VR and including;
a first pointer for each multicast session in the set of multicast sessions;
at least one chain of one or more blocks of second pointers, in which each first pointer points to one chain of one or more blocks of second pointers, and in which each second pointer corresponds to an outbound interface (OIF) of the VR participating in the multicast session defined by the first pointer and defines how many times packets associated with the multicast session are to be replicated; and
one or more transmit control blocks (TCBs) representing data structures configured to store control information relevant to processing or routing packets, in which each second pointer points to a TCB of the one or more TCBs, in which each TCB of the one or more TCBs identifies the OIF out which packets of the multicast session are transmitted from the VR.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatus and data structures are provided for managing multicast IP flows. According to one embodiment, a network switch module includes a memory and multiple processors partitioned among multiple virtual routers (VRs). Each VR maintains a data structure including information relating to multicast sessions handled by the VR and including a first pointer for each multicast session, a chain of blocks of second pointers and one or more TCBs. Each first pointer points to a chain of blocks of second pointers. Each second pointer corresponds to an OIF of the VR participating in the multicast session defined by the first pointer and defines how many times to replicate packets associated with the multicast session. The TCBs store control information relevant to processing or routing packets. Each second pointer points to a TCB, which identifies the OIF out which packets of the multicast session are transmitted from the VR.
-
Citations
14 Claims
-
1. A network switch module comprising:
-
a memory partitioned among a plurality of virtual routers (VRs); a plurality of processors partitioned among the plurality of VRs; and wherein each VR of the plurality of VRs maintains a data structure in the memory, the data structure including information relating to a set of multicast sessions being handled by the VR and including; a first pointer for each multicast session in the set of multicast sessions; at least one chain of one or more blocks of second pointers, in which each first pointer points to one chain of one or more blocks of second pointers, and in which each second pointer corresponds to an outbound interface (OIF) of the VR participating in the multicast session defined by the first pointer and defines how many times packets associated with the multicast session are to be replicated; and one or more transmit control blocks (TCBs) representing data structures configured to store control information relevant to processing or routing packets, in which each second pointer points to a TCB of the one or more TCBs, in which each TCB of the one or more TCBs identifies the OIF out which packets of the multicast session are transmitted from the VR. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A network switch module comprising:
-
a memory partitioned among a plurality of virtual routers (VRs); a plurality of processors partitioned among the plurality of VRs; and wherein each VR of the plurality of VRs maintains a data structure in the memory, the data structure including information relating to a set of multicast sessions being handled by the VR and including; a plurality of pairs of a source field and a group field ({S, G} pairs) stored in the memory, in which each pair of the plurality of {S, G} pairs defines a multicast session of the set of multicast sessions and wherein the source field defines a source of a multicast transmission and the group field defines a group corresponding to the multicast session; a first pointer associated with each of the plurality of {S, G} pairs that points to a dynamically allocated set of OIF blocks, wherein a number of outbound interface (OIF) blocks in the set of OIF blocks is dependent upon how many of a plurality of OIFs of the VR are currently participating in the multicast session and the number of OIF blocks in the set of OIF blocks defines how many times packets associated with the multicast session are to be replicated; a set of slots associated with each OIF block of the set of OIF blocks, each slot of the set of slots configured to store a second pointer to a transmit control block (TCB) which services one or more users participating in the multicast session and which represents a data structure configured to store control information relevant to processing or routing packets, including information regarding an OIF of the plurality of OIFs out which the packets are to be transmitted; a third pointer associated with each OIF block of the set of OIF blocks to chain together the set of OIF blocks and thereby allow dynamic addition or removal of OIF blocks to or from the set of OIF blocks responsive to users joining or leaving the multicast session. - View Dependent Claims (11, 12, 13, 14)
-
Specification