EMAIL SUPPORT

dclessons@dclessons.com

LOCATION

NZ

Slow Drain Detection & Congestion Avoidance

Slow Drain Detection & Congestion Avoidance

Posted on Jan 24, 2020 (0)

Slow Drain Detection & Congestion Avoidance

Slow Drain Device Detection and Congestion Avoidance:

FCOE related traffic uses link level and per-hop based flow control between end devices. When any slow device are attached to the fabric , it causes traffic congestion on ISL links and also affects the unrelated flows in the fabric even though destination devices don’t experience the slow drain.

To prevent this from NX-OS release 6.1 onwards slow detection and congestion avoidance is supported on F series I/O module that is used to carry FCOE traffic. These enhancement are mainly on ports where slow drain device are connected which further minimize congestion on edge ports.

When any slow drain device are present or detected, for edge ports where slow drain device are connected are configured with smaller frame timeout value which will help to alleviate slow drain condition by dropping the packet on edge ports as soon as timeout value is reached and also force a timeout drop for all packets who are using configured threshold.

These both function will create some empty space in ISL which will be further used by other unrelated flows that don’t experience slow drain.

Configuring Congestion Frame Timeout Value:

When any FCOE packet takes some long time than the congestion-drop timeout period which is to be transmitted by egress port, meeting this condition causes frame drop. This action can help in controlling the effect of slow egress ports but they are not long enough to trigger the pause timeout drop.

When Egress port discard the packet, it release the buffers in upstream ingress ports of the switch which allow unrelated flows to move continuously through them.

The default congestion frame timeout value is 500 milliseconds and whenever any value is manually configured it should be less than default value for edge ports.

If any frame in switch is present for time longer than configured congestion frame timeout value it gets dropped.
Nexus 7000 NX-OS Release 8.2(1) and later:

N7K1 (config) # system timeout fcoe congestion-drop {milliseconds | default} mode {core | edge}

The below figure is showing the request timeout for a source-destination pair per module

Below configuration shows how to configure congestion-drop timeout on core device to the default value of 500 milliseconds

N7K1# configure terminal
N7K1 (config) # system timeout fcoe congestion-drop default mode core

Below Configuration shows how to configure congestion-drop timeout on edge device to the default value of 500 milliseconds

N7K1# configure terminal
N7K1 (config) # system timeout fcoe congestion-drop default mode edge

Configuring a Pause Frame Timeout:

When a pause frame timeout is configured on system, the switch will continuously checks the pause condition and if it matches it enables the pause frame timeout on that port and will cause drop of all frames that comes for egress , which further helps to empty buffer space in ISL link and reduces congestion and slow down for unrelated traffic.

When a port flaps or pause condition is cleared on a port system disables pause frame timeout on that port.

Pause frame timeout is enabled by default with value of 500 milliseconds and whenever any value is manually configured it should be less than default value for edge ports.

N7K1 (config) # system timeout fcoe pause-drop {milliseconds | default} mode {core | edge}

The range is from 100 to 500 milliseconds.

Below command will display the total number of pause events per module per interface for the module:

Below command will show the timeout drops per module per interface with time-stamp


Comment

  • Super Duper Information


LEAVE A COMMENT

Please login here to comment.