Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Example: Configuring Two or More Lossless FCoE IEEE 802.1p Priorities on Different FCoE Transit Switch Interfaces

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 if it uses different priorities in different parts of your converged network.

This example shows you how to configure two lossless forwarding classes for FCoE traffic and map them to two different priorities on an FCoE transit switch.

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 network topologies support FCoE traffic on more than one IEEE 802.1p priority. For example, when the switch acts as a transit switch, it could be connected to two QFX3500 switches in FCoE-FC gateway mode. Each of the gateway switches could connect a set of FCoE clients to a different SAN, and each set of FCoE clients could use a different priority for FCoE traffic to avoid fate sharing and maintain separation of the two FCoE networks. In this case, you need to configure two forwarding classes for FCoE traffic, each mapped to a different output queue and a different priority.

Supporting lossless behavior for two FCoE traffic classes requires configuring:

  • 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)

  • Behavior aggregate (BA) classifiers to map the FCoE 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 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 lossless FCoE traffic on the configured FCoE priorities. By default, DCBX is enabled on all Ethernet interfaces, 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, map them to two different priorities, and configure flow control to ensure lossless behavior for those priorities on the interfaces. This example uses three Ethernet interfaces, xe-0/0/20, xe-0/0/21, and xe-0/0/22:

  • Interface xe-0/0/20 connects to an FCoE-FC gateway that connects to Fibre Channel (FC) SAN 1. FCoE traffic to and from FC SAN 1 uses the default fcoe forwarding class and the default mapping to priority 3 (IEEE 802.1p code point 011) and output queue 3.

  • Interface xe-0/0/21 connects to another FCoE-FC gateway that connects to Fibre Channel (FC) SAN 2. FCoE traffic to and from FC SAN-2 uses an explicitly configured FCoE forwarding class that is mapped to priority 5 (code point 101) and output queue 5.

  • Interface xe-0/0/22 connects to FCoE devices on the converged Ethernet network and handles traffic destined for FC SAN 1 and FC SAN 2. Interface xe-0/0/22 must properly handle lossless FCoE traffic of both priorities (both FCoE forwarding classes), including pausing the traffic on ingress or egress as required.

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

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

Component

Settings

Hardware

One switch

Forwarding classes

Name—fcoe1Queue mapping—queue 5Packet 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.

Name—fcoeThis is the default lossless FCoE forwarding class, so no configuration required. The 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/20 classifier:Name—fcoe_p3FCoE priority mapping—Forwarding class fcoe mapped to code point 011 (IEEE 802.1p priority 3) and a packet loss priority of low.

  • Interface xe-0/0/21 classifier:Name—fcoe_p5FCoE priority mapping—Forwarding class fcoe1 mapped to code point 101 (IEEE 802.1p priority 5) and a packet loss priority of low.

  • Interface xe-0/0/22 classifier:Name—fcoe_p3_p5FCoE priority mapping—Forwarding class fcoe1 mapped to code point 101 and a packet loss priority of low, and forwarding class fcoe mapped to code point 011 and a packet loss priority of low.

PFC configuration (CNPs)

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

  • Interface xe-0/0/20 CNP:CNP name—fcoe_p3_cnpInput CNP code point—011MRU—2240 bytesCable length—100 meters

    Note:

    Because interface xe-0/0/20 uses the default FCoE configuration, output queue 3 is paused by default and you do not need to configure the output stanza of the CNP.

  • Interface xe-0/0/21 CNP:CNP name—fcoe_p5_cnpInput CNP code point—101MRU—2240 bytesCable length—150 metersOutput CNP code point—101Output CNP flow control queue—5

  • Interface xe-0/0/22 CNP:CNP name—fcoe_p3_p5_cnpInput CNP code points—011 and 101MRU—2240 bytes (both priorities)Cable length—100 metersOutput CNP code points—011 (for queue 3) and 101 (for queue 5)Output CNP flow control queues—3 for priority 3 (code point 011) and 5 for priority 5 (code point 101)

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 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

Interface xe-0/0/20 does not need an application map because DCBX exchanges application protocol TLVs only on the default FCoE priority (priority 3).

Interface xe-0/0/21 requires an application map that enables DCBX application protocol TLV exchange on priority 5 (code point 101) for FCoE traffic. Interface xe-0/0/22 requires an application map that enables DCBX application protocol TLV exchange both on priority 3 (code point 011) and on priority 5 (code point 101) for FCoE traffic.

  • Interface xe-0/0/21 DCBX application mapping:Application name—fcoe_p5_appApplication ether-type—0x8906Application map name—fcoe_p5_app_mapApplication map code points—101

  • Interface xe-0/0/22 DCBX application mapping:Application name—fcoe_all_appApplication ether-type—0x8906Application map name—fcoe_all_app_mapApplication map code points—011 and 101

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 that use different priorities on an FCoE transit switch, 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 on different interfaces, classify FCoE traffic into the 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 class fcoe1 and map it to output queue 5 for FCoE traffic that uses IEEE 802.1p priority 5:

    Note:

    This examples uses the default fcoe forwarding class as the other lossless FCoE forwarding class.

  2. Configure the ingress classifier (fcoe_p3) for interface xe-0/0/20. The classifier maps the FCoE priority (IEEE 802.1p code point 011) to lossless FCoE forwarding class fcoe:

  3. Configure the ingress classifier (fcoe_p5) for interface xe-0/0/21. The classifier maps the FCoE priority (IEEE 802.1p code point 101) to lossless FCoE forwarding class fcoe1:

  4. Configure the ingress classifier (fcoe_p3_p5) for interface xe-0/0/22. The classifier maps the two FCoE priorities (IEEE 802.1p code points 011 and 101) to the two lossless FCoE forwarding classes fcoe and fcoe1, respectively:

  5. Apply each classifier to the appropriate interface:

  6. Configure the CNP input stanza for interface xe-0/0/20 to enable PFC on the FCoE priority (IEEE 802.1p code point 011), set the MRU value (2240 bytes), and set the cable length value (100 meters). No output stanza is needed because queue 3 is paused by default on priority 3, and we are not explicitly configuring output queue flow control for any other queues.

  7. Configure the CNP for interface xe-0/0/21. The input stanza enables PFC on the FCoE priority (IEEE 802.1p code point 101), sets the MRU value (2240 bytes), and sets the cable length value (150 meters). The output stanza configures flow control on output queue 5 on the FCoE priority:

  8. Configure the CNP for interface xe-0/0/22. 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:

  9. Apply each CNP to the appropriate interface:

  10. Configure the DCBX FCoE application and application map to apply to interface xe-0/0/21. Interface xe-0/0/21 uses priority 5 (IEEE 802.1p code point 101) for FCoE traffic, which requires DCBX to exchange FCoE application protocol TLVs on priority 5 on interface xe-0/0/21. Configure an application named fcoe_p5_app for FCoE traffic (EtherType 0x8906) and configure an application map named fcoe_p5_app_map to map the application to code point 101:

    Note:

    Interface xe-0/0/20 uses the default FCoE configuration (priority 3). DCBX exchanges protocol TLVs for the FCoE application by default, so you do not need to configure DCBX explicitly on interface xe-0/0/20.

  11. Configure the DCBX FCoE application and application map to apply to interface xe-0/0/22. Interface xe-0/0/22 uses both priority 3 (IEEE 802.1p code point 011) and priority 5 for FCoE traffic, which requires DCBX to exchange FCoE application protocol TLVs on both priority 3 and priority 5. Configure an application named fcoe_all_app for FCoE traffic (EtherType 0x8906) and configure an application map named fcoe_all_app_map to map the application to code points 011 and 101:

  12. Apply the application maps to the interfaces xe-0/0/21 and xe-0/0/22 so that DCBX exchanges FCoE application TLVs on the correct code points on each interface:

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 class fcoe1 has been created.

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 fcoe1 forwarding class is configured on output queue 5 with the no-loss packet drop attribute enabled.

Because we did not explicitly configure the default forwarding classes, they remain in their default state, including the lossless configuration of the fcoe and no-loss default forwarding classes.

Verifying the Behavior Aggregate Classifier Configuration

Purpose

Verify that the three 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 three classifiers, fcoe_p3, fcoe_p5, and fcoe_p3_p5.

Classifier fcoe_p3 maps code point 011 (priority 3) to default lossless forwarding class fcoe 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_p5 maps 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.

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 three CNPs. For CNP fcoe_p3_cnp, the input stanza shows that PFC is enabled on IEEE 802.1p code point 011 (priority 3), the MRU is 2240 bytes, and the cable length is 100 meters. The CNP output stanza shows the default mapping of priorities to output queues.

Note:

By default, only queues 3 and 4 are enabled to 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 queue 3 responds to pause messages from the connected peer on interfaces that use CNP fcoe_p3_cnp, because the input stanza enables PFC priority 3 only.

For CNP fcoe_p3_p5_cnp, the input stanza shows that PFC is enabled on code points 011 and 101, 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 point 101 (priority 5), the MRU is 2240 bytes, and the cable length is 150 meters. The CNP output stanza shows that output flow control is configured on queue 5 for code point 101 (priority 5).

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/20, show configuration class-of-service interfaces xe-0/0/21, and show configuration class-of-service interfaces xe-0/0/22:

Meaning

The show configuration class-of-service interfaces xe-0/0/20 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.

The show configuration class-of-service interfaces xe-0/0/21 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.

The show configuration class-of-service interfaces xe-0/0/22 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.

Verifying the DCBX Application Configuration

Purpose

Verify that the two DCBX applications for FCoE 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 fcoe_all_app is configured with an EtherType of 0x8906 (the correct EtherType for FCoE traffic) and that the application fcoe_p5_app is also configured with an EtherType of 0x8906.

Verifying the DCBX Application Map Configuration

Purpose

Verify that the application maps are 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 are two application maps.

Application map fcoe_all_app_map consists of the application named fcoe_all_app mapped to IEEE 802.1p code points 011 (priority 3) and 101 (priority 5).

Application map fcoe_p5_app_map consists of the application named fcoe_p5_app mapped to IEEE 802.1p code point 101 (priority 5).

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 interface xe-0/0/21.0 uses application map fcoe_p5_app_map and interface xe-0/0/22.0 uses application map fcoe_all_app_map.

Note:

Because interface xe-0/0/20 uses the default lossless FCoE configuration, you do not configure application mapping to interface xe-0/0/20. The default configuration automatically exchanges application protocol TLVs for the default FCoE configuration on priority 3 (IEEE 802.1p code point 011).