Support for Priority-based Flow Control



Note: This feature is supported on the following platforms: S4048-ON, S6000-ON, AS5712-54X, AS6712-32X, F9272-X, and F9232-Q.



Priority Flow Control (PFC) is an IEEE standard (802.1qbb) for link level flow control on Ethernet networks. Functionally, this feature is similar to the IEEE standard 802.3 for PAUSE mechanism, except that it operates at the granularity of individual packet priorities or traffic class, instead of port level. When a queue corresponding to traffic with a particular traffic class reaches a predetermined, either auto or statically set, threshold, the switch chip generates a PFC frame and sends it back to the sender. For PFC to work effectively end to end on the network, all switches and hosts in the traffic path are configured to enable PFC, and configured for traffic class to priority mappings.


Netvisor One introduces a new command to configure priorities, or traffic classes, for PFC. The configuration allows you to add ports where PFC is enabled. When enabled, traffic class to CoS queue mappings, as well as to packet priorities, are performed in the background. The following mappings are performed:


  • 1 to 1 traffic class to CoS queue mapping (0 through 7)
  • 1 to 1 packet priority (802.1p) mapping


PFC is enabled to both transmit and receive on the selected port. For transmit, Netvisor One pauses traffic corresponding to the traffic class indicated in the received PFC frame. For receive, Netvisor One generates a PFC frame when a queue corresponding to a traffic class reaches the pause threshold. Netvisor One auto-configures parameters such buffer threshold,and pause timer value. Disabling PFC turns off PFC for receive and transmit, although the traffic class priority and queue mappings remain.


On supported switches, even with ingress admission control enabled (in lossless mode), by default, only the traffic class or priority group 7 is set up with the memory management unit (MMU) buffer resources. Packets of all priorities utilize the resources of the default priority group unless specifically configured. This implies that when enabling a new priority group for PFC, the buffer configuration is generated and saved in the chip configuration file, which is read during system initialization for MMU setup. AS a result, when you enable a new priority for PFC, restarting Netvisor One is required. Adding new ports to an existing priority group setting, for another port or ports, does not require restarting Netvisor One.


Up to three priority group buffer settings can be configured on switches in Netvisor One. If you attempt to configure more than three, an error message is returned.


To create a new PFC configuration on port 2 with a priority group of 2, use the following command:


CLI (network-admin@Spine1)port-pfc-create priority 2 port 1-10


Priority configuration will be effective after restart.

 

To modify the ports and change them to 11-15, use the following command:


CLI (network-admin@Spine1)port-pfc-modify priority 2 port 11-15


Priority configuration will be effective after restart.


To delete the configuration, use the following command:


CLI (network-admin@Spine1)port-pfc-delete priority 2 port 11-15


 

To display the configuration, use the port-pfc-show command:


CLI (network-admin@Spine1)port-pfc-show


switch  priority port  error

------- -------- ----- -----

Spine1  2        11-20      

Spine1  3        11-20