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.
The ICX 7550 and 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 7550 and ICX 7850 devices. Instead, the ICX 7550 and 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 ICX 7550 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 ICX 7550 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
ICX 7550 devices: Priority Flow Control (PFC) is supported on per priority level. It is not supported at port level.
ICX 7850 devices: PFC is supported on per priority level. It is not supported at port level. PFC 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.
ICX 7650, ICX 8100, and ICX 8200 devices: PFC is not supported.