Congestion avoidance in a network device
First Claim
1. A method for managing traffic flow to a network device, the method comprising:
- receiving, at a packet processor of the network device, a packet received from a network;
determining, with the packet processor, at least one port, among a plurality of ports of the network device, via which the packet is to be transmitted from the network device;
determining, with the packet processor, an amount of free buffer space currently available for buffering packets in a buffer memory configured to queue packets to be transmitted via ones of ports among the plurality of ports of the network device;
dynamically determining, with the packet processor based at least in part on the amount of free buffer space currently available for buffering packets in the buffer memory, values of respective thresholds for triggering ones of multiple traffic management operations to be performed based on the packet, including dynamically determining a value of a first threshold for triggering a first one of the multiple traffic management operations and a value of a second threshold for triggering a second one of the multiple traffic management operations, to dynamically adjust the values of the respective thresholds based at least in part on a changing amount of free buffer space available for buffering packets in the buffer memory;
determining, with the packet processor using the respective thresholds, whether or not to trigger ones of the multiple traffic management operations with respect to the packet, including determining, based on a comparison between i) a current fill level of a queue corresponding to the packet and ii) the dynamically adjusted value of the first threshold, whether to trigger the first one of the multiple traffic management operations and determining, based on a comparison between i) the current fill level of the queue corresponding to the packet and ii) the dynamically adjusted value of the second threshold, whether to trigger the second one of the traffic management operations; and
performing, with the packet processor, one or more of the traffic management operations with respect to the packet determined to be triggered based on the corresponding one of the respective thresholds.
1 Assignment
0 Petitions
Accused Products
Abstract
A network device receives a packet is received from a network, and determines at least one port, among a plurality of ports of the network device, via which the packet is to be transmitted. The network device also determines an amount of free buffer space in a buffer memory of the network device, and dynamically determines, based at least in part on the amount of free buffer space, respective thresholds for triggering ones of multiple traffic management operations to be performed based on the packet. Using the respective thresholds, the network device determines whether or not to trigger ones of the multiple traffic management operations with respect to the packet. The network device performs one or more of the traffic management operations with respect to the packet determined to be triggered based on the corresponding one of the respective thresholds.
-
Citations
22 Claims
-
1. A method for managing traffic flow to a network device, the method comprising:
-
receiving, at a packet processor of the network device, a packet received from a network; determining, with the packet processor, at least one port, among a plurality of ports of the network device, via which the packet is to be transmitted from the network device; determining, with the packet processor, an amount of free buffer space currently available for buffering packets in a buffer memory configured to queue packets to be transmitted via ones of ports among the plurality of ports of the network device; dynamically determining, with the packet processor based at least in part on the amount of free buffer space currently available for buffering packets in the buffer memory, values of respective thresholds for triggering ones of multiple traffic management operations to be performed based on the packet, including dynamically determining a value of a first threshold for triggering a first one of the multiple traffic management operations and a value of a second threshold for triggering a second one of the multiple traffic management operations, to dynamically adjust the values of the respective thresholds based at least in part on a changing amount of free buffer space available for buffering packets in the buffer memory; determining, with the packet processor using the respective thresholds, whether or not to trigger ones of the multiple traffic management operations with respect to the packet, including determining, based on a comparison between i) a current fill level of a queue corresponding to the packet and ii) the dynamically adjusted value of the first threshold, whether to trigger the first one of the multiple traffic management operations and determining, based on a comparison between i) the current fill level of the queue corresponding to the packet and ii) the dynamically adjusted value of the second threshold, whether to trigger the second one of the traffic management operations; and performing, with the packet processor, one or more of the traffic management operations with respect to the packet determined to be triggered based on the corresponding one of the respective thresholds. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A network device, comprising:
-
a plurality of ports; a buffer memory; and a packet processor coupled to the buffer memory, the packet processor configured to; receive a packet from a network; determine at least one port, among the plurality of ports of the network device, via which the packet is to be transmitted from the network device; determine an amount of free buffer space currently available for buffering packets in the buffer memory; dynamically determine, based at least in part on the amount of free buffer space currently available for buffering packets in the buffer memory, values of respective thresholds to be used for triggering ones of multiple traffic management operations to be performed based on the packet, the packet processor being configured to dynamically determine a value of a first threshold for triggering a first one of the multiple traffic management operations and a value of a second threshold for triggering a second one of the multiple traffic management operations, to dynamically adjust the values of the respective thresholds based at least in part on a changing amount of free buffer space available for buffering packets in the buffer memory; determine, using the respective thresholds, whether or not to trigger one of the multiple traffic management operations with respect to the packet, the packet processor being configured to determine, based on a comparison between i) a current fill level of a queue corresponding to the packet and ii) the dynamically adjusted value of the first threshold, whether to trigger the first one of the multiple traffic management operations and determine, based on a comparison between i) the current fill level of the queue corresponding to the packet and ii) the dynamically adjusted value of the second threshold, whether to trigger the second one of the traffic management operations; and perform one or more of the traffic management operations with respect to the packet determined to be triggered based on the corresponding one of the respective thresholds. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification