Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation

Supported Platforms

 

Related Documentation

 

Understanding CoS IEEE 802.1p Priorities for Lossless Traffic Flows

Junos OS Release 12.3 supports six lossless forwarding classes; each forwarding class is mapped to an IEEE 802.1p code point (priority). Earlier Junos OS software releases supported two lossless forwarding classes, the fcoe and no-loss forwarding classes, which are mapped by default to IEEE 802.1p priorities 3 (code point 011) and 4 (code point 100), respectively. Junos OS Release 12.3 also introduces a new output stanza in the congestion notification profile (CNP) to configure priority-based flow control (PFC) on output queues.

The default configuration is the same as the default configuration in Junos OS Release 12.2 and is backward-compatible. If you need only two (or fewer) lossless forwarding classes, use the default configuration.

The increased support for lossless transport includes:

  • Configuring up to six lossless forwarding classes
  • Configuring PFC pause on output queues to program the output queues that can respond to PFC pause messages received from the connected peer. The priorities you pause on output queues must match the priorities on which you enable PFC on the corresponding ingress interfaces. For example, if you program output queues to pause priorities 3 (011) and 5 (101), then you must also enable pause on priorities 3 and 5 on the corresponding ingress interfaces. Configuring flow control on the output queues and enabling PFC on the corresponding input queues allows you to pause up to six priorities (forwarding classes).
  • Controlling the headroom buffer on Ethernet interfaces by configuring the maximum receive unit (MRU) size for the traffic mapped to an IEEE 802.1p priority (configured per priority) and the length of the attached cable (configured per interface). The MRU size can range up to full Jumbo packet size (9216 bytes).
  • Remapping (rewriting) IEEE 802.1p priorities on native Fibre Channel (FC) interfaces when the system is acting as an FCoE-FC gateway. If the Ethernet (FCoE) network uses a different IEEE 802.1p priority than priority 3 (011) for FCoE traffic, then you can use priority remapping to classify FCoE traffic into a lossless forwarding class mapped to that different priority (see Understanding CoS IEEE 802.1p Priority Remapping on an FCoE-FC Gateway).

Lossless transport still requires configuring previously existing features, including enabling PFC on the lossless priorities on ingress interfaces, and configuring classifiers to classify incoming traffic into lossless forwarding classes based on the IEEE 802.1p priority tag of the packet.

Note: If you expect a large amount of lossless traffic on your network and configure multiple lossless traffic classes, ensure that you reserve enough scheduling resources (bandwidth) to support the lossless flows.

Default Lossless Priority Configuration

If you do not explicitly configure lossless forwarding classes, the system uses the default forwarding class configuration. Forwarding classes are global on the QFX Series and are not configured per-interface, so any changes to forwarding classes apply to all interfaces on the device.

If you do not explicitly configure classifiers and flow control to pause output queues (configured in the output stanza of the CNP), the default classifier and the default output queue pause configuration are applied to all interfaces on the QFX Series. You can override the default classifier and the default output queue pause configuration on a per-interface basis by applying an explicit configuration to an interface. The default configuration is used on all interfaces that do not have an explicit configuration.

Note: If you do not configure flow control on output queues, the default configuration uses a one-to-one mapping of IEEE 802.1p code points (priorities) to output queues by number. For example, priority 0 (code point 000) is mapped to queue 0, priority 1 (code point 001) is mapped to queue 1, and so on. If you do not use the default configuration, you must explicitly configure flow control on each output queue that you want to enable for PFC pause.

In the default configuration, only queue 3 and queue 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.

The default configuration is the same as the default configuration in earlier software releases, and has the same lossless behavior:

  • There are two lossless forwarding classes (the no-loss packet drop attribute is applied automatically):
    fcoe—Mapped to output queue 3
    no-loss—Mapped to output queue 4
  • A classifier maps the fcoe forwarding class to IEEE 802.1p priority 3 (011) and the no-loss forwarding class to IEEE 802.1p priority 4 (100)
  • Flow control (PFC) is enabled on Ethernet interface output queues 3 and 4 when those queues carry lossless traffic (traffic mapped to the fcoe and no-loss forwarding classes, respectively). In Junos OS software releases earlier than Release 12.3, output queue flow control was not user-configurable.

    Flow control is enabled on native FC interface (NP_Port) output queue 3 (IEEE 802.1p priority 3) for FCoE/FC traffic

  • PFC must be enabled explicitly on the lossless IEEE 802.1p priorities (code points) on ingress Ethernet interfaces; no default PFC configuration is applied at ingress interfaces. If you do not enable PFC on lossless priorities, those priorities might experience packet loss during periods of congestion.
  • On Ethernet ports, PFC buffer calculations use the following default values to determine the headroom buffer size:
    Cable length—100 meters (approximately 328 feet)
    MRU for priority 3 traffic—2500 bytes
    MRU for priority 4 traffic—9216 bytes
    Maximum transmission unit (MTU)—1522 (or the configured MTU value for the interface)

    Note: If you configure flow control on a priority that is not one of the default flow control priorities, the default MRU value is 2500 bytes. For example, if you configure flow control on priority 5 and you do not configure an MRU value, the default MRU value is 2500 bytes.

  • DCBX is enabled on all interfaces in autonegotiation mode, and automatically exchanges FCoE application protocol type, length, and values (TLVs) on interfaces that carry FCoE traffic. If you explicitly configure DCBX protocol TLV exchange for any application, then you must explicitly configure every application for which you want DCBX to exchange TLVs, including FCoE.

The default CoS configuration is backward compatible with the default CoS configuration of previous software releases. If you explicitly configure lossless transport, ensure that the input and output queues corresponding to the lossless forwarding classes are explicitly configured for PFC pause.

Note: If you explicitly configured the lossless fcoe or no-loss forwarding classes before upgrading to Junos OS Release 12.3, those forwarding classes are not lossless after the upgrade to Release 12.3. To regain lossless behavior, you can delete the explicit configuration and use the default lossless forwarding classes, or you can use the no-loss packet drop attribute introduced in Junos OS Release 12.3 to configure the forwarding classes for lossless behavior.

Table 1 summarizes the default unicast forwarding classes and their mapping to output queues, IEEE 802.1p priorities, and drop attributes.

Table 1: Mapping of Default Unicast Forwarding Class to Queue, IEEE 802.1p Priority, and Drop Attribute

Forwarding Class Name

Output Queue

Priority

Drop Attribute

best-effort

0

0

drop

fcoe

3

3

no-loss

no-loss

4

4

no-loss

network-control

7

7

drop

There is one default multidestination forwarding class named mcast for multicast, broadcast, and destination lookup fail (DLF) traffic that is mapped to output queue 8 with a drop attribute of drop. (Incoming multidestination traffic on all IEEE 802.1p priorities is mapped to the mcast forwarding class by default.)

Configuring Lossless Priorities

Configuring more than two lossless priorities (forwarding classes) or changing the default mapping of lossless forwarding classes to priorities and paused output queues requires explicit configuration. This includes configuring forwarding classes with the no-loss packet drop attribute, using a CNP to configure PFC on ingress interfaces and flow control (PFC) on egress interfaces, and configuring a classifier to map IEEE 802.1p priorities (code points) to the correct forwarding classes.

Configuring Lossless Forwarding Classes (Packet Drop Attribute)

Junos OS Release 12.3 introduces the no-loss parameter for forwarding class configuration. (This is not the no-loss default forwarding class name. It is a packet drop attribute you can specify to configure any unicast forwarding class as a lossless forwarding class.)

You can configure up to six forwarding classes as lossless forwarding classes by including the no-loss drop attribute at the [edit class-of-service forwarding-classes class forwarding-class-name queue-num queue-number] hierarchy level.

If you do not explicitly configure the fcoe or no-loss forwarding classes, they include the no-loss drop attribute by default. If you explicitly configure the fcoe or no-loss forwarding classes and you want to retain their lossless behavior, you must include the no-loss drop attribute in the configuration.

Note: All forwarding classes mapped to the same output queue must have the same packet drop attribute. (All forwarding classes mapped to the same output queue must be either lossy or lossless. You cannot map a lossy and a lossless forwarding class to the same queue.)

To avoid fate sharing (different flows receiving the same CoS treatment), use a one-to-one mapping of lossless forwarding classes to IEEE 802.1p code points (priorities) and queues. (Each forwarding class should be mapped to a different queue and classified into a different priority.) The classifier attached to the interface determines the forwarding class to priority mapping.

The fcoe and no-loss forwarding classes are special cases because in the default configuration, they are configured for lossless behavior (providing that you also enable PFC on the priorities mapped to the fcoe and no-loss forwarding classes in the CNP input stanza).

Table 2 provides a summary of the possible configurations of the fcoe and no-loss forwarding classes in Junos OS Release 12.3, and the result of those configurations in terms of lossless traffic behavior. It is assumed that PFC, DCBX, and classifiers are properly configured.

Table 2: FCoE and No-Loss Forwarding Class Configuration in Junos OS Release 12.3

Explicit or Default Forwarding Class Configuration

Packet Drop Attribute

Result and Notes

Default

Default

The fcoe and no-loss forwarding classes are lossless.

Note: Even if you explicitly configure other forwarding classes (lossy or other lossless forwarding classes), the fcoe and no-loss forwarding classes are lossless because they are not explicitly configured.

Explicit

Not specified in the explicit forwarding class configuration

The fcoe and no-loss forwarding classes are lossy because they do not include the no-loss drop attribute.

Explicit

No-loss

The fcoe and no-loss forwarding classes are lossless.

Explicit, configured in Junos OS Release 12.2 or earlier

Not specified (packet drop attribute was not available before Junos OS Release 12.3)

The fcoe and no-loss forwarding classes are lossy in Junos OS Release 12.3 because they do not include the no-loss drop attribute.

Note: To retain lossless behavior, delete the explicit configuration so that the system uses the default configuration before you upgrade to Junos OS Release 12.3, or configure the forwarding classes with the no-loss packet drop attribute after upgrading to Junos OS Release 12.3.

For all other forwarding classes, you must explicitly configure lossless transport because the default configuration for all other forwarding classes is lossy.

Congestion Notification Profiles

Use CNPs to configure lossless characteristics on input and output interfaces. Input CNPs enable PFC on specified IEEE 802.1p priorities (code points) and fine-tune headroom buffer settings on ingress interfaces. Output CNPs enable PFC on output queues for specified IEEE 802.1p priorities so that the queues can respond to PFC pause messages from the connected peer.

To achieve lossless transport, the priority paused at the ingress interfaces must match the priority paused at the egress interfaces for a given traffic flow. For example, if you configure ingress interfaces to pause traffic tagged with IEEE 802.1p priority 5 (code point 101) and priority 5 traffic is mapped to output queue 5, then you must also configure the corresponding output interfaces to pause priority 5 on queue 5. In addition, the forwarding class mapped to queue 5 must be configured as a lossless forwarding class (using the no-loss drop attribute).

Configuring Input Interface Flow Control (PFC and Headroom Buffer Calculation)

On ingress Ethernet interfaces, input CNPs enable PFC on specified priorities. Input CNPs also fine-tune the headroom buffers used for PFC support if you do not want to use the default configuration.

Headroom buffers support lossless transport by storing the traffic that arrives at an interface after the interface sends a PFC flow control message to pause incoming traffic. Until the connected peer receives the flow control message and pauses traffic, the interface continues to receive traffic and must buffer it to prevent packet loss.

The system uses the MRU and the length of the attached physical cable to calculate buffer headroom allocation. The default configuration values are:

  • MRU for priority 3 traffic—2500 bytes
  • MRU for priority 4 traffic—9216 bytes
  • Cable length—100 meters (approximately 328 feet)

Note: If you configure flow control on a priority that is not one of the default flow control priorities, the default MRU value is 2500 bytes. For example, if you configure flow control on priority 5 and you do not configure an MRU value, the default MRU value is 2500 bytes.

You can fine-tune the MRU and the cable length to adjust the size of the headroom buffer on an interface. The QFX Series has a shared global buffer pool and dynamically allocates headroom buffer space to lossless queues as needed.

A lower MRU or a shorter cable length reduces the amount of headroom buffer required on an interface and leaves more headroom buffer space for other interfaces. A higher MRU or a longer cable length increases the amount of headroom buffer space required on an interface and leaves less headroom buffer space for other interfaces.

In many cases, you can better utilize the headroom buffers by reducing the MRU value (for example, an MRU of 2180 is sufficient for most FCoE networks) and by reducing the cable length value if the physical cable is less than 100 meters long.

Note: When you configure the headroom buffers and commit the configuration, the system performs a commit check and rejects the configuration if sufficient headroom buffer space is not available.

However the system does not perform a commit check but instead returns a syslog error if:

  • The buffers are configured on a LAG interface
  • The default classifier is used on the interface (instead of a user-configured classifier)
  • The interface has not been created

Configuring Output Interface Flow Control (PFC)

On Ethernet interfaces, you can use an output CNP to configure flow control on unicast output queues and enable PFC pause response on specified IEEE 802.1p priorities. By default, output queues 3 and 4 are enabled for PFC pause on priorities 3 (IEEE 802.1p code point 011) and 4 (IEEE 802.1p code point 100) to support the default lossless forwarding class configuration, which maps the fcoe forwarding class to queue 3 and priority 3, and maps the no-loss forwarding class to queue 4 and priority 4.

Configuring flow control on output queues enables you to pause any priority on any unicast output queue on any interface. This enables you to use more than two output queues to support lossless traffic flows (you can configure up to six lossless forwarding classes and map them to different output queues that are enabled for PFC pause). Output queue flow control also enables you to support multiple lossless forwarding classes (each mapped to a different priority and output queue) for one class of traffic.

For example, if the converged Ethernet network uses two different priorities for FCoE traffic (for example, priority 3 and priority 5), then you can classify those priorities into different lossless forwarding classes that are mapped to different output queues by:

  1. Configuring two lossless forwarding classes for FCoE traffic, with each forwarding class mapped to a different output queue. For example, you could use the default fcoe forwarding class, which is mapped to queue 3, and you could configure a second lossless forwarding class called fcoe1 and map it to queue 5. The fcoe forwarding class is for priority 3 FCoE traffic (code point 011) and the fcoe1 forwarding class is for priority 5 (code point 101) FCoE traffic.
  2. Configuring a classifier that maps each forwarding class to the desired IEEE 802.1p code point (priority). If FCoE traffic on both priorities uses one interface, the classifier must classify both forwarding classes to the correct priorities. If FCoE traffic of different priorities uses different interfaces, the classifier configuration on each interface must map the correct priority to the corresponding lossless forwarding class.
  3. Applying the classifier to the interfaces that carry FCoE traffic. The classifier determines the mapping of forwarding classes to priorities on each interface.

To configure lossless transport for these forwarding classes, you also need to:

  • In the CNP input stanza, enable PFC on the two priorities at the ingress interfaces.
  • In the CNP output stanza, configure flow control (PFC) on the output queues and priorities for the forwarding classes so that the interface can respond to pause messages received from the connected peer.
  • Configure DCBX to exchange application protocol TLVs on both FCoE priorities.

Note: If you do not configure flow control to pause output queues, the default configuration uses a one-to-one mapping of IEEE 802.1p code points (priorities) to output queues by number. For example, priority 0 (code point 000) is mapped to queue 0, priority 1 (code point 001) is mapped to queue 1, and so on. By default, only queues 3 and 4 are enabled to respond to pause messages from the connected peer, and you must explicitly enable PFC on the corresponding priorities in the CNP input stanza to achieve lossless behavior.

If you do not use the default configuration, you must explicitly configure flow control on each output queue that you want to enable for PFC pause. For example, if you explicitly configure flow control on output queue 5, the default configuration is no longer valid and only output queue 5 is enabled for PFC pause. Output queues 3 and 4 are no longer enabled for PFC pause, so traffic using those queues no longer responds to PFC pause messages even if the corresponding forwarding class is configured with the no-loss drop attribute. To retain the pause configuration on output queues 3 and 4 and configure flow control on queue 5, you need to explicitly configure flow control on queues 3, 4, and 5.

You cannot configure flow control to pause a multidestination output queue. You can configure flow control to pause only unicast output queues.

Configuring DCBX (Application Protocol TLV Exchange)

DCBX exchanges the protocol TLVs for applications that require lossless transport with the connected peer interface. By default, DCBX advertises FCoE application protocol TLVs on all interfaces that are enabled for DCBX, and by default, DCBX is enabled on all interfaces. DCBX advertises no other applications by default.

For each application (for example, iSCSI) that you want to configure for lossless transport, you must enable the interfaces which carry that application traffic to exchange DCBX protocol TLVs with the connected peer. The TLV exchange allows the peer interfaces to negotiate a compatible configuration to support the application.

If you configure DCBX to advertise any application, the default DCBX advertisement is overridden, and DCBX advertises only the configured applications. If you want an interface to advertise only the FCoE application, you do not have to configure DCBX application protocol TLV exchange; instead, you can use the default configuration.

If you want DCBX to advertise other applications, you must explicitly configure an application map and apply it to the interfaces on which you want to exchange protocol TLVs for those applications. If you want to exchange FCoE application protocol TLVs in addition to other application protocol TLVs, you must also explicitly configure the FCoE application in the application map. Understanding DCBX Application Protocol TLV Exchange describes how application mapping works.

Note: Lossless transport also requires that you enable PFC on the correct priority (IEEE 802.1p code point) on the ingress interfaces using an input CNP. If the priority you pause at the ingress interfaces is not mapped to queue 3 or queue 4 (the two output queues that are enabled for PFC pause flow control by default), then you must also enable the output queues that correspond to paused input priorities to pause using an output CNP.

Fate Sharing Among Traffic Classes

You can configure different lossless (or lossy) traffic flows to share fate—that is, to receive the same CoS treatment.

Fate sharing is not desirable for IO/convergence. Instead of independent control of the fate of each flow, different types of flows receive the same treatment. Fate sharing is particularly undesirable for lossless flows, because if one flow experiences congestion and must be paused, that congestion can affect the other flow and cause head-of-line blocking even if the other flow is not experiencing congestion. If your network requires that all 802.1p priorities are lossless, you can achieve that by allowing some fate sharing among the 8 priorities by spreading them across up to 6 lossless forwarding classes.

If the number of lossless priorities is less than or equal to the number of configured lossless forwarding classes, then you can avoid fate sharing by configuring a one-to-one mapping of forwarding classes to IEEE 802.1p code points and output queues. (Each forwarding class should be mapped to a different output queue and classified to a different priority.)

If you want to configure different traffic flows to share fate, the QFX Series supports two fate-sharing configurations: mapping one forwarding class to more than one IEEE 802.1p code point (priority), and mapping two forwarding classes to the same output queue:

  1. If you map one lossless forwarding class to more than one priority, the traffic tagged with each of the priorities uses the same forwarding class and the CoS properties associated with that forwarding class. For example, configuring a forwarding class called fc1, mapping it to queue 1, and mapping it to code points 101 and 110 using a classifier named classify1 results in the traffic tagged with priorities 101 and 110 sharing fate:
    user@switch# set class-of-service forwarding-classes class fc1 queue-num 1 no-loss
    user@switch# set class-of-service classifiers ieee-802.1 classify1 forwarding class fc1 loss-priority low code-points 101
    user@switch# set class-of-service classifiers ieee-802.1 classify1 forwarding class fc1 loss-priority low code-points 110


    In this case, if the traffic mapped to either priority experiences congestion, both priorities are paused because they are mapped to the same forwarding class and are therefore treated similarly.

  2. If you map multiple lossless forwarding classes to the same output queue, the traffic mapped to the forwarding classes uses the same output queue. This increases the amount of traffic the queue needs to buffer and forward, and can create congestion that affects all of the traffic flows that are mapped to the queue. For example, configuring two forwarding classes called fc1 and fc2, mapping both forwarding classes to queue 1, and mapping the forwarding classes to code points 101 and 110 (respectively) using a classifier named classify1 results in the traffic tagged with priorities 101 and 110 sharing fate on the same output queue:
    user@switch# set class-of-service forwarding-classes class fc1 queue-num 1 no-loss
    user@switch# set class-of-service forwarding-classes class fc2 queue-num 1 no-loss
    user@switch# set class-of-service classifiers ieee-802.1 classify1 forwarding class fc1 loss-priority low code-points 101
    user@switch# set class-of-service classifiers ieee-802.1 classify1 forwarding class fc2 loss-priority low code-points 110


    in this case, even though the two forwarding classes use different IEEE 802.1p priorities, if one forwarding class experiences congestion, it affects the other forwarding class. This is because if the output queue is paused because of congestion on either forwarding class, all traffic that uses that queue is paused. Since both forwarding classes are mapped to the queue, the traffic mapped to both forwarding classes is paused.

    Note: If you map more than one forwarding class to a queue, all of the forwarding classes mapped to the same queue must have the same packet drop attribute (all of the forwarding classes must be lossy, or all of the forwarding classes mapped to a queue must be lossless).

Transit Switch Configuration Versus FCoE-FC Gateway Configuration

On a transit switch (all Ethernet ports) that forwards FCoE traffic (and potentially other traffic that requires lossless transport across the Ethernet network), the configuration of classifiers, lossless forwarding classes, DCBX, and PFC on ingress and egress interfaces to support lossless transport is as described in this document.

When the QFX Series acts as an FCoE-FC gateway, the system uses native FC interfaces to connect to the FC switch (or FCoE forwarder) at the FC network edge. You cannot apply CNPs to native FC interfaces, only to Ethernet interfaces.

The Ethernet interface configuration of classifiers, DCBX, and PFC on an FCoE-FC gateway is the same as the Ethernet interface configuration on a transit switch. The configuration of lossless forwarding classes is also the same.

However, supporting lossless transport on native FC interfaces requires that you rewrite the IEEE 802.1p priority value if your network uses any priority other than 3 (IEEE code point 011) for FCoE traffic. If your network uses priority 3 for FCoE traffic, you can and should use the default configuration on FC interfaces.

By default, native FC interfaces tag packets with priority 3 when they encapsulate the incoming FC packets in Ethernet. If your FCoE network uses a different priority than 3 for FCoE traffic, you need to rewrite the priority value to the value your network uses on the FC interface, classify the FCoE traffic to the correct priority on the Ethernet interfaces, and enable pause on the correct priority on the Ethernet interfaces, as described in Understanding CoS IEEE 802.1p Priority Remapping on an FCoE-FC Gateway.

Configuration Results and Commit Checks

Different configurations of forwarding classes and their drop attributes, classifiers, CNPs (flow control), and Ethernet PAUSE (IEEE 802.3X flow control) result in different system behaviors.

Table 3 describes the results of the possible lossless transport configurations in each case. The assumption in the Result column is that the system’s buffer headroom calculation resulted in a successful configuration.

However, if the system calculates that there is insufficient buffer space to support the configuration, a commit check prevents you from committing the configuration on an individual Ethernet interface. For LAG interfaces, the system does not issue a commit check error but instead issues a syslog message. After you configure lossless transport for a LAG interface, be sure to check the syslog messages to confirm that the commit was successful.

Table 3: Results of Lossless Priority Configuration

Classifier Configuration

Congestion Notification Profile Configuration

Ethernet PAUSE (IEEE 802.3X) Configuration

Result

None (default classifier)

None

None

System default configuration. You must configure a CNP to enable PFC on the fcoe and no-loss forwarding class IEEE 802.1p code points (011 and 100 respectively) to achieve lossless behavior.

Classifier with no lossless forwarding classes

None

None

No lossless traffic flows are configured; all traffic is best effort.

Classifier with at least one lossless forwarding class

None

None

Because there is no CNP attached to interfaces, PFC is not enabled on the code point of the lossless traffic and no headroom buffer is allocated to the lossless queue, so packets can drop during periods of congestion. This configuration does not achieve lossless behavior.

None (default classifier)

PFC enabled on the fcoe and no-loss forwarding class code points (priorities)

None

The default classifier classifies traffic into two lossless forwarding classes, fcoe and no-loss. The CNP enables PFC on both lossless forwarding classes, resulting in lossless behavior for traffic mapped to the fcoe and no-loss forwarding classes.

None (default classifier)

None

Flow control enabled

The system calculates buffer headroom for the physical link based on the interface MTU and the default cable length. The system does not calculate buffer headroom for individual priorities (output queues). Because Ethernet PAUSE is enabled on the link instead of PFC being enabled on the lossless priorities, the entire link is paused during periods of congestion. This configuration results in lossless behavior for all of the forwarding classes on the link, but because all traffic is paused, this can cause greater overall network congestion.

Classifier with at least one lossless forwarding class

PFC enabled on the lossless forwarding class code points (priorities)

None

Headroom buffer allocated only to priorities that are mapped to the lossless forwarding classes and on which PFC is enabled. This configuration achieves lossless behavior for the lossless forwarding classes.

Classifier with no lossless forwarding classes

None

Flow control enabled

The system calculates buffer headroom for the physical link based on the interface MTU and the default cable length, and it pauses all traffic on the link during periods of congestion.

Classifier with at least one lossless forwarding class

None

Flow control enabled

The system calculates buffer headroom for the physical link based on the interface MTU and the default cable length, and it pauses all traffic on the link during periods of congestion.

Classifier with at least one lossless forwarding class

PFC enabled on the lossless forwarding class code points (priorities)

Flow control enabled on a different interface than the interface with the CNP

The system checks the available buffer space for both the PFC-enabled priorities and for the other link. If sufficient buffer space is available, the lossless forwarding classes configured with PFC on one interface and also all of the traffic on the link with Ethernet PAUSE enabled achieve lossless behavior.

Note: If you attempt to configure both PFC and Ethernet PAUSE on a link, the system returns a commit error. PFC and Ethernet PAUSE are mutually exclusive configurations on an interface.

Backward Compatibility with Junos OS Releases Earlier Than Release 12.3

The addition of the no-loss packet drop attribute to forwarding class configuration means that when you upgrade from an earlier release to Junos OS Release 12.3, the new software might not preserve the lossless forwarding class configuration of the fcoe and no-loss forwarding classes.

If you used the default forwarding class configuration for the fcoe and no-loss forwarding classes, the CoS configuration is backward compatible. You do not have to do anything to preserve the lossless behavior of traffic that uses those forwarding classes when you upgrade to Junos OS Release 12.3. (This is because the default configuration of these two forwarding classes includes the no-loss packet drop attribute.)

However, if you explicitly configured the fcoe or the no-loss forwarding class by including the set forwarding-classes class forwarding-class-name queue-num queue-number at the [edit class-of-service] hierarchy level, then those forwarding classes are no longer lossless, they are lossy. In Junos OS Release 12.3 and later, you must include the no-loss packet drop attribute in any explicit forwarding class configuration to configure a lossless forwarding class.

For example, before Junos OS Release 12.3, the following explicit configuration resulted in a lossless forwarding class:

user@switch# set class-of-service forwarding-classes class fcoe queue-num 3

However, in Junos OS Release 12.3, this configuration is lossy because it does not include the no-loss packet drop attribute. To preserve lossless behavior, after upgrading to Junos OS Release 12.3, you need to add the no-loss drop attribute:

user@switch# set class-of-service forwarding-classes class fcoe queue-num 3 no-loss

Alternatively, you can delete the explicit configuration before you upgrade to Junos OS Release 12.3 so that the system uses the default forwarding class, which is lossless:

user@switch# delete class-of-service forwarding-classes class fcoe queue-num 3


Note: The explicit configuration of other forwarding classes does not affect the lossless (or lossy) state of the fcoe and no-loss forwarding classes, because only the fcoe and no-loss forwarding classes are lossless forwarding classes before Junos OS Release 12.3. For example, if you explicitly configured the best-effort forwarding class but you used the default fcoe and no-loss forwarding classes in Junos OS Release 12.2, then when you upgrade to Junos OS Release 12.3, the fcoe and no-loss forwarding classes are still lossless (and the best-effort forwarding classes retains its explicit configuration).

Note: To achieve lossless behavior for the traffic belonging to any forwarding class, you must also enable PFC on the IEEE 802.1p priority mapped to the forwarding class and ensure that DCBX exchanges the protocol TLVs for the application with the connected peer.

Configuration Rules and Recommendations

Keep in mind the following configuration rules and recommendations when you configure the system to handle lossless traffic flows:

  • You can configure a maximum of six lossless forwarding classes (forwarding classes with the no-loss packet drop attribute).
  • All forwarding classes that you map to the same queue must have the same packet drop attribute (all of the forwarding classes must be lossy, or all of the forwarding classes mapped to a queue must be lossless).
  • You cannot configure flow control to pause a multidestination output queue. You can configure flow control only to pause unicast output queues.
  • Forwarding classes mapped to multidestination queues (queues 8 through 11) cannot have the no-loss packet drop attribute. (Multidestination forwarding classes cannot be configured as lossless forwarding classes.)
  • Do not configure weighted random early detection (WRED) on lossless forwarding classes. (Do not associate a drop profile with a forwarding class that has the no-loss packet drop attribute.)
 

Related Documentation

 

Published: 2013-01-16

Supported Platforms

 

Related Documentation

 

Published: 2013-01-16