METHOD, SYSTEM AND PROGRAM PRODUCT FOR EQUITABLE SHARING OF A CAM TABLE IN A NETWORK SWITCH IN AN ON-DEMAND ENVIRONMENT
First Claim
1. A method for equitable sharing of buffers between a plurality of users of a network switch, said method comprising the steps of:
- reserving a subset number of buffers in an address table in a network switch, said subset number of buffers forming a shared buffer pool and a remaining number of buffers in said data table forming a dedicated buffer pool;
establishing, upon arrival of a packet containing an address corresponding to a respective user of a plurality of users, whether or not said address is listed in a buffer in said data table;
if said address is listed in said buffer in said data table, updating a preset time-to-live value for said buffer in said data table and forwarding said packet; and
if said address is not listed in said buffer in said data table, determining whether or not said respective user of said plurality of users has exceeded a preset number of buffers allocated from said dedicated buffer pool and whether or not said subset number of buffers reserved in said shared buffer pool have been exhausted;
wherein if said preset number of buffers allocated to said respective user from said dedicated buffer pool and said subset number of buffers reserved in said shared buffer pool have been exhausted, said respective user is precluded from using any additional buffers in said network switch.
5 Assignments
0 Petitions
Accused Products
Abstract
A method, system and program product for equitable sharing of a CAM (Content Addressable Memory) table among multiple users of a switch. The method includes reserving buffers in the table to be shared, the remaining buffers being allocated to each user. The method further includes establishing whether or not an address contained in a packet from a user is listed in a buffer in the table, if the address is listed, updating a time-to-live value for the buffer for forwarding the packet and, if the address is not listed, determining whether or not the user has exceeded its allocated buffers and whether or not the reserved buffers have been exhausted, such that, if the user has exceeded its allocated buffers and the reserved buffers have been exhausted, the address is not added to the table and the user is precluded from using any additional buffers in the network switch.
42 Citations
20 Claims
-
1. A method for equitable sharing of buffers between a plurality of users of a network switch, said method comprising the steps of:
-
reserving a subset number of buffers in an address table in a network switch, said subset number of buffers forming a shared buffer pool and a remaining number of buffers in said data table forming a dedicated buffer pool; establishing, upon arrival of a packet containing an address corresponding to a respective user of a plurality of users, whether or not said address is listed in a buffer in said data table; if said address is listed in said buffer in said data table, updating a preset time-to-live value for said buffer in said data table and forwarding said packet; and if said address is not listed in said buffer in said data table, determining whether or not said respective user of said plurality of users has exceeded a preset number of buffers allocated from said dedicated buffer pool and whether or not said subset number of buffers reserved in said shared buffer pool have been exhausted;
wherein if said preset number of buffers allocated to said respective user from said dedicated buffer pool and said subset number of buffers reserved in said shared buffer pool have been exhausted, said respective user is precluded from using any additional buffers in said network switch. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for mitigating flooding of an address table in a network switch, comprising:
-
a network switch configured to support a number of users connected on a network, said network switch having an address table with a finite number of buffers for storing therein a plurality of addresses corresponding to addresses available on respective ports in said network switch, each address of said plurality of addresses stored therein having a respective preset time-to-live value; and a buffer allocation tool configured to reserve a subset number of buffers from said finite number of buffers for creating a shared buffer pool, a remaining number of said finite number of buffers forming a dedicated buffer pool, said buffer allocation tool being further configured to allocate to each user of said number of users a total number of buffers in said address table that comprises a preset number of buffers from said dedicated buffer pool and a preset percentage of buffers from said shared buffer pool, said buffer allocation tool being further configured to establish upon arrival of a packet containing an address therein whether or not said address is listed in a buffer in said address table, if said address is listed in said buffer in said address table, said buffer allocation tool being configured to update a preset time-to-live value for said buffer and to forward said packet, and if said address is not listed in said buffer in said address table, said buffer allocation tool being configured to determine whether or not said respective user has exceeded said total number of buffers allocated in said address table, wherein if said respective user has exceeded said total number of buffers allocated in said address table, said buffer allocation tool being configured to prevent said respective user from borrowing any additional buffers in said address table in said network switch. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer program product for equitable sharing of an address table in a network switch shared by a plurality of users, said computer program product comprising:
-
a computer readable medium; first program instructions to reserve a subset number of buffers in an address table in a network switch, said subset number of buffers reserved forming a shared buffer pool and a remaining number of buffers in said address table forming a dedicated buffer pool, said address table storing therein a plurality of addresses corresponding to addresses available on respective ports in said network switch, each address of said plurality of addresses stored therein having a respective preset time-to-live value; second program instructions to allocate to each user of a plurality of users a total number of buffers in said address table that comprises a preset number of buffers from said dedicated buffer pool and a preset percentage of buffers from said shared buffer pool; third program instructions to determine for an address in a packet sent by a respective user among said plurality of users, whether said respective user has exceeded said total number of buffers in said address table allocated and, if yes, to prevent said respective user from using any additional buffers in said address table, said third program instructions comprising instructions to send a notification when said respective user has exceeded said total number of buffers in said address table;
wherein said first, second and third program instructions are stored on said computer readable medium. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification