ON THIS PAGE
Example: Configuring Two or More Lossless FCoE Priorities on the Same FCoE Transit Switch Interface
The default system configuration supports FCoE traffic on priority 3 (IEEE 802.1p code point 011). If the FCoE traffic on your converged Ethernet network uses priority 3, the only user configuration required for lossless transport is to enable PFC on code point 011 on the FCoE ingress interfaces.
However, if your converged Ethernet network uses more than one priority for FCoE traffic, you need to configure lossless transport for each FCoE priority. This example shows you how to configure lossless FCoE transport on a converged Ethernet network that uses both priority 3 (IEEE 802.1p code point 011) and priority 5 (IEEE 802.1p code point 101) for FCoE traffic.
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, a converged Ethernet network might include two separate FCoE networks that use different priorities to identify traffic. Interfaces that carry traffic for both FCoE networks need to support lossless FCoE transport on both priorities.
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 lossless FCoE forwarding classes, so we need to explicitly configure only one FCoE forwarding class).A behavior aggregate (BA) classifier to map the FCoE forwarding classes to the appropriate IEEE 802.1p code points (priorities).
A congestion notification profile (CNP) 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 classifier, CNP, 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 on an interface, map them to two different priorities, and configure flow control to ensure lossless behavior. This example uses two Ethernet interfaces, xe-0/0/20 and xe-0/0/21, that are connected to the converged Ethernet network. Both interfaces transport FCoE traffic on priorities 3 (011) and 5 (101), and must support lossless transport of that traffic.
Table 1 shows the configuration components for this example.
Component |
Settings |
---|---|
Hardware |
One switch |
Forwarding classes |
Name— Note:
A lossless forwarding class can be mapped to any output
queue. However, because the Name— |
BA classifier |
Name— FCoE priority mapping for forwarding class FCoE priority mapping for forwarding class |
PFC configuration (CNP) |
CNP name— Input CNP code points— MRU—2240 bytes Cable length—100 meters Output CNP code points— Output CNP flow control queues— 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 PFC pause unless they are included in the explicitly configured output CNP. In this example, because the explicit output CNP overwrites the default output CNP, we must explicitly configure flow control on queue 3. |
DCBX application mapping |
Application name— Application EtherType— Application map name— Application map code points— Note:
LLDP and DCBX must be enabled on the interface. By default, LLDP and DCBX are enabled on all Ethernet interfaces. |
Interfaces |
Interfaces
|
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 interface,
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.
set class-of-service forwarding-classes class fcoe1 queue-num 5 no-loss set class-of-service classifiers ieee-802.1 fcoe_classifier forwarding-class fcoe loss-priority low code-points 011 set class-of-service classifiers ieee-802.1 fcoe_classifier forwarding-class fcoe1 loss-priority low code-points 101set class-of-service interfaces xe-0/0/20 unit 0 classifiers ieee-802.1 fcoe_classifier set class-of-service interfaces xe-0/0/21 unit 0 classifiers ieee-802.1 fcoe_classifier set class-of-service congestion-notification-profile fcoe_cnp input ieee-802.1 code-point 011 pfc mru 2240 set class-of-service congestion-notification-profile fcoe_cnp input ieee-802.1 code-point 101 pfc mru 2240 set class-of-service congestion-notification-profile fcoe_cnp input cable-length 100 set class-of-service congestion-notification-profile fcoe_cnp output ieee-802.1 code-point 011 pfc flow-control-queue 3 set class-of-service congestion-notification-profile fcoe_cnp output ieee-802.1 code-point 101 pfc flow-control-queue 5 set class-of-service interfaces xe-0/0/20 congestion-notification-profile fcoe_cnp set class-of-service interfaces xe-0/0/21 congestion-notification-profile fcoe_cnp set applications application fcoe_app ether-type 0x8906 set policy-options application-maps fcoe_app_map application fcoe_app code-points [011 101] set protocols dcbx interface xe-0/0/20 application-map fcoe_app_map set protocols dcbx interface xe-0/0/21 application-map fcoe_app_map
Procedure
Step-by-Step Procedure
To configure two lossless forwarding classes for FCoE traffic on the same interface, classify FCoE traffic into the forwarding classes, configure CNPs to enable PFC on the FCoE priorities and output queues, and configure DCBX application protocol TLV exchange for traffic on both FCoE priorities:
Configure lossless forwarding class
fcoe1
and map it to output queue5
for FCoE traffic that uses IEEE 802.1p priority 5:[edit class-of-service] user@switch# set forwarding-classes class fcoe1 queue-num 5 no-loss
Note:This examples uses the default
fcoe
forwarding class as the other lossless FCoE forwarding class.Configure the ingress classifier. The classifier maps the FCoE priorities (IEEE 802.1p code points
011
and101
) to lossless FCoE forwarding classesfcoe
andfcoe1
, respectively:[edit class-of-service classifiers] user@switch# set ieee-802.1 fcoe_classifier forwarding-class fcoe loss-priority low code-points 011 user@switch# set ieee-802.1 fcoe_classifier forwarding-class fcoe1 loss-priority low code-points 101
Apply the classifier to the interfaces:
[edit class-of-service] user@switch# set interfaces xe-0/0/20 unit 0 classifiers ieee-802.1 fcoe_classifier user@switch# set interfaces xe-0/0/21 unit 0 classifiers ieee-802.1 fcoe_classifier
Configure the CNP. 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:
[edit class-of-service] user@switch# set congestion-notification-profile fcoe_cnp input ieee-802.1 code-point 011 pfc mru 2240 user@switch# set congestion-notification-profile fcoe_cnp input ieee-802.1 code-point 101 pfc mru 2240 user@switch# set congestion-notification-profile fcoe_cnp input cable-length 100 user@switch# set congestion-notification-profile fcoe_cnp output ieee-802.1 code-point 011 pfc flow-control-queue 3 user@switch# set congestion-notification-profile fcoe_cnp output ieee-802.1 code-point 101 pfc flow-control-queue 5
Apply the CNP to the interfaces:
[edit class-of-service] user@switch# set interfaces xe-0/0/20 congestion-notification-profile fcoe_cnp user@switch# set interfaces xe-0/0/21 congestion-notification-profile fcoe_cnp
Configure a DCBX application for FCoE to map to the Ethernet interfaces, so that DCBX can exchange application protocol TLVs on both of the IEEE 802.1p priorities used for FCoE transport:
[edit] user@switch# set applications application fcoe_app ether-type 0x8906
Configure a DCBX application map to map the FCoE application to the correct IEEE 802.1p FCoE priorities:
[edit] user@switch# set policy-options application-maps fcoe_app_map application fcoe_app code-points [011 101]
Apply the application map to the interfaces so that DCBX exchanges FCoE application TLVs on the correct code points:
[edit] user@switch# set protocols dcbx interface xe-0/0/20 application-map fcoe_app_map user@switch# set protocols dcbx interface xe-0/0/21 application-map fcoe_app_map
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
- Verifying the Behavior Aggregate Classifier Configuration
- Verifying the PFC Flow Control Configuration (CNP)
- Verifying the Interface Configuration
- Verifying the DCBX Application Configuration
- Verifying the DCBX Application Map Configuration
- Verifying the DCBX Application Protocol Exchange Interface Configuration
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
:
user@switch# show class-of-service forwarding-class Forwarding class ID Queue Policing priority No-Loss best-effort 0 0 normal Disabled fcoe 1 3 normal Enabled no-loss 2 4 normal Enabled network-control 3 7 normal Disabled fcoe1 4 5 normal Enabled mcast 8 8 normal Disabled
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 using the operational mode command show class-of-service classifier
:
user@switch> show class-of-service classifier Classifier: fcoe_classifier, Code point type: ieee-802.1, Index: 10964 Code point Forwarding class Loss priority 011 fcoe low 101 fcoe1 low
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.
Classifier fcoe_classifier
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
.
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.
Action
List the CNPs using the operational mode command show class-of-service congestion-notification
:
user@switch> show class-of-service congestion-notification Name: fcoe_cnp, Index: 46504 Type: Input Cable Length: 100 m Priority PFC MRU 000 Disabled 001 Disabled 010 Disabled 011 Enabled 2240 100 Disabled 101 Enabled 2240 110 Disabled 111 Disabled Type: Output Priority Flow-Control-Queues 011 3 101 5
Meaning
The show class-of-service congestion-notification
command shows the input and output stanzas of the CNP.
The CNP fcoe_cnp
input stanza shows that PFC is enabled
on code points 011
and 101
, the MRU is 2240
bytes on both priorities, and the interface 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.
Verifying the Interface Configuration
Purpose
Verify that the classifier and congestion notification profile are configured on the interfaces. Both interfaces should show the same configuration.
Action
List the ingress interfaces using the operational mode
commands show configuration class-of-service interfaces xe-0/0/20
and show configuration class-of-service interfaces xe-0/0/21
:
user@switch> show configuration class-of-service interfaces xe-0/0/20 ccongestion-notification-profile fcoe_cnp; unit 0 { classifiers { ieee-802.1 fcoe_classifier; } }
user@switch> show configuration class-of-service interfaces xe-0/0/21 congestion-notification-profile fcoe_cnp; unit 0 { classifiers { ieee-802.1 fcoe_classifier; } }
Meaning
The show configuration class-of-service interfaces
xe-0/0/20
command shows that the congestion notification profile fcoe_cnp
is configured on the interface, and that the IEEE
802.1p classifier associated with the interface is fcoe_classifier
.
The show configuration class-of-service interfaces xe-0/0/21
command shows that the congestion notification profile fcoe_cnp
is configured on the interface, and that the IEEE 802.1p classifier
associated with the interface is fcoe_classifier
.
Verifying the DCBX Application Configuration
Purpose
Verify that the DCBX application for FCoE is configured.
Action
List the DCBX applications by using the configuration
mode command show applications
:
user@switch# show applications application fcoe_app { ether-type 0x8906;
Meaning
The show applications
configuration mode
command shows all of the configured applications. The output shows
that the application fcoe_app
is configured with an EtherType
of 0x8906
.
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
:
user@switch# show policy-options application-maps fcoe_app_map { application fcoe_app code-points [011 101]; }
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 application map fcoe_app_map
consists
of the application named fcoe_app
, which is mapped to IEEE
802.1p code points 011
and 101
(priorities 3
and 5, respectively).
Verifying the DCBX Application Protocol Exchange Interface Configuration
Purpose
Verify that the application map is applied to the interfaces.
Action
List the application maps on each interface using the
configuration mode command show protocols dcbx
:
user@switch# show protocols dcbx interface xe-0/0/20.0 { application-map fcoe_app_map; } interface xe-0/0/21.0 { application-map fcoe_app_map; }
Meaning
The show protocols dcbx
configuration mode
command lists the application map association with interfaces. The
output shows that interfaces xe-0/0/20.0
and xe-0/0/21.0
use application map fcoe_app_map
.