US 12,231,342 B1
Queue pacing in a network device
Bruce Kwan, Sunnyvale, CA (US); and William Brad Matthews, Los Gatos, CA (US)
Assigned to Marvel Asia Pte Ltd, Singapore (SG)
Filed by Marvell Asia Pte Ltd, Singapore (SG)
Filed on Mar. 3, 2023, as Appl. No. 18/117,290.
Int. Cl. H04L 47/25 (2022.01); H04L 47/11 (2022.01); H04L 47/62 (2022.01); H04L 49/9005 (2022.01)
CPC H04L 47/25 (2013.01) [H04L 47/11 (2013.01); H04L 47/622 (2013.01); H04L 49/9005 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for processing data units in a network device, the method comprising:
receiving data units at a plurality of network interfaces of the network device;
storing data units received at the plurality of network interfaces in a plurality of ingress queues of the network device while the data units are processed by a plurality of ingress packet processors of the network device;
transferring data units from the plurality of ingress queues to a plurality of egress buffer memories of the network device;
storing data units transferred from the plurality of ingress queues in a plurality of egress queues while the data units are processed by a plurality of egress processors of the network device, the plurality of egress queues corresponding to the plurality of egress buffer memories;
monitoring, by the network device, the plurality of egress buffer memories to detect congestion corresponding to data units transferred from the plurality of ingress queues;
for each of at least some ingress queues, pausing transfer of data units to one or more egress buffer memories in response to determining congestion corresponding to data units transferred from the each ingress queue; and
for each of at least some ingress queues, progressively increasing over time a rate at which data from the each ingress queue are transferred to one or more egress buffer memories in response to determining that the congestion has ended.