Transferring congestion notifications
Systems, devices, and methods are provided. In one example, a system is described that includes circuits to receive a packet associated with a source, determine a device that received the packet is congested, in response to determining the switch that received the packet is congested, generate a congestion notification, transfer the congestion notification to a second device, wherein the second device is between the device and the source, set a timer, and in response to the congestion in the device not being resolved when the timer ends, generate and send a new congestion notification.
1 . A system comprising one or more circuits to:
identify congestion at a first switch which received a packet from a source;
in response to determining the congestion exists at the first switch, generate a first congestion notification;
send the first congestion notification from the first switch to a second switch, wherein the second switch is between the first switch and the source;
set a timer based on an amount of time estimated for the congestion at the first switch to be resolved by the second switch or one or more other switches between the second switch and the source; and
in response to the congestion at the first switch not being resolved when the timer ends, generate and send a second congestion notification from the first switch to a third switch.
2 . The system of claim 1 ,
wherein the third switch is between the second switch and the source.
3 . The system of claim 1 , wherein the first switch comprises the one or more circuits.
4 . The system of claim 1 , wherein the third switch is directly connected to the source.
5 . The system of claim 1 , wherein the congestion is identified in response to determining an associated bandwidth of at least one port in the first switch is below a threshold.
6 . The system of claim 1 , wherein the congestion in the first switch is identified based on one or more of a queue latency and a queue occupancy.
7 . The system of claim 1 , further comprising:
the first, second, and third switches.
8 . The system of claim 1 , wherein the first congestion notification comprises an Adaptive Routing Notification (ARN).
9 . A device comprising one or more circuits to:
receive a first congestion notification from a second device, wherein the first congestion notification is addressed to a source node and indicates congestion, and wherein the device is between the second device and the source node;
process the first congestion notification to determine whether the device is able to resolve the congestion;
generate and send a second congestion notification to a third device when the device is unable to resolve the congestion, wherein the second congestion notification is addressed to the source node, and wherein the third device is between the second device and the source node; and
cause, when the device is able to resolve the congestion, the device to reroute traffic associated with the congestion.
10 . The device of claim 9 , wherein the device, the second device, and the third device correspond to switches.
11 . The device of claim 9 , wherein the first congestion notification is generated in response to determining a bandwidth of at least one port is below a threshold.
12 . The device of claim 9 , wherein the congestion is determined based on one or more of a queue latency and a queue occupancy.
13 . The device of claim 9 , wherein re-routing the traffic comprises using adaptive routing to re-route the traffic.
14 . The device of claim 9 , wherein the first congestion notification comprises an Adaptive Routing Notification (ARN).
15 . A network comprising:
a first device comprising one or more circuits to:
receive a first congestion notification from a second device, wherein the first congestion notification is addressed to a source node and indicates congestion, and wherein the first device is between the second device and the source node;
process the first congestion notification to determine whether the first device is able to resolve the congestion;
generate and send a second congestion notification; to a third device when the first device is unable to resolve the congestion, wherein the second congestion notification is addressed to the source node, and wherein the third device is between the first device and the source node; and
cause, when the first device is able to resolve the congestion, the first device to reroute traffic associated with the congestion.
16 . The network of claim 15 , wherein the first device, the second device, and the third device correspond to switches.
17 . The network of claim 15 , wherein the first congestion notification is generated in response to determining a bandwidth of at least one port is below a threshold.
18 . The network of claim 15 , wherein the congestion is determined based on one or more of a queue latency and a queue occupancy.
19 . The network of claim 15 , wherein re-routing the traffic comprises using adaptive routing to re-route the traffic.
20 . The network of claim 15 , wherein the first congestion notification comprises an Adaptive Routing Notification (ARN).