Troubleshooting Dropped FCoE Traffic
Problem
Description
Fibre Channel over Ethernet (FCoE) traffic for which you want guaranteed delivery is dropped.
Cause
There are several possible causes of dropped FCoE traffic (the list numbers of the possible causes correspond to the list numbers of the solutions in the Solution section.):
Priority-based flow control (PFC) is not enabled on the FCoE priority (IEEE 802.1p code point) in both the input and output stanzas of the congestion notification profile.
The FCoE traffic is not classified correctly at the ingress interface. FCoE traffic should either use the default
fcoe
forwarding class and classifier configuration (maps thefcoe
forwarding class to IEEE 802.1p code point 011) or be mapped to a lossless forwarding class and to the code point enabled for PFC on the input and output interfaces.The congestion notification profile that enables PFC on the FCoE priority is not attached to the interface.
The forwarding class set (priority group) used for guaranteed delivery traffic does not include the forwarding class used for FCoE traffic.
Note:This issue can occur only on switches that support enhanced transmission selection (ETS) hierarchical port scheduling. (Direct port scheduling does not use forwarding class sets.)
Insufficient bandwidth has been allocated for the FCoE queue or for the forwarding class set to which the FCoE queue belongs.
Note:This issue can occur for forwarding class sets only on switches that support ETS hierarchical port scheduling. (Direct port scheduling does not use forwarding class sets.)
If you are using Junos OS Release 12.2, the
fcoe
forwarding class has been explicitly configured instead of using the defaultfcoe
forwarding class configuration (forwarding-class-to-queue mapping).Note:If you are using Junos OS Release 12.2, use the default forwarding-class-to-queue mapping for the lossless
fcoe
andno-loss
forwarding classes. If you explicitly configure the lossless forwarding classes, the traffic mapped to those forwarding classes is treated as lossy (best effort) traffic and does not receive lossless treatment.If you are using Junos OS Release 12.3 or later and you are not using the default
fcoe
forwarding class configuration, the forwarding class used for FCoE is not configured with theno-loss
packet drop attribute. In Junos OS 12.3 or later, explicit forwarding classes configurations must include theno-loss
packet drop attribute to be treated as lossless forwarding classes.
Solution
The list numbers of the possible solutions correspond to the list numbers of the causes in the Cause section.
Check the congestion notification profile (CNP) to see if PFC is enabled on the FCoE priority (the correct IEEE 802.1p code point) on both input and output interfaces. Use the
show class-of-service congestion-notification
operational command to show the code points that are enabled for PFC in each CNP.If you are using the default configuration, FCoE traffic is mapped to code point 011 (priority 3). In this case, the input stanza of the CNP should show that PFC is enabled on code point 011, and the output stanza should show that priority 011 is mapped to flow control queue 3.
If you explicitly configured a forwarding class for FCoE traffic, ensure that:
You specified the
no-loss
packet drop attribute in the forwarding class configurationThe code point mapped to the FCoE forwarding class in the ingress classifier is the code point enabled for PFC in the CNP input stanza
The code point and output queue used for FCoE traffic are mapped to each other in the CNP output stanza (if you are not using the default priority and queue, you must explicitly configure each output queue that you want to respond to PFC messages)
For example, if you explicitly configure a forwarding class for FCoE traffic that is mapped to output queue 5 and to code point 101 (priority 5), the output of the
show class-of-service congestion-notification
looks like:Name: fcoe_p5_cnp, Index: 12183 Type: Input Cable Length: 100 m Priority PFC MRU 000 Disabled 001 Disabled 010 Disabled 011 Disabled 100 Disabled 101 Enabled 2500 110 Disabled 111 Disabled Type: Output Priority Flow-Control-Queues 101 5
Use the
show class-of-service classifier type ieee-802.1p
operational command to check if the classifier maps the forwarding class used for FCoE traffic to the correct IEEE 802.1p code point.Ensure that the congestion notification profile and classifier are attached to the correct ingress interface. Use the operational command
show configuration class-of-service interfaces interface-name
.Check that the forwarding class set includes the forwarding class used for FCoE traffic. Use the operational command
show configuration class-of-service forwarding-class-sets
to show the configured priority groups and their forwarding classes.Verify the amount of bandwidth allocated to the queue mapped to the FCoE forwarding class and to the forwarding class set to which the FCoE traffic queue belongs. Use the
show configuration class-of-service schedulers scheduler-name
operational command (specify the scheduler for FCoE traffic as thescheduler-name
) to see the minimum guaranteed bandwidth (transmit-rate
) and maximum bandwidth (shaping-rate
) for the queue.Use the
show configuration class-of-service traffic-control-profiles traffic-control-profile
operational command (specify the traffic control profile used for FCoE traffic as thetraffic-control-profile
) to see the minimum guaranteed bandwidth (guaranteed-rate
) and maximum bandwidth (shaping-rate
) for the forwarding class set.Delete the explicit FCoE forwarding-class-to-queue mapping so that the system uses the default FCoE forwarding-class-to-queue mapping. Include the
delete forwarding-classes class fcoe queue-num 3
statement at the[edit class-of-service]
hierarchy level to remove the explicit configuration. The system then uses the default configuration for the FCoE forwarding class and preserves the lossless treatment of FCoE traffic.Use the
show class-of-service forwarding-class
operational command to display the configured forwarding classes. The No-Loss column shows whether lossless transport is enabled or disabled for each forwarding class. If the forwarding class used for FCoE traffic is not enabled for lossless transport, include theno-loss
packet drop attribute in the forwarding class configuration (set class-of-service forwarding-classes class fcoe-forwarding-class-name queue-num queue-number no-loss
).
See Example: Configuring CoS PFC for FCoE Traffic for step-by-step instructions on how to configure PFC for FCoE traffic, including classifier, interface, congestion notification profile, PFC, and bandwidth scheduling configuration.