Configuring flow control, priority-based flow control, and ingress pause metering
Flow control allows you to configure a port to send or receive a “pause frame” (that is, a special packet that signals a source to stop sending flows for a specific time interval because the buffer is full). By default, flow control is disabled on all ports.
config switch physical-port
edit <port_name>
set flow-control {both | rx | tx | disable}
end
Parameters enable flow control to do the following:
rx
—receive pause control framestx
—transmit pause control framesboth
—transmit and receive pause control frames
Priority-based flow control allows you to avoid frame loss by stopping incoming traffic when a queue is congested.
After you enable priority-based flow control, you then configure whether a port sends or receives a priority-based control frame:
config switch physical-port
edit <port_name>
set priority-based-flow-control enable
set flow-control {both | rx | tx | disable}
end
When priority-based flow control is disabled, 802.3 flow control can be used.
NOTE: Priority-based flow control does not support half-duplex speed. When FortiSwitch ports are set to autonegotiate the port speed (the default), priority-based flow control is available if the FortiSwitch model supports it. Lossless buffer management and traffic class mapping are not supported.
If you enable flow control to transmit pause control frames (with the set flow-control tx
command), you can also use ingress pause metering to limit the input bandwidth of an ingress port. Because ingress pause metering stops the traffic temporarily instead of dropping it, ingress pause metering can provide better performance than policing when the port is connected to a server or end station. To use ingress pause metering, you need to set the ingress metering rate in kilobits and set the percentage of the threshold for resuming traffic on the ingress port.
config switch physical-port
edit <port_name>
set flow-control tx
set pause-meter-rate <64–2147483647; set to 0 to disable>
set pause-resume {25% | 50% | 75%}
next
end
For example:
config switch physical-port
edit port29
set flow-control tx
set pause-meter-rate 900
set pause-resume 50%
next
end