Configuring Priority-based Flow Control


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 threshold, either auto or statically set, 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, Netvisor One performs traffic class to CoS queue mappings, as well as to packet priorities, 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 switches with a Broadcom Trident II chip, 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, you must restart Netvisor One. 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, Netvisor One returns an error message.


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