Patent ID: 8218557

Claim:
A method for routing packets received at a plurality of line cards for a plurality of communication sessions distributed over the plurality of line cards in a network element, wherein different ones of the packets are transmitted to the network element for different ones of the communication sessions, wherein each of the communication sessions is a semi-permanent interactive information exchange involving at least one of a plurality of subscriber devices, comprising the steps of: receiving different ones of the packets at different ones of the plurality of line cards in the network element, wherein each of the packets contains an IP (Internet Protocol) address, and wherein the line cards that receive the packets act as trunk cards for those respective packets; performing the following steps for each of the packets: performing a first lookup in an FIB (forwarding information base) stored on the packet's trunk card using the packet's IP address, wherein a result of the first lookup specifies a second lookup to be performed using a subset of the IP address, wherein the subset includes a least significant portion of the IP address; performing the second lookup in a home card table stored on the packet's trunk card using the specified subset of the IP address to identify the line card from the plurality of line cards that acts as a home card for the packet's communication session, wherein the home card for the packet's communication session is the only line card that contains services for execution on the packet, wherein the home card table identifies the home card for each of the communication sessions based on the subset of the IP address in the packets for that communication session, and whereby using the subset of the IP address rather than groups of sequential IP address ranges allows for improved load balancing of the communication sessions across the plurality of line cards by supporting more even distribution of packet processing load across processing resources of the plurality of line cards; if the identified home card is different from the trunk card, forwarding the packet from the trunk card to the home card identified by the home card table; and executing the services on the packet at the home card according to a suffix FIB table on the home card before releasing the packet to the destination.