Queue protection using a shared global memory reserve
AssigneeCisco Technology, Inc.
InventorsVinod Mitulal, Krishnan Subramani, Peter Newman, Georges Akis
Life of this patent
Estimating the term…
Abstract
The subject technology relates to the management of a shared buffer memory in a network switch. Systems, methods, and machine readable media are provided for receiving a data packet at a first network queue from among a plurality of network queues, determining if a fill level of a queue in a shared buffer of the network switch exceeds a dynamic queue threshold, and in an event that the fill level of the shared buffer exceeds the dynamic queue threshold, determining if a fill level of the first network queue is less than a static queue minimum threshold.
Claims20
A method of managing memory in a network switch, the method comprising:
- receiving a data packet at a first network queue from among a plurality of network queues to determine whether to enqueue or drop the data packet;
- determining if a fill level of the first network queue in a shared buffer of the network switch exceeds a dynamic queue threshold, wherein the dynamic queue threshold is a maximum threshold;
- in response to the fill level of the first network queue in the shared buffer exceeding the dynamic queue threshold, determining if the fill level of the first network queue is less than a static queue minimum threshold;
- and
- in response, determining whether to enqueue or drop the data packet.
A shared memory network switch comprising:
- at least one processor;
- a shared buffer memory, the shared buffer memory comprising a dynamic memory allocation and a reserve memory allocation;
- and a memory device storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:
- receiving a data packet at a first network queue from among a plurality of network queues to determine whether to enqueue or drop the data packet;
- determining if a fill level of the first network queue in the shared buffer of the network switch exceeds a dynamic queue threshold, wherein the dynamic queue threshold is a maximum threshold;
- and when the fill level of the first network queue in the shared buffer exceeds the dynamic queue threshold, determining if the fill level of the first network queue is less than a static queue minimum threshold;
- and
- in response, determining whether to enqueue or drop the data packet.
A non-transitory computer-readable storage medium comprising instructions stored therein, which when executed by one or more processors, cause the processors to perform operations comprising:
- receiving a data packet at a first network queue from among a plurality of network queues to determine whether to enqueue or drop the data packet;
- determining if a fill level of the first network queue in a shared buffer exceeds a dynamic queue threshold, wherein the dynamic queue threshold is a maximum threshold;
- and when the fill level of the first network queue in the shared buffer exceeds the dynamic queue threshold, determining if the fill level of the first network queue is less than a static queue minimum threshold;
- and
- in response, determining whether to enqueue or drop the data packet.
Dependencies are inferred from the claim text.