Priority flow control

The Ruckus implementation of the priority flow control (PFC) feature prevents frame loss from congestion by pausing traffic based on the congested priority without affecting the traffic of uncongested priorities.

Note: The PFC feature is supported only on Ruckus ICX 7250 and ICX 7450 devices. The ICX 7150, ICX 7650 and ICX 7850 devices do not support PFC.
Flow control enables feedback from a receiver to its sender to communicate buffer availability. The Ruckus implementation of IEEE 802.1Qbb PFC supports eight priorities and four priority groups (PGs) that can be subject to flow control independently. You can configure PGs for priority flow control and ingress buffer management.
Note:

PFC in a switch port extender (SPX) environment is only supported on stack units. It is not supported on a Ruckus ICX 7450 switch in an SPX environment.

PFC is disabled by default. It can be enabled by executing the priority-flow-control enable command.

Because multiple priorities can be mapped to a single PG, congestion on one priority in a PG may generate a pause, stopping transmission of all priorities in that PG. Therefore, it is important to create a custom priority-to-PG map to meet your application needs, using either PFC pause honoring or PFC pause transmission.

PFC pause honoring

  • The MAC decodes the class enable vector field to extract the priorities and pause the timer value from the packet.
  • The per-priority XOFF/XON status is passed to the pausing logic to pause or resume packet scheduling to the corresponding queue of the egress port.

PFC pause transmission

  • Priorities 0 through 6 can be mapped to a PG; Priority 7 can not be mapped.
  • The mapping is configurable.
  • When the buffer threshold of a PG exceeds the XOFF value, a PFC pause frame is sent. The pause frame is encoded with all priorities that belong to the PG in the class enable vector.

A receiver using PFC must predict the potential for buffer exhaustion for a PG and respond by generating an explicit pause frame for that class when that condition arises. At any time, the receiver must have enough ingress buffers available to store any packet that might be in flight while the pause frame travels back to the sender and gets processed there. In Ruckus ICX 7250 and ICX 7450 devices, the number of ingress buffers is set automatically according to the port speed when PFC is enabled.

Note: Configuring PFC commands may temporarily interrupt traffic.

You can configure the qos priority-to-pg command to change the default priority to PG mapping.

By default, the Ruckus ICX 7250 and ICX 7450 devices boot up with tail-drop mode, which means that packets are dropped at the egress queues during congestion. By default, all ports honor IEEE 802.3X pause. However, when transmission of the 802.3x pause is disabled, PFC is also disabled. You can configure the symmetrical-flow-control enable command to enable the transmission of the 802.3x pause.
Note:

Enabling flow control on ports that have auto-neg enabled causes flap because the port pause capabilities must be advertised and negotiated again with the peer.

Ports that have auto-neg disabled do not experience flap.

Conditions

Ruckus ICX 7150 devices—PFC is not supported.

Ruckus ICX 7250 devices—Symmetrical flow control (SFC) is not supported for ports across stack units.

Ruckus ICX 7450 devices—SFC is not supported for ports across stack units or for ports across master and slave packet processor (pp) devices in Ruckus ICX 7450-48 units.

Ruckus ICX 7650 devices—PFC is not supported.

Ruckus ICX 7850 devices— PFC is not supported. SFC is not supported for 1G port as well as for ports across stack units. Port flow control is not supported in 1G port.