Skip to main content

Flow Control

This configuration option is only available on devices that has support for this functionality.

Introduction

Flow control is a mechanism for stopping transmission of data on ports. The goal is to avoid packet loss when network is congested. This is accomplished by the MAC sending pause frames to the sender. Only full-duplex ports may send pause frames. For flow control to function both the ingress port (that sends the pause frames) and egress port (that is congested) on a switch needs to be configured with this option, and of course the port that should pause sending.

Configuration

example:/#> configure
example:/config/#> port ethX
example:/config/port-ethX/#> help flow-control
Syntax:
        [no] flow-control <autoneg|forced>
Usage:
        Set flow control, sending and reacting to pause frames.

        off      : Disable        (autoneg = 0, rx = 0, tx = 0)
        autoneg  : Autonegotiate  (autoneg = 1, rx = 1, tx = 1)
        forced   : Forced on      (autoneg = 0, rx = 1, tx = 1)
example:/config/port-ethX/#> flow-control autoneg
example:/config/port-ethX/#> show flow-control
autoneg

Syntax

no flow-control OR flow-control off

Description

Disables flow control.

Options

OptionDescription
no

Disable.

flow-control <autoneg|forced>

Description

Enables flow control.

Options

OptionDescription
autoneg

Set the port to autonegotiate flow control. Both sides of a link needs to set this for feature to be enabled.

forced

Set the port to force sending of pause frames.

Note

Because of differences in hardware implementation, how flow control is configured can differ.

For some platforms, it's enough to enable flow control on the receiving port. On others, flow control must be enabled on both the receiving and transmitting port relevant for the flow of frames.