Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Example: Configuring Lossless IEEE 802.1p Priorities on Ethernet Interfaces for Multiple Applications (FCoE and iSCSI)

Although the default configuration provides two lossless forwarding classes mapped to two different IEEE 802.1p priorities (code points), you can explicitly configure up to six lossless forwarding classes and map them to different priorities. You can support up to six different types of lossless traffic, and you can support the same type of traffic on different priorities in different parts of your converged network.

This example shows you how to configure two lossless forwarding classes for FCoE traffic and one lossless forwarding class for iSCSI traffic, and map the forwarding classes to three different priorities. (The converged Ethernet network includes two FCoE networks, each of which uses a different priority to identify FCoE traffic, and an iSCSI network.)

Requirements

This example uses the following hardware and software components:

  • One switch used as an FCoE transit switch

  • Junos OS Release 12.3 or later for the QFX Series

Overview

Some converged Ethernet networks support FCoE on more than one IEEE 802.1p priority and also require supporting other lossless traffic classes. Interfaces that carry multiple lossless forwarding classes need to support lossless behavior for the priorities mapped to those forwarding classes. To support the two FCoE forwarding classes and the iSCSI forwarding class used in this example, you need to configure:

  • At least one lossless forwarding class for FCoE traffic (this example uses the default fcoe forwarding class as one of the two lossless FCoE forwarding classes, so we need to explicitly configure only one FCoE forwarding class)

  • A lossless forwarding class for iSCSI traffic

  • Behavior aggregate (BA) classifiers to map the lossless forwarding classes to the appropriate IEEE 802.1p code points (priorities) on each interface

  • Congestion notification profiles (CNPs) for each interface to enable PFC on the FCoE and iSCSI code points at the interface ingress, and to configure PFC flow control on the interface egress so that the interface can respond to PFC messages received from the connected peer

    Note:

    Configuring or changing PFC on an interface blocks the entire port until the PFC change is completed. After a PFC change is completed, the port is unblocked and traffic resumes. Blocking the port stops ingress and egress traffic, and causes packet loss on all queues on the port until the port is unblocked.

  • DCBX applications and an application map to support DCBX application TLV exchange for the FCoE and iSCSI traffic on the configured lossless priorities. By default, DCBX is enabled on all Ethernet interfaces for FCoE, but only on priority 3 (IEEE 802.1p code point 011). To support DCBX application TLV exchange when you are not using the default configuration, you must configure all of the applications and map them to interfaces and priorities.

The priorities specified in the BA classifiers, CNPs, and DCBX application map must match, or the configuration does not work. You must specify the same lossless FCoE forwarding class in each configuration and use the same IEEE 802.1p code point (priority) so that the FCoE traffic is properly classified into flows and so that those flows receive lossless treatment.

Topology

This example shows how to configure two lossless FCoE traffic classes and one lossless iSCSI traffic class, map them to three different priorities, and configure flow control to ensure lossless behavior for those priorities on the interfaces. This example uses four Ethernet interfaces, xe-0/0/31, xe-0/0/32, xe-0/0/33, and xe-0/0/34:

  • Interface xe-0/0/31 handles FCoE traffic on priority 3 (IEEE 802.1p code point 011) and iSCSI traffic on priority 4 (code point 100).

  • Interface xe-0/0/32 handles FCoE traffic on priority 5 (code point 101) and iSCSI traffic on priority 4.

  • Interface xe-0/0/33 handles FCoE traffic on priority 3 and priority 5.

  • Interface xe-0/0/34 handles iSCSI traffic on priority 4.

Figure 1 shows the topology for this example, and Table 1 shows the configuration components for this example.

Figure 1: Topology of the Lossless FCoE and iSCSI Priorities ExampleTopology of the Lossless FCoE and iSCSI Priorities Example
Table 1: Components of the Lossless FCoE and iSCSI Priorities Configuration Topology

Component

Settings

Hardware

One switch

Forwarding classes

This example uses one explicitly configured lossless FCoE forwarding class, the default lossless FCoE forwarding class, and one explicitly configured iSCSI forwarding class.

  • iSCSI forwarding class:

    Name—iscsi

    Queue mapping—queue 4

    Packet drop attribute—no-loss

  • FCoE forwarding class (explicitly configured):

    Name—fcoe1

    Queue mapping—queue 5

    Packet drop attribute—no-loss

    Note:

    A lossless forwarding class can be mapped to any output queue. However, because the fcoe1 forwarding class uses priority 5 in this example, matching that traffic to a forwarding class that uses queue 5 creates a configuration that is logical and easy to map because the priority and the queue are identified by the same number.

  • FCoE forwarding class (default)

    Name—fcoe

    The default fcoe forwarding class is mapped to priority 3 (IEEE 802.1p code point 011) and to output queue 3 with a packet drop attribute of no-loss.

BA classifiers

Each interface requires a different classifier because each interface handles a different subset of FCoE traffic.

  • Interface xe-0/0/31 classifier:

    Name—fcoe_p3_iscsi

    FCoE priority mapping—Forwarding class fcoe mapped to code point 011 (IEEE 802.1p priority 3) and a packet loss priority of low.

    iSCSI priority mapping—Forwarding class iscsi mapped to code point 100 (priority 4) and a packet loss priority of low.

    All other priority mapping—All other forwarding classes are mapped to the best-effort forwarding class with packet loss priorities of high.

  • Interface xe-0/0/32 classifier:

    Name—fcoe_p5_iscsi

    FCoE priority mapping—Forwarding class fcoe1 mapped to code point 101 (IEEE 802.1p priority 5) and a packet loss priority of low.

    iSCSI priority mapping—Forwarding class iscsi mapped to code point 100 (priority 4) and a packet loss priority of low.

    All other priority mapping—All other forwarding classes are mapped to the best-effort forwarding class with packet loss priorities of high.

  • Interface xe-0/0/33 classifier:

    Name—fcoe_p3_p5

    FCoE priority mapping—Forwarding class fcoe1 mapped to code point 101 (priority 5) and a packet loss priority of low, and forwarding class fcoe mapped to code point 011 and a packet loss priority of low.

    All other priority mapping—All other forwarding classes are mapped to the best-effort forwarding class with packet loss priorities of high.

  • Interface xe-0/0/34 classifier:

    Name—iscsi_classifier

    iSCSI priority mapping—Forwarding class iscsi mapped to code point 100 (priority 4) and a packet loss priority of low.

    All other priority mapping—All other forwarding classes are mapped to the best-effort forwarding class with packet loss priorities of high.

PFC configuration (CNPs)

Each interface requires a different CNP because each interface handles a different subset of FCoE and iSCSI traffic, and must pause that traffic on different priorities.

  • Interface xe-0/0/31 CNP:

    CNP name—fcoe_p3_cnp

    Input CNP code points—011 and 100

    MRU—2240 bytes for code point 011, default value (2500 bytes) for code point 100

    Cable length—100 meters

    Note:

    On interface xe-0/0/31, the FCoE forwarding class is mapped to queue 3 and priority 3 (code point 011), and the iSCSI forwarding class is mapped to queue 4 and priority 4 (code point 100). Therefore, interface xe-0/0/31 does not require an output CNP configuration because queue 3 and queue 4 are enabled for PFC flow control by default on code points 011 and 100, respectively.

  • Interface xe-0/0/32 CNP:

    CNP name—fcoe_p5_cnp

    Input CNP code points—100 and 101

    MRU—Default value (2500 bytes) for code point 100, 2240 bytes for code point 101

    Cable length—150 meters

    Output CNP code points—100 and 101

    Output CNP flow control queues—4 and 5

  • Interface xe-0/0/33 CNP:

    CNP name—fcoe_p3_p5_cnp

    Input CNP code points—011 and 101

    MRU—2240 bytes (both priorities)

    Cable length—100 meters

    Output CNP code points—011 and 101

    Output CNP flow control queues—3 and 5

  • Interface xe-0/0/34 CNP:

    CNP name—iscsi_cnp

    Input CNP code point—100

    MRU—2500 bytes (default value)

    Cable length—100 meters

    Note:

    On interface xe-0/0/34, the iSCSI forwarding class is mapped to queue 4 and priority 4 (code point 100). Interface xe-0/0/34 does not require an output CNP configuration because queue 4 is enabled for PFC flow control by default on code point 100.

Note:

When you apply a CNP with an explicit output queue flow control configuration to an interface, the explicit CNP overwrites the default output CNP. The output queues that are enabled for PFC pause in the default configuration (queues 3 and 4) are not enabled for pause unless they are included in the explicitly configured output CNP.

DCBX application mapping

This example requires configuring applications for FCoE and iSCSI, including them in the same application map, and applying the application map to all four interfaces.

Application map name—dcbx_iscsi_fcoe_app_map

  • FCoE application name—fcoe_app

    Application ether-type—0x8906

    Application map code points—011 and 101

  • iSCSI application name—iscsi_app

    Application protocol type—tcp

    Application destination port—3260

    Application map code point—100

Note:

LLDP and DCBX must be enabled on the interface. By default, LLDP and DCBX are enabled on all Ethernet interfaces.

Note:

This example does not include scheduling (bandwidth allocation) configuration or the FIP snooping configuration. This examples focuses only on the lossless FCoE priority configuration.

QFX10000 switches do not support FIP snooping. For this reason, QFX10000 switches cannot be used as FCoE access transit switches. QFX10000 switches can be used as intermediate or aggregation transit switches in the FCoE path, between an FCoE access transit switch that performs FIP snooping and an FCF.

Configuration

CLI Quick Configuration

To quickly configure two lossless FCoE forwarding classes and one lossless iSCSI forwarding class and map them to different priorities, copy the following commands, paste them in a text file, remove line breaks, change variables and details to match your network configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy level.

Procedure

Step-by-Step Procedure

To configure two lossless forwarding classes for FCoE traffic and one lossless forwarding class for iSCSI traffic, classify the traffic into the three forwarding classes, configure congestion notification profiles to enable PFC on the FCoE priorities and output queues, and configure DCBX application protocol TLV exchange for traffic on both FCoE priorities:

  1. Configure lossless forwarding classes iscsi for iSCSI traffic and fcoe1 for FCoE traffic (this example uses the default fcoe forwarding class as the other lossless FCoE forwarding class) and map them to output queues:

  2. Configure the ingress classifier (fcoe_p3_iscsi) for interface xe-0/0/31. The classifier maps the FCoE priority (code point 011) to lossless FCoE forwarding class fcoe and the iSCSI priority (code point 100) to lossless iSCSI forwarding class iscsi, and traffic of other priorities to the best-effort forwarding class with a packet loss priority of high:

  3. Configure the ingress classifier (fcoe_p5_iscsi) for interface xe-0/0/32. The classifier maps the FCoE priority (code point 101) to lossless FCoE forwarding class fcoe1 and the iSCSI priority (code point 100) to lossless iSCSI forwarding class iscsi, and traffic of other priorities to the best-effort forwarding class with a packet loss priority of high:

  4. Configure the ingress classifier (fcoe_p3_p5) for interface xe-0/0/33. The classifier maps the two FCoE priorities (code points 011 and 101) to lossless FCoE forwarding classes fcoe and fcoe1, respectively, and traffic of other priorities to the best-effort forwarding class with a packet loss priority of high:

  5. Configure the ingress classifier (iscsi_classifier) for interface xe-0/0/34. The classifier maps the iSCSI priority (code point 101) to lossless iSCSI forwarding class iscsi, and traffic of other priorities to the best-effort forwarding class with a packet loss priority of high:

  6. Apply each classifier to the appropriate interface:

  7. Configure the CNP input stanza for interface xe-0/0/31 to enable PFC on the FCoE and iSCSI priorities that the interface handles (code points 011 and 100), set the MRU value for the FCoE traffic (2240 bytes), and set the cable length value (100 meters). No output stanza is needed because queues 3 and 4 are paused by default on priorities 3 and 4, respectively, and we are not explicitly configuring output queue flow control for any other queues.

  8. Configure the CNP for interface xe-0/0/32. The input stanza enables PFC on the FCoE priority (code point 101), sets the MRU value for FCoE traffic (2240 bytes), enables PFC on the iSCSI priority (code point 100), and sets the cable length value (150 meters). The output stanza configures flow control on output queue 5 on the FCoE priority and on output queue 4 on the iSCSI priority:

  9. Configure the CNP for interface xe-0/0/33. The input stanza enables PFC on the FCoE priorities (IEEE 802.1p code points 011 and 101), sets the MRU value (2240 bytes), and sets the cable length value (100 meters). The output stanza configures flow control on output queues 3 and 5 on the FCoE priorities:

  10. Configure the CNP input stanza for interface xe-0/0/34 to enable PFC on the iSCSI priority (code point 100) and set the cable length value (100 meters). No output stanza is needed because queue 4 is paused by default on priority 4, and we are not explicitly configuring output queue flow control for any other queues.

  11. Apply each CNP to the appropriate interface:

  12. Configure the DCBX applications for FCoE and iSCSI to map to the interfaces so that DCBX can exchange application protocol TLVs on the IEEE 802.1p priorities used for FCoE and iSCSI traffic:

  13. Configure a DCBX application map to map the FCoE and iSCSI applications to the correct priorities:

  14. Apply the application map to the interfaces so that DCBX exchanges FCoE application TLVs on the correct code points:

Verification

To verify the configuration and proper operation of the lossless forwarding classes and IEEE 802.1p priorities, perform these tasks:

Verifying the Forwarding Class Configuration

Purpose

Verify that the lossless forwarding classes iscsi and fcoe1 have been created and that the default lossless forwarding class fcoe is still enabled for lossless transport.

Action

Show the forwarding class configuration by using the operational command show class-of-service forwarding class:

Meaning

The show class-of-service forwarding-class command shows all of the forwarding classes. The command output shows that the iscsi and fcoe1 forwarding classes are configured on output queues 4 and 5, respectively, with the no-loss packet drop attribute enabled.

Because we did not explicitly configure the default fcoe forwarding class, it remains in its default state (lossless configuration).

Verifying the Behavior Aggregate Classifier Configuration

Purpose

Verify that the four classifiers map the forwarding classes to the correct IEEE 802.1p code points (priorities) and packet loss priorities.

Action

List the classifiers configured to support lossless FCoE transport using the operational mode command show class-of-service classifier:

Meaning

The show class-of-service classifier command shows the IEEE 802.1p code points and the loss priorities that are mapped to the forwarding classes in each classifier. The command output shows that there are four classifiers, fcoe_p3_iscsi, fcoe_p5_iscsi, fcoe_p3_p5, and iscsi_classifier.

Classifier fcoe_p3_iscsi maps code point 011 (priority 3) to default lossless forwarding class fcoe and a packet loss priority of low, and code point 100 (priority 4) to explicitly configured lossless forwarding class iscsi, and all other priorities to the best-effort forwarding class with a packet loss priority of high.

Classifier fcoe_p5_iscsi maps code point 100 to explicitly configured forwarding class iscsi and a packet loss priority of low, and code point 101 (priority 5) to explicitly configured lossless forwarding class fcoe1 and a packet loss priority of low, and all other priorities to the best-effort forwarding class with a packet loss priority of high.

Classifier fcoe_p3_p5 maps code point 011 to default lossless forwarding class fcoe and a packet loss priority of low, and maps code point 101 to explicitly configured lossless forwarding class fcoe1 and a packet loss priority of low.The classifier maps all other priorities to the best-effort forwarding class with a packet loss priority of high.

Classifier iscsi_classifier maps code point 100 to explicitly configured forwarding class iscsi and a packet loss priority of low, and all other priorities to the best-effort forwarding class with a packet loss priority of high.

Verifying the PFC Flow Control Configuration (CNP)

Purpose

Verify that PFC is enabled on the correct input priorities and that flow control is configured on the correct output queues and priorities in each CNP.

Action

List the congestion notification profiles using the operational mode command show class-of-service congestion-notification:

Meaning

The show class-of-service congestion-notification command shows the input and output stanzas of the four CNPs.

For CNP fcoe_p3_cnp, the input stanza shows that PFC is enabled on IEEE 802.1p code point 011 (priority 3) with an MRU of 2240 bytes, and cable length of 100 meters. The input stanza also shows that PFC is enabled on code point 100 (priority 4) with the default MRU value of 9216 bytes. The CNP output stanza shows the default mapping of priorities to output queues because no explicit output CNP is configured.

Note:

By default, only queues 3 and 4 are enabled respond to pause messages from the connected peer. For queue 3 to respond to pause messages, priority 3 (code point 011) must be enabled for PFC in the input stanza. For queue 4 to respond to pause messages, priority 4 (code point 100) must be enabled for PFC in the input stanza. In this example, only queues 3 and 4 respond to pause messages from the connected peer on interfaces that use CNP fcoe_p3_cnp because the input stanza enables PFC only on priorities  3 and 4.

For CNP fcoe_p3_p5_cnp, the input stanza shows that PFC is enabled on code points 011 and 101 (priority 5), the MRU is 2240 bytes on both priorities, and the cable length is 100 meters. The CNP output stanza shows that output flow control is configured on queues 3 and 5 for code points 011 and 101, respectively.

For CNP fcoe_p5_cnp, the input stanza shows that PFC is enabled on code points 100 and 101. The MRU for code point 101 (FCoE traffic) is 2240 bytes and the MRU for code point 100 is 9216. The interface cable length is 150 meters. The CNP output stanza shows that output flow control is configured on queue 4 for code point 100 and on queue 5 for code point 101.

For CNP iscsi_cnp, the input stanza shows that PFC is enabled on code point 100, the MRU value is 9216 bytes, and the interface cable length is 100 meters. The CNP output stanza shows the default mapping of priorities to output queues because no explicit output CNP is configured.

Verifying the Interface Configuration

Purpose

Verify that the correct classifiers and congestion notification profiles are configured on the correct interfaces.

Action

List the ingress interfaces using the operational mode commands show configuration class-of-service interfaces xe-0/0/31, show configuration class-of-service interfaces xe-0/0/32, show configuration class-of-service interfaces xe-0/0/33, and show configuration class-of-service interfaces xe-0/0/34:

Meaning

The show configuration class-of-service interfaces xe-0/0/31 command shows that the congestion notification profile fcoe_p3_cnp is configured on the interface, and that the IEEE 802.1p classifier associated with the interface is fcoe_p3_iscsi.

The show configuration class-of-service interfaces xe-0/0/32 command shows that the congestion notification profile fcoe_p5_cnp is configured on the interface, and that the IEEE 802.1p classifier associated with the interface is fcoe_p5_iscsi.

The show configuration class-of-service interfaces xe-0/0/33 command shows that the congestion notification profile fcoe_p3_p5_cnp is configured on the interface, and that the IEEE 802.1p classifier associated with the interface is fcoe_p3_p5.

The show configuration class-of-service interfaces xe-0/0/34 command shows that the congestion notification profile iscsi_cnp is configured on the interface, and that the IEEE 802.1p classifier associated with the interface is iscsi_classifier.

Verifying the DCBX Application Configuration

Purpose

Verify that the DCBX applications for FCoE and iSCSI are configured.

Action

List the DCBX applications by using the configuration mode command show applications:

Meaning

The show applications configuration mode command shows all of the configured applications. The output shows that the application iscsi_app is configured with a protocol value of tcp and a destination port value of 3260, and that the application fcoe_app is configured with an EtherType of 0x8906 (the correct EtherType for FCoE traffic).

Verifying the DCBX Application Map Configuration

Purpose

Verify that the application map is configured.

Action

List the application maps by using the configuration mode command show policy-options application-maps:

Meaning

The show policy-options application-maps configuration mode command lists all of the configured application maps and the applications that belong to each application map. The output shows that there is one application map named dcbx-iscsi-fcoe_app_map. It consists of the application iscsi_app mapped to code point 100 and the application fcoe_app mapped to code points 011 and 101.

Verifying the DCBX Application Protocol Exchange Interface Configuration

Purpose

Verify that the application maps are applied to the correct interfaces.

Action

List the application maps on each interface using the configuration mode command show protocols dcbx:

Meaning

The show protocols dcbx configuration mode command lists the application map association with interfaces. The output shows that all four interfaces use the application map dcbx-iscsi-fcoe-app-map.