Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation
Guide That Contains This Content
[+] Expand All
[-] Collapse All

    Example: Configuring CoS PFC for FCoE Traffic

    Priority-based flow control (PFC, described in IEEE 802.1Qbb) is a link-level flow control mechanism that you apply at ingress interfaces. PFC enables you to divide traffic on one physical link into eight priorities. You can think of the eight priorities as eight “lanes” of traffic that correspond to queues (forwarding classes). Each priority is mapped to a 3-bit IEEE 802.1p CoS flag in the VLAN header.

    You can selectively apply PFC to the traffic in any queue without pausing the traffic in other queues on the same link. You must apply PFC to FCoE traffic to ensure lossless transport.

    To configure PFC on FCoE traffic, use the default FCoE forwarding-class-to-queue mapping and:

    • Configure a classifier that associates the FCoE forwarding class with FCoE traffic.
    • Configure a congestion notification profile to apply PFC to the FCoE traffic.
    • Apply the classifier and the PFC configuration to ingress interfaces.
    • Configure the bandwidth scheduling for the FCoE forwarding class output queue.
    • Create a forwarding class set (priority group) that includes the FCoE forwarding class; this is required to configure enhanced transmission selection (ETS) and support data center bridging (DCB).
    • Configure the bandwidth scheduling for the FCoE priority group.
    • Apply the scheduling to the egress interfaces.

    Note: If you are using Junos OS Release 12.2 or later, use the default forwarding classes for the lossless fcoe forwarding class. If you explicitly configure default lossless forwarding classes, the traffic mapped to those forwarding classes is treated as lossy (best-effort) traffic and does not receive lossless treatment.

    In Junos OS Release 12.3 and later, you can include the no-loss packet drop attribute in explicit forwarding class configurations to configure a lossless forwarding class.

    This example describes how to configure PFC for FCoE traffic:

    Requirements

    This example uses the following hardware and software components:

    • A Juniper Networks QFX3500 Switch
    • Junos OS Release 11.1 or later for the QFX Series

    Overview

    FCoE traffic requires PFC to ensure lossless packet transport. This example shows you how to:

    • Assign FCoE traffic to the FCoE priority at the ingress.
    • Create and apply CoS for the FCoE traffic using ETS (hierarchical port scheduling).
    • Apply PFC to the FCoE traffic.
    • Apply the configuration to ingress and egress interfaces.

      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.

    Each interface in this example is configured as both an ingress interface and an egress interface, so the classifier, congestion notification profile, and port scheduling are applied to all of the interfaces.

    Topology

    Table 1 shows the configuration components for this example.

    Table 1: Components of the PFC for FCoE Traffic Configuration Topology

    Component

    Settings

    Hardware

    QFX3500 switch

    Behavior aggregate classifier (maps the FCoE forwarding class to incoming packets by IEEE 802.1 code point)

    Code point 011 to forwarding class fcoe and loss priority low

    Ingress interfaces: xe-0/0/31, xe-0/0/32, xe-0/0/33, xe-0/0/34

    PFC congestion notification profile

    fcoe-cnp:
    Code point 011
    Ingress interfaces: xe-0/0/31, xe-0/0/32, xe-0/0/33, xe-0/0/34

    FCoE queue scheduler

    fcoe-sched:
    Minimum bandwidth 3g
    Maximum bandwidth 100%
    Priority low

    Forwarding class-to-scheduler mapping

    Scheduler map fcoe-map:
    Forwarding class fcoe
    Scheduler fcoe-sched

    Forwarding class set (FCoE priority group)

    fcoe-pg:
    Forwarding class fcoe
    Egress interfaces: xe-0/0/31, xe-0/0/32, xe-0/0/33, xe-0/0/34

    Traffic control profile

    fcoe-tcp:
    Scheduler map fcoe-map
    Minimum bandwidth 3g
    Maximum bandwidth 100%

    Figure 1 shows a block diagram of the configuration components and the configuration flow of the CLI statements used in the example.

    Figure 1: PFC for FCoE Traffic Configuration Components Block Diagram

    PFC for
FCoE Traffic Configuration Components Block Diagram

    Configuration

    CLI Quick Configuration

    To quickly configure PFC for FCoE traffic, 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:

    [edit class-of-service]
    set classifiers ieee-802.1 fcoe-classifier forwarding-class fcoe loss-priority low code-points 011
    set congestion-notification-profile fcoe-cnp input ieee-802.1 code-point 011 pfc
    set interfaces xe-0/0/31 unit 0 classifiers ieee-802.1 fcoe-classifier
    set interfaces xe-0/0/32 unit 0 classifiers ieee-802.1 fcoe-classifier
    set interfaces xe-0/0/33 unit 0 classifiers ieee-802.1 fcoe-classifier
    set interfaces xe-0/0/34 unit 0 classifiers ieee-802.1 fcoe-classifier
    set interfaces xe-0/0/31 congestion-notification-profile fcoe-cnp
    set interfaces xe-0/0/32 congestion-notification-profile fcoe-cnp
    set interfaces xe-0/0/33 congestion-notification-profile fcoe-cnp
    set interfaces xe-0/0/34 congestion-notification-profile fcoe-cnp
    set schedulers fcoe-sched priority low transmit-rate 3g
    set schedulers fcoe-sched shaping-rate percent 100
    set scheduler-maps fcoe-map forwarding-class fcoe scheduler fcoe-sched
    set forwarding-class-sets fcoe-pg class fcoe
    set traffic-control-profiles fcoe-tcp scheduler-map fcoe-map guaranteed-rate 3g
    set traffic-control-profiles fcoe-tcp shaping-rate percent 100
    set interfaces xe-0/0/31 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp
    set interfaces xe-0/0/32 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp
    set interfaces xe-0/0/33 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp
    set interfaces xe-0/0/34 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp

    Step-by-Step Procedure

    To configure the FCoE forwarding class (priority), ingress classifier, output queue scheduling, forwarding class set (priority group) and its output port scheduling, PFC application, and interfaces to set up PFC for FCoE traffic:

    1. Configure a classifier to set the loss priority and IEEE 802.1 code point assigned to the FCoE forwarding class at the ingress:
      [edit class-of-service]
      user@switch# set classifiers ieee-802.1 fcoe-classifier forwarding-class fcoe loss-priority low code-points 011
    2. Configure PFC on the FCoE queue by applying FCoE to the IEEE 802.1 code point 011:
      [edit class-of-service]
      user@switch# set congestion-notification-profile fcoe-cnp input ieee-802.1 code-point 011 pfc
    3. Apply the PFC configuration to the ingress interfaces:
      [edit class-of-service]
      user@switch# set interfaces xe-0/0/31 congestion-notification-profile fcoe-cnp
      user@switch# set interfaces xe-0/0/32 congestion-notification-profile fcoe-cnp
      user@switch# set interfaces xe-0/0/33 congestion-notification-profile fcoe-cnp
      user@switch# set interfaces xe-0/0/34 congestion-notification-profile fcoe-cnp
    4. Assign the classifier to the ingress interfaces:
      [edit class-of-service]
      user@switch# set interfaces xe-0/0/31 unit 0 classifiers ieee-802.1 fcoe-classifier
      user@switch# set interfaces xe-0/0/32 unit 0 classifiers ieee-802.1 fcoe-classifier
      user@switch# set interfaces xe-0/0/33 unit 0 classifiers ieee-802.1 fcoe-classifier
      user@switch# set interfaces xe-0/0/34 unit 0 classifiers ieee-802.1 fcoe-classifier
    5. Configure output scheduling for the FCoE queue:
      [edit class-of-service]
      user@switch# set schedulers fcoe-sched priority low transmit-rate 3g
      user@switch# set schedulers fcoe-sched shaping-rate percent 100
    6. Map the FCoE forwarding class to the FCoE scheduler:
      [edit class-of-service]
      user@switch# set scheduler-maps fcoe-map forwarding-class fcoe scheduler fcoe-sched
    7. Configure the forwarding class set for the FCoE traffic:
      [edit class-of-service]
      user@switch# set forwarding-class-sets fcoe-pg class fcoe
    8. Define the traffic control profile for the FCoE forwarding class set:
      [edit class-of-service]
      user@switch# set traffic-control-profiles fcoe-tcp scheduler-map fcoe-map guaranteed-rate 3g
      user@switch# set traffic-control-profiles fcoe-tcp shaping-rate percent 100
    9. Apply the FCoE forwarding class set and traffic control profile to the egress ports:
      [edit class-of-service]
      user@switch# set interfaces xe-0/0/31 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp
      user@switch# set interfaces xe-0/0/32 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp
      user@switch# set interfaces xe-0/0/33 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp
      user@switch# set interfaces xe-0/0/34 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp

    Results

    Display the results of the configuration (the system shows only the explicitly configured parameters; it does not show default parameters such as the fcoe lossless forwarding class):

    user@switch> show configuration class-of-service
    classifiers {ieee-802.1 fcoe-classifier {forwarding-class fcoe {loss-priority low code-points 011;}}traffic-control-profiles {fcoe-tcp {scheduler-map fcoe-map;shaping-rate percent 100;guaranteed-rate 3000000000;}}forwarding-class-sets {fcoe-pg {class fcoe;}}congestion-notification-profile {fcoe-cnp {input {ieee-802.1 {code-point 011 {pfc;}}}}}interfaces {xe-0/0/31 {congestion-notification-profile fcoe-cnp;forwarding-class-set {fcoe-pg {output-traffic-control-profile fcoe-tcp;}}unit 0 {classifiers {ieee-802.1 fcoe-classifier;}}}xe-0/0/32 {congestion-notification-profile fcoe-cnp;forwarding-class-set {fcoe-pg {output-traffic-control-profile fcoe-tcp;}}unit 0 {classifiers {ieee-802.1 fcoe-classifier;}}}xe-0/0/33 {congestion-notification-profile fcoe-cnp;forwarding-class-set {fcoe-pg {output-traffic-control-profile fcoe-tcp;}}unit 0 {classifiers {ieee-802.1 fcoe-classifier;}}}xe-0/0/34 {congestion-notification-profile fcoe-cnp;forwarding-class-set {fcoe-pg {output-traffic-control-profile fcoe-tcp;}}unit 0 {classifiers {ieee-802.1 fcoe-classifier;}}}}scheduler-maps {fcoe-map {forwarding-class fcoe scheduler fcoe-sched;}}schedulers {fcoe-sched {transmit-rate 3000000000;shaping-rate percent 100;priority low;}}


    Tip: To quickly configure the interfaces, issue the load merge terminal command and then copy the hierarchy and paste it into the switch terminal window.

    Verification

    To verify that the PFC configuration for FCoE traffic components has been created and is operating properly, perform these tasks:

    Verifying That Priority-Based Flow Control Has Been Enabled

    Purpose

    Verify that PFC is enabled on the FCoE queue to enable lossless transport.

    Action

    List the congestion notification profiles using the operational mode command show class-of-service congestion-notification:

    Type: Input, Name: fcoe-cnp, Index: 51697
    Cable Length: 100 m
      Priority     PFC          MRU
      000          Disabled 
      001          Disabled 
      010          Disabled 
      011          Enabled      2500 
      100          Disabled      
      101          Disabled 
      110          Disabled 
      111          Disabled 
    Type: Output
      Priority     Flow-Control-Queues 
      000 
                   0
      001 
                   1
      010 
                   2
      011 
                   3
      100 
                   4
      101 
                   5
      110 
                   6
      111 
                   7
    

    Meaning

    The show class-of-service congestion-notification operational command lists all of the congestion notification profiles and which IEEE 802.1p code points have PFC enabled. The command output shows that PFC is enabled on code point 011 for the fcoe-cnp congestion notification profile.

    The command also shows the default cable length (100 meters), the default maximum receive unit (2500 bytes), and the default mapping of priorities to output queues because this example does not include configuring these options.

    Verifying the Ingress Interface PFC Configuration

    Purpose

    Verify that the classifier fcoe-classifier and the congestion notification profile fcoe-cnp are configured on ingress interfaces xe-0/0/31, xe-0/0/32, xe-0/0/33, and xe-0/0/34.

    Action

    List the ingress interfaces using the operational mode command show configuration class-of-service interfaces:

    user@switch> show configuration class-of-service interfaces xe-0/0/31
    congestion-notification-profile fcoe-cnp;
    unit 0 {
        classifiers {
            ieee-802.1 fcoe-classifier;
        }
    }
    user@switch> show configuration class-of-service interfaces xe-0/0/32
    congestion-notification-profile fcoe-cnp;
    unit 0 {
        classifiers {
            ieee-802.1 fcoe-classifier;
        }
    }
    user@switch> show configuration class-of-service interfaces xe-0/0/33
    congestion-notification-profile fcoe-cnp;
    unit 0 {
        classifiers {
            ieee-802.1 fcoe-classifier;
        }
    }
    user@switch> show configuration class-of-service interfaces xe-0/0/34
    congestion-notification-profile fcoe-cnp;
    unit 0 {
        classifiers {
            ieee-802.1 fcoe-classifier;
        }
    }

    Meaning

    The show configuration class-of-service interfaces commands list the congestion notification profile that is mapped to the interface (fcoe-cnp) and the IEEE 802.1p classifier associated with the interface (fcoe-classifier).

    Published: 2013-11-19