ON THIS PAGE
Example: Configuring Lossless FCoE Traffic When the Converged Ethernet Network Does Not Use IEEE 802.1p Priority 3 for FCoE Traffic (FCoE Transit Switch)
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 network uses a different priority than 3 for FCoE traffic, you need to configure lossless FCoE transport on that priority. This example shows you how to configure lossless FCoE transport on a converged Ethernet network that uses priority 5 (IEEE 802.1p code point 101) for FCoE traffic instead of using priority 3.
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
Although FCoE traffic typically uses IEEE 802.1p priority 3 on converged Ethernet networks, some networks use a different priority for FCoE traffic. Regardless of the priority used, FCoE traffic must receive lossless treatment. Supporting lossless behavior for FCoE traffic when your network does not use priority 3 requires configuring:
A lossless forwarding class for FCoE traffic.
A behavior aggregate (BA) classifier to map the FCoE forwarding class to the appropriate IEEE 802.1p priority.
A congestion notification profile (CNP) to enable PFC on the FCoE code point at the interface ingress and to configure flow control on the interface egress. Flow control on the interface egress enables the interface to respond to PFC messages received from the connected peer and pause the correct IEEE 802.1p priority on the correct output queue.
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.
A DCBX application and an application map to support DCBX application TLV exchange for the lossless FCoE traffic on the configured FCoE priority. 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, 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 one lossless FCoE traffic class, map it to a priority other than priority 3, and configure flow control to ensure lossless behavior on the interfaces. This example uses two Ethernet interfaces, xe-0/0/25 and xe-0/0/26. The interfaces connect to a converged Ethernet network that uses IEEE 802.1p priority 5 (code point 101) for FCoE traffic.
The configuration on the two interfaces is the same. Both interfaces use the same explicitly configured lossless FCoE forwarding class and the same ingress classifier. Both interfaces enable PFC on priority 5 and enable flow control on the same output queue (which is mapped to the lossless FCoE forwarding class).
Table 1 shows the configuration components for this example.
Component |
Settings |
---|---|
Hardware |
One switch |
Forwarding class |
Name— Queue mapping—queue Packet drop attribute— Note:
A lossless forwarding class can be mapped to any output
queue. However, because the |
BA classifier |
Name— FCoE priority mapping—Forwarding class |
PFC configuration (CNPs) |
CNP name— Input CNP code point— MRU— Cable length— Output CNP code point— Output CNP flow control queue— 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 |
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. |
This example does not include scheduling (bandwidth allocation) configuration or the FIP snooping configuration. This example 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 a lossless FCoE forwarding
class that uses a different priority than IEEE 802.1p priority 3 for
FCoE traffic 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.
set class-of-service forwarding-classes class fcoe1 queue-num 5 no-loss set class-of-service classifiers ieee-802.1 fcoe_p5 forwarding-class fcoe1 loss-priority low code-points 101 set class-of-service interfaces xe-0/0/25 unit 0 classifiers ieee-802.1 fcoe_p5 set class-of-service interfaces xe-0/0/26 unit 0 classifiers ieee-802.1 fcoe_p5 set class-of-service congestion-notification-profile fcoe_p5_cnp input ieee-802.1 code-point 101 pfc mru 2240 set class-of-service congestion-notification-profile fcoe_p5_cnp input cable-length 100 set class-of-service congestion-notification-profile fcoe_p5_cnp output ieee-802.1 code-point 101 pfc flow-control-queue 5 set class-of-service interfaces xe-0/0/25 congestion-notification-profile fcoe_p5_cnp set class-of-service interfaces xe-0/0/26 congestion-notification-profile fcoe_p5_cnp set applications application fcoe_p5_app ether-type 0x8906 set policy-options application-maps fcoe_p5_app_map application fcoe_p5_app code-points 101 set protocols dcbx interface xe-0/0/25 application-map fcoe_p5_app_map set protocols dcbx interface xe-0/0/26 application-map fcoe_p5_app_map
Configuring A Lossless FCoE Forwarding Class On IEEE 802.1p Priority 5
Step-by-Step Procedure
To configure a lossless forwarding class for FCoE traffic on IEEE 802.1p priority 5 (code point 101), classify FCoE traffic into the lossless forwarding class, configure a congestion notification profile to enable PFC on the FCoE priority and output queue, and configure DCBX application protocol TLV exchange for traffic on the FCoE priority:
Configure the lossless forwarding class (named
fcoe1
and mapped to output queue5
) for FCoE traffic on IEEE 802.1p priority 5:[edit class-of-service] user@switch# set forwarding-classes class fcoe1 queue-num 5 no-loss
Configure the ingress classifier (
fcoe_p5
). The classifier maps the FCoE priority (code point101
) to the lossless FCoE forwarding classfcoe1
:[edit class-of-service classifiers] user@switch# set ieee-802.1 fcoe_p5 forwarding-class fcoe1 loss-priority low code-points 101
Apply the classifier to interfaces
xe-0/0/25
andxe-0/026
:[edit class-of-service] user@switch# set interfaces xe-0/0/25 unit 0 classifiers ieee-802.1 fcoe_p5 user@switch# set interfaces xe-0/0/26 unit 0 classifiers ieee-802.1 fcoe_p5
Configure the CNP. 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 (100 meters). The output stanza configures flow control on output queue 5 on the FCoE priority:
[edit class-of-service] user@switch# set congestion-notification-profile fcoe_p5_cnp input ieee-802.1 code-point 101 pfc mru 2240 user@switch# set congestion-notification-profile fcoe_p5_cnp input cable-length 100 user@switch# set congestion-notification-profile fcoe_p5_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/25 congestion-notification-profile fcoe_p5_cnp user@switch# set interfaces xe-0/0/26 congestion-notification-profile fcoe_p5_cnp
Configure the DCBX application for FCoE to map to the Ethernet interfaces, so that DCBX can exchange application protocol TLVs on the IEEE 802.1p priority 5 instead of on the default priority 3:
[edit] user@switch# set applications application fcoe_p5_app ether-type 0x8906
Configure a DCBX application map to map the FCoE application to the correct IEEE 802.1p FCoE priority:
[edit] user@switch# set policy-options application-maps fcoe_p5_app_map application fcoe_p5_app code-points 101
Apply the application map to the Ethernet interfaces so that DCBX exchanges FCoE application TLVs on the correct code point:
[edit] user@switch# set protocols dcbx interface xe-0/0/25 application-map fcoe_p5_app_map user@switch# set protocols dcbx interface xe-0/0/26 application-map fcoe_p5_app_map
Verification
To verify the configuration and proper operation of the lossless forwarding class and IEEE 802.1p priority, 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 classifier maps the forwarding classes to the correct IEEE 802.1p code points (priorities) and packet loss priorities.
Action
List the classifier configured to support lossless FCoE
transport using the operational mode command show class-of-service
classifier
:
user@switch> show class-of-service classifier Classifier: fcoe_p5, Code point type: ieee-802.1, Index: 63065 Code point Forwarding class Loss priority 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_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
.
Verifying the PFC Flow Control Configuration (CNP)
Purpose
Verify that PFC is enabled on the correct input priority and that flow control is configured on the correct output queue in the CNP.
Action
Display the congestion notification profile using the
operational mode command show class-of-service congestion-notification
:
user@switch> show class-of-service congestion-notification Name: fcoe_p5_cnp, Index: 12137 Type: Input Cable Length: 100 m Priority PFC MRU 000 Disabled 001 Disabled 010 Disabled 011 Disabled 100 Disabled 101 Enabled 2240 110 Disabled 111 Disabled Type: Output Priority Flow-Control-Queues 101 5
Meaning
The show class-of-service congestion-notification
command shows the input and output stanzas of the configured CNPs.
The fcoe_p5_cnp
CNP input stanza shows that PFC is
enabled on code point 101
(priority 5), the MRU is 2240
bytes, and the cable length is 100
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 classifier and congestion notification profile are configured on the interfaces.
Action
List the ingress interfaces using the operational mode
commands show configuration class-of-service interfaces xe-0/0/25
and show configuration class-of-service interfaces xe-0/0/26
:
user@switch> show configuration class-of-service interfaces xe-0/0/25 congestion-notification-profile fcoe_p5_cnp; unit 0 { classifiers { ieee-802.1 fcoe_p5; } }
user@switch> show configuration class-of-service interfaces xe-0/0/26 congestion-notification-profile fcoe_p5_cnp; unit 0 { classifiers { ieee-802.1 fcoe_p5; } }
Meaning
Both the show configuration class-of-service interfaces
xe-0/0/25
command and the show configuration class-of-service
interfaces xe-0/0/26
command show that the congestion notification
profile fcoe_p5_cnp
is configured on each interface, and
that the IEEE 802.1p classifier associated with each interface is fcoe_p5
.
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_p5_app { ether-type 0x8906;
Meaning
The show applications
configuration mode
command shows all of the configured applications. The output shows
that the application fcoe_p5_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_p5_app_map { application fcoe_p5_app code-points 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_p5_app_map
consists
of the application named fcoe_p5_app
, which is mapped to
IEEE 802.1p code point 101
.
Verifying the DCBX Application Protocol Exchange Interface Configuration
Purpose
Verify that the application map is applied to the correct 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/25.0 { application-map fcoe_p5_app_map; } interface xe-0/0/26.0 { application-map fcoe_p5_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/25.0
and xe-0/0/26.0
use application map fcoe_p5_app_map
.