Packet transfer apparatus with multiple general-purpose processors
First Claim
Patent Images
1. A packet transfer apparatus comprising:
- a plurality of general-purpose processors; and
a network processor adapted to forward packets belonging to a same session to a same one of said plurality of general-purpose processors, wherein;
said network processor includes a session management table containing session management entries, each of which is associated with a session and contains a device ID identifying a destined one of said general-purpose processors to which packets belonging to said associated session are to be forwarded,said network processor is programmed to, upon receiving an incoming packet which requires processing by an arbitrary one of said general-purpose processors, when said session management entries include a validated session management entry associated with a session to which said incoming packet belongs, forward said incoming packet to said destined general-purpose processor identified by said device ID within said validated session management entry,each of said session management entries further contains an entry ID associated with said session, andsaid network processor is programmed;
to determine an entry ID using a hash function with source and destination IP addresses, and source and destination port numbers of said incoming packet used as arguments, andto, when said session management entries include no validated session management entry containing said determined entry ID, prepare another validated session management entry containing said determined entry ID, and a device ID identifying destined general-purpose processor selected out of said general-purpose processors, and to forward said incoming packet to said destined general-purpose processors,to, when said session management entries include a validated session management entry containing said determined entry ID, forward said incoming packet to said destined general-purpose processor identified by said device ID contained in said validated session management entry.
1 Assignment
0 Petitions
Accused Products
Abstract
A packet transfer apparatus with multiple general-purpose processors for an improved session control technique. The packet transfer apparatus is composed of a plurality of general-purpose processors, and a network processor adapted to forward packets belonging to the same session to the same one of said plurality of general-purpose processors.
8 Citations
16 Claims
-
1. A packet transfer apparatus comprising:
-
a plurality of general-purpose processors; and a network processor adapted to forward packets belonging to a same session to a same one of said plurality of general-purpose processors, wherein; said network processor includes a session management table containing session management entries, each of which is associated with a session and contains a device ID identifying a destined one of said general-purpose processors to which packets belonging to said associated session are to be forwarded, said network processor is programmed to, upon receiving an incoming packet which requires processing by an arbitrary one of said general-purpose processors, when said session management entries include a validated session management entry associated with a session to which said incoming packet belongs, forward said incoming packet to said destined general-purpose processor identified by said device ID within said validated session management entry, each of said session management entries further contains an entry ID associated with said session, and said network processor is programmed; to determine an entry ID using a hash function with source and destination IP addresses, and source and destination port numbers of said incoming packet used as arguments, and to, when said session management entries include no validated session management entry containing said determined entry ID, prepare another validated session management entry containing said determined entry ID, and a device ID identifying destined general-purpose processor selected out of said general-purpose processors, and to forward said incoming packet to said destined general-purpose processors, to, when said session management entries include a validated session management entry containing said determined entry ID, forward said incoming packet to said destined general-purpose processor identified by said device ID contained in said validated session management entry. - View Dependent Claims (2, 3, 5, 6, 7, 8)
-
-
4. The packet transfer apparatus according to claim a 1, wherein each of said session management entries includes an age counter value indicating whether said session management entry is invalidated,
wherein said network processor is programmed: -
to modify said age counter values within said session management entries at constant time intervals towards a first predetermined value to thereby invalidate said session management entries, to determine whether each of said session management entries is invalidated based on said associated age counter value, and to, when said session management entries include said validated session management entry associated with said session to which said incoming packet belongs, set said age counter value within said associated validated session management entry to a second predetermined value.
-
-
9. A packet transfer apparatus comprising:
-
a plurality of general-purpose processors; and a plurality of network processors, each including a session management table containing session management entries, each of which contains an entry ID associated with a session, and a device ID identifying destined one of said general-purpose processors to which packets belonging to said associated session are to be forwarded, wherein each of said network processor is programmed; to, when receiving an incoming packet that requires processing by arbitrary one of said general-purpose processors, determine an entry ID using a hash function with source and destination IP addresses, and source and destination port numbers of said incoming packet used as arguments, and to, when said session management entries include no validated session management entry containing said determined entry ID, prepare another validated session management entry containing said determined entry ID, and a device ID identifying destined general-purpose processor selected Out of said general-purpose processors, and to forward said incoming packet to said destined general-purpose processor, to, when said session management entries include a validated session management entry containing said determined entry ID, forward said incoming packet to said destined general-purpose processor identified by said device ID contained in said validated session management entry, to calculate a session ID using said hash function with said source and destination IP addresses, and said source and destination port numbers of said incoming packet used as arguments, to determine said entry ID to include said session ID and a destination device ID identifying destined one of said network processors, through which said incoming packet is transmitted from said packet transfer apparatus to an external node, to, when receiving an outgoing packet from originating one of said general-purpose processors, calculate another session ID using said hash function with source and destination IP addresses, and source and destination port numbers of said outgoing packet used as arguments, to determine another entry ID to include said anther session ID and an incoming device ID identifying an incoming network processor out of said network processors, said incoming network processor receiving said outgoing packet from an external node, and to update said device ID within one of said session management entry associated with said entry ID to a device ID identifying said originating one of said general-purpose processors. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer program product for a packet transfer apparatus including a plurality of general-purpose processors and a plurality of network processors, which is to be installed into each of network processors, said computer program product comprising a computer-readable medium having embedded therein computer-readable code comprising:
-
a session management table containing session management entries, each of which contains an entry ID associated with a session, and a device ID identifying destined one of said general-purpose processors to which packets belonging to said associated session are to be forwarded, a code module adapted to, when receiving an incoming packet that requires processing by an arbitrary one of said general-purpose processors, to determine an entry ID using a hash function with source and destination IP addresses, and source and destination port numbers of said incoming packet used as arguments, a code module adapted to, when said session management entries include no validated session management entry containing said determined entry ID, prepare another validated session management entry containing said determined entry ID, and a device ID identifying destined general-purpose processor selected out of said general-purpose processors, and to forward said incoming packet to said destined general-purpose processor, and a code module adapted to, when said session management entries include a validated session management entry containing said determined entry ID, forward said incoming packet to said destined general-purpose processor identified by said device ID contained in said validated session management entry.
-
Specification