Configuring priority flow control

Priority flow control (PFC) is an Ethernet protocol that supports the ability to select the priority of different types of traffic within the network. With PFC, administrators can reduce network congestion by slowing or pausing certain classes of traffic on ports, thus providing better bandwidth for more important traffic. The system supports PFC on various supported Ethernet-based protocols on three types of traffic classes: system, host attachment, and storage traffic.

You can configure a priority tag for each of these traffic classes. The priority tag can be any value 0 - 7. You can set identical or different priority tag values to all these traffic classes. You can also set bandwidth limits to ensure QoS for these traffic classes by using the Enhanced Transmission Selection (ETS) setting on the network. When you plan to configure priority flow control (PFC), follow these guidelines and examples.

To use PFC and ETS, ensure that the following tasks are completed:

  1. Ensure that ports support 10 Gb or higher bandwidth to use PFC settings.
  2. Configure VLAN on the system to use PFC capabilities for the configured IP version. To configure VLAN settings, see Modifying VLAN for priority flow control.
  3. Ensure that the same VLAN settings are configured on the all entities, including all switches between the communicating end points.
  4. Configure COS values (priority tag values) for host attachment, storage, or system traffic by using the chsystemethernet command.
  5. To enable priority flow for host attachment traffic on a port, make sure that the host flag is set to yes on the configured IP on that port.
  6. To enable priority flow for storage traffic on a port, make sure that storage flag is set to yes on the configured IP on that port.
  7. On the switch, enable Data Center Bridging Exchange (DCBx). DCBx enables switch and adapter ports to exchange parameters that describe traffic classes and PFC capabilities. For these steps, check your switch documentation for details.
  8. For each supported traffic class, configure the same priority tag on the switch. For example, if you plan to have a priority tag setting of 3 for storage traffic, ensure that the priority is also set to 3 on the switch for that traffic type.
  9. If you are planning on using the same port for different types of traffic, ensure that ETS settings are configured on the network.

Using the management GUI

To set PFC on the system, complete these steps:
  1. In the management GUI, select Settings > Network > Priority Flow Control.
  2. For each of following classes of service, select the priority setting for that traffic type:
    System
    Set a value in the range 0 - 7 for the system traffic that includes communication between nodes within the system. The system priority tag is supported on iSCSI connections and on systems that support RDMA over Ethernet connections between nodes. Ensure that you set the same priority tag on the switch to use PFC capabilities.
    Host Attachment
    Set the priority tag in the range 0 - 7 for system to host traffic. The host attachment priority tag is supported on iSCSI connections and on systems that support RDMA over Ethernet connections. Ensure that you set the same priority tag on the switch to use PFC capabilities.
    Storage Virtualization
    Set the priority tag in the range 0 - 7 for system to external storage traffic. The storage virtualization priority tag is supported on storage traffic over iSCSI connections. Ensure that you set the same priority tag on the switch to use PFC capabilities.
  3. Click Save.
  4. Make sure that IP is configured with VLAN. If this is not done, see Modifying VLAN for priority flow control to configure the VLAN for host attachment, system, and storage traffic.

Using the command-line interface

To use PFC on the system by using the command-line interface, follow these steps:
  1. To use priority flow control for host attachment and storage traffic, use the chsystemethernet command to set the priority tag (COS) values before you set any data IPs by using the cfgportip command. All the host attachment and storage connections can then inherit the COS values that are already set.
    Note: You can also set it after you configure data IPs as existing sessions do not refresh the PCP value immediately. Then, when you try to connect again, the new connection takes the newly configured COS values.
  2. Enter the lssystemethernet command to determine the current settings for host attachment, system, or storage priority tags. The resulting output displays values in the range 0 - 7 such as the following example:
    host_attach_cos  0 
    system_cos       0
    storage_cos      0
  3. To reset the host attachment, system, or storage priority tags, enter the chsystemethernet command with values in the range 0 - 7 as in the following example:
    chsystemethernet -hostattachcos 4 -systemcos 5 -storagecos 6
    Resulting output:
    host_attach_cos  4 
    system_cos       5
    storage_cos      6
    Where the host attachment priority tag (class of service) is set to 4, the system priority tag is set to 5, and the storage priority tag is set to 6.
  4. Make sure that IP is configured with VLAN. If the IP is not configured with VLAN, see Modifying VLAN for priority flow control to configure the VLAN for host attachment, system, and storage traffic.
To set PFC on the system by using the command-line interface, follow these steps:
  1. Create a system and then set the system COS value.
  2. (You can skip this step. Whenever system connections are retried, the new connection automatically takes the new COS values. But until that time, you use COS values as 0 only.)

    Add the next node in the system. The newly added node has system connections with default COS values (COS value 0). To use the new configured COS value, connections must be retried. Make sure you that you reconnect the connections one by one. (Reconnect one port's connection. Then, when the connections are up, reconnect the next port's connection.)

Note: For PFC to be effective for both read and write traffic from hosts, PFC must be enabled on the hosts. For more information about how to turn on PFC for a host operating system, see the product documentation that is specific to that operating system.

Known considerations and limitations for PFC

  • PFC is supported on Lancer and Chelsio Ethernet adapters.
  • PFC is not supported Intel and Mellanox Ethernet adapters.