Linked list profiling and updating
AssigneeMarvell Israel (M.I.S.L) Ltd.
InventorsTal Mizrahi, David Melman
Life of this patent
Estimating the term…
Abstract
Linked list profiling and updating techniques define subsets of linked list entries that are executed upon various resource calls. The subsets are defined by linked list profiles. The techniques can add/remove linked list entries to/from these profiles in a flexible update manner, in which a profile table is used to store profiles, or in atomic manner, in which each linked list entry itself contains profile data. Implemented in a communication system network device, the techniques are used to define and update profiles of physical or virtual ports used for packet-based egress and ingress communications.
Claims20
A method for transmitting a multicast message over a network, the method comprising:
- accessing, in a network device, a profile defining a subset of entries of a linked list, wherein the subset of entries of the linked list is less than all entries of the linked list, where the profile is accessed from among a plurality of profiles, each profile defining a different subset of entries of the linked list, where the entries of the linked list are arranged such that each entry, except for the last entry, contains a pointer to another entry in the linked list, where each entry of the linked list identifies a different network resource of the network device, where each network resource is for communicating with a different network device on the network, wherein each network resource corresponds to a different port on the network device such that the linked list entries identify a plurality of the ports on the network device and such that the profile identifies a subset of the plurality of the ports on the network device, and where the profile stores state bits corresponding to a state of each entry of the linked list, the state bits identifying whether an entry of the linked list is included in the subset;
- using the profile to identify the subset of entries of the linked list;
- and
- transmitting the multicast message to only the network resources identified in the subset of entries of the linked list and not to the network resources identified in other entries of the linked list.
A method of managing a multicast group of network devices on a network, the method comprising:
- defining, in a network device, a linked list having a plurality of linked list entries corresponding to network resources of the network device and defining a plurality of profiles associated with the linked list entries, where each linked list entry, except for the last entry, contains a pointer to another entry in the linked list, wherein at least one profile comprises a state bit for at least some of the plurality of the linked list entries, each state bit having (i) a first state indicating that the corresponding linked list entry is active and (ii) a second state indicating that the corresponding linked list entry is inactive, wherein at least one profile indicates, as active, a subset of entries of the linked list, wherein the subset of entries of the linked list is less than all entries of the linked list, and wherein each of the plurality of profiles contains a different combination of active linked list entries;
- updating at least one of the plurality of profiles to add or remove a linked list entry by setting a state of at least one state bit;
- and
- using the plurality of profiles to identify different subsets of entries of the linked list.
A network device for transmitting a multicast message over a network, the network device comprising:
- a packet processor having
- a linked list handler configured to access a profile defining a subset of entries of a linked list, wherein the subset of entries of the linked list is less than all entries of the linked list, where the linked list handler is configured to access the profile from among a plurality of profiles, each profile defining a different subset of entries of the linked list, where the entries of the linked list are arranged such that each entry, except for the last entry, contains a pointer to another entry in the linked list, where each entry in the linked list corresponds to a different network resource of the network device, where each network resource corresponds to a different port on the network device such that the linked list entries identify a plurality of the ports on the network device and such that the profile identifies a subset of the plurality of the sorts on the network device where each network resource is for communicating with a different network device on the network, and where the profile stores state bits corresponding to a state of each entry in the subset of entries in the linked list, the state bits identifying whether an entry of the linked list is included in the subset,
- wherein the linked list handler is configured to use the profile to identify the subset of entries of the linked list;
- and
- wherein the packet processor is configured to transmit the multicast message to only the network resources identified in the-subset of entries of the linked list and not to the network resources identified in other entries of the linked list.
A network device for managing a multicast group of network devices on a network, the device comprising:
- a packet processor having
- a linked list handler configured to define a linked list having a plurality of linked list entries corresponding to network resources of the network device and to define a plurality of profiles associated with the linked list entries, where each linked list entry, except for the last entry, contains a pointer to another entry in the linked list, wherein at least one profile indicates, as active, a subset of entries of the linked list, and wherein at least one profile comprises a state bit for at least some of the plurality of the linked list entries, each state bit having (i) a first state indicating that the corresponding linked list entry is active and (ii) a second state indicating that the corresponding linked list entry is inactive, wherein the subset of entries of the linked list is less than all entries of the linked list, wherein each of the plurality of profiles contains a different combination of active linked list entries,
- where the linked list handler is configured to
- update at least one of the plurality of profiles to add or remove a linked list entry by setting a state of at least one state bit, and
- use the plurality of profiles to identify different subsets of entries of the linked list.
Dependencies are inferred from the claim text.