Priority Flow Control
Flow control enables feedback from a receiver to its sender to communicate buffer exhaustion and buffer availability. A receiver generates a MAC control frame and sends a PAUSE request to a sender when a specified threshold (Xoff value) of the receiver buffer is filled. Upon receiving a PAUSE request, the sender stops transmission of any new packets until the receiver notifies the sender that it has sufficient buffer space (Xon value). The RUCKUS implementation of IEEE 802.1Qbb PFC supports eight priorities and four priority groups (PGs) that can be subjected to flow control independently. You can configure PGs for priority flow control and ingress buffer management.
Note: PFC is disabled by default. It
can be enabled by using the priority-flow-control
enable command.
priority-flow-control enable command disables IEEE 802.3x in both
the transmit and receive directions.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 can be enabled globally on all supported devices. The ICX 7450 and ICX 7250 devices support per-port per-priority PFC, in which PFC can be enabled or disabled on individual ports. These devices support hierarchical queuing, which allows you to allocate separate queue groups for lossy traffic and loss-less traffic with the same priority. Traffic classified as the same traffic class but coming from different sources (lossy or loss-less) goes to different queues upon egress.
The ICX 7850 devices support a flat queuing structure. Therefore, it is not possible to channel the traffic from different sources with the same priority to separate lossy and loss-less queues. A pause frame applied to this queue affects the traffic from both sources (lossy and loss-less). Therefore, PFC cannot be enabled at the interface level on ICX 7850. Instead, the ICX 7850 devices support per-priority PFC, in which lossy and loss-less traffic is channeled to different egress queues based on the priorities mapped to the priority groups.
PFC Pause Honoring
PFC Pause Transmission
- Priorities 0 through 6 can be mapped to a PG; Priority 7 cannot 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 may be in flight while the pause frame travels back to the sender and gets processed there. In RUCKUS ICX 7250, ICX 7450, and ICX 7850 devices, the number of ingress buffers is set automatically according to the port speed when PFC is enabled.
You can configure the qos priority-to-pg
command to change the default priority to PG mapping.
By default, the RUCKUS
ICX 7250,
ICX
7450, and ICX 7850 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 IEEE 802.3x pause is disabled, PFC is also disabled. You can
configure the symmetrical-flow-control enable command to enable the transmission of
the IEEE 802.3x pause.
PFC Support on ICX Devices
RUCKUS ICX 7150 devices: Priority flow control (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 7550 devices: PFC is not supported.
RUCKUS ICX 7650 devices: PFC is not supported.
RUCKUS ICX 7850 devices: PFC is supported. SFC is not supported for 1-Gbps ports as well as for ports across stack units. Port flow control is not supported in 1-Gbps ports.