SCALABLE IP-SERVICES ENABLED MULTICAST FORWARDING WITH EFFICIENT RESOURCE UTILIZATION
First Claim
1. A memory of a router, the memory comprising:
- a data structure stored in the memory, the data structure including information relating to a set of multicast sessions being handled by the router 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 router 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.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatus and data structures are provided for managing multicast IP flows. According to one embodiment, a memory of a router has stored therein a data structure, which includes information relating to multicast sessions being handled by the router and including a first pointer for each multicast session, at least one 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 router 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. The TCBs are configured to store control information relevant to processing or routing packets. Each second pointer points to a TCB and each TCB identifies the OIF out which packets of the multicast session are transmitted from the router.
-
Citations
14 Claims
-
1. A memory of a router, the memory comprising:
a data structure stored in the memory, the data structure including information relating to a set of multicast sessions being handled by the router 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 router 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 (2, 3, 4, 5)
-
6. A memory of a router, the memory comprising:
a data structure stored in the memory, the data structure including information relating to a set of multicast sessions being handled by the router 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 router 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 router. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
Specification