Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Example: Configuring DCBX Application Protocol TLV Exchange

 

Data Center Bridging Capability Exchange protocol (DCBX) discovers the data center bridging (DCB) capabilities of connected peers by exchanging application configuration information. DCBX detects feature misconfiguration and mismatches and can configure DCB on peers. DCBX is an extension of the Link Layer Discovery Protocol (LLDP). LLDP must remain enabled on every interface on which you want to use DCBX.

Note

LLDP and DCBX are enabled by default on all interfaces.

The switch supports DCBX application protocol exchange for Layer 2 and Layer 4 applications such as the Internet Small Computer System Interface (iSCSI). You specify applications by EtherType (for Layer 2 applications) or by the destination port and protocol (for Layer 4 applications; the protocol can be either TCP or UDP).

The switch handles Fibre Channel over Ethernet (FCoE) application protocol exchange differently than other protocols in some cases:

  • If FCoE is the only application for which you want to enable DCBX application protocol TLV exchange on an interface, you do not have to explicitly configure the FCoE application or an application map. By default, the switch exchanges FCoE application protocol TLVs on all interfaces that carry FCoE traffic (traffic mapped to the fcoe forwarding class) and have priority-based flow control (PFC) enabled on the FCoE priority (the FCoE IEEE 802.1p code point). The default priority mapping for the FCoE application is IEEE 802.1p code point 011 (the default fcoe forwarding class code point).

  • If you want an interface to use DCBX to exchange application protocol TLVs for any other applications in addition to FCoE, you must configure the applications (including FCoE), define an application map (including FCoE), and apply the application map to the interface. If you apply an application map to an interface, you must explicitly configure the FCoE application, or the interface does not exchange FCoE application protocol TLVs.

This example shows how to configure interfaces to exchange both Layer 2 and Layer 4 applications by configuring one interface to exchange iSCSI and FCoE application protocol information and configuring another interface to exchange iSCSI and Precision Time Protocol (PTP) application protocol information.

Requirements

This example uses the following hardware and software components:

  • Juniper Networks QFX Series device

  • Junos OS Release 12.1 or later for the QFX Series

Overview

The switch supports DCBX application protocol exchange for:

  • Layer 2 applications, defined by EtherType

  • Layer 4 applications, defined by destination port and protocol

Note

DCBX also advertises PFC and enhanced transmission selection (ETS) information. See Configuring DCBX Autonegotiation for how DCBX negotiates and advertises configuration information for these features and for the applications.

DCBX is configured on a per-interface basis for each supported feature or application. For applications that you want to enable for DCBX application protocol exchange, you must:

  • Define the application name and configure the EtherType or the destination port and protocol (TCP or UDP) of the application. Use the EtherType for Layer 2 applications, and use the destination port and protocol for Layer 4 protocols.

  • Map the application to an IEEE 802.1p code point in an application map.

  • Add the application map to DCBX interface.

In addition, for all applications (including FCoE, even when you do not use an application map), you either must create an IEEE 802.1p classifier and apply it to the appropriate ingress interfaces or use the default classifier. A classifier maps the code points of incoming traffic to a forwarding class and a loss priority so that ingress traffic is assigned to the correct class of service (CoS). The forwarding class determines the output queue on the egress interface.

If you do not create classifiers, trunk and tagged-access ports use the unicast IEEE 802.1 default trusted classifier. Table 1 shows the default mapping of IEEE 802.1 code-point values to unicast forwarding classes and loss priorities for ports in trunk mode or tagged-access mode. Table 2 shows the default untrusted classifier IEEE 802.1 code-point values to unicast forwarding class mapping for ports in access mode.

Table 1: Default IEEE 802.1 Classifiers for Trunk Ports and Tagged-Access Ports (Default Trusted Classifier)

Code Point

Forwarding Class

Loss Priority

be (000)

best-effort

low

be1 (001)

best-effort

low

ef (010)

best-effort

low

ef1 (011)

fcoe

low

af11 (100)

no-loss

low

af12 (101)

best-effort

low

nc1 (110)

network-control

low

nc2 (111)

network-control

low

Table 2: Default IEEE 802.1 Unicast Classifiers for Access Ports (Default Untrusted Classifier)

Code Point

Forwarding Class

Loss Priority

000

best-effort

low

001

best-effort

low

010

best-effort

low

011

best-effort

low

100

best-effort

low

101

best-effort

low

110

best-effort

low

111

best-effort

low

Topology

This example shows how to configure DCBX application protocol exchange for three protocols (iSCSI, PTP, and FCoE) on two interfaces. One interface exchanges iSCSI and FCoE application protocol information, and the other interface exchanges iSCSI and PTP application protocol information.

Note

You must map FCoE traffic to the interfaces on which you want to forward FCoE traffic. You must also enable PFC on the FCoE interfaces and create an ingress classifier for FCoE traffic, or else use the default classifier.

Table 3 shows the configuration components for this example.

Table 3: Components of DCBX Application Protocol Exchange Configuration Topology

Component

Settings

Hardware

QFX Series device

LLDP

Enabled by default on Ethernet interfaces

DCBX

Enabled by default on Ethernet interfaces

iSCSI application (Layer 4)

Application name—iscsi

protocol—TCP

destination-port—3260

code-points—111

PTP application (Layer 2)

Application name—ptp

ether-type—0x88F7

code-points—001, 101

FCoE application (Layer 2)

Application name—fcoe

ether-type—0x8906

code-points—011

Note: You explicitly configure the FCoE application because you are applying an application map to the interface. When you apply an application map to an interface, all applications must be explicitly configured and included in the application map.

Application maps

dcbx-iscsi-fcoe-app-map—Maps the iSCSI and FCoE applications to IEEE 802.1p code points

dcbx-iscsi-ptp-app-map—Maps iSCSI and PTP applications to IEEE 802.1p code points

Interfaces

xe-0/0/10—Configured to exchange FCoE and iSCSI application TLVs (uses application map dcbx-iscsi-fcoe-app-map, carries FCoE traffic, and has PFC enabled on the FCoE priority)

xe-0/0/11—Configured to exchange iSCSI and PTP application TLVs (uses application map dcbx-iscsi-ptp-app-map)

PFC congestion notification profile for FCoE application exchange

fcoe-cnp:

  • Code point—011

  • Interface—xe-0/0/10

Behavior aggregate classifiers (map forwarding classes to incoming packets by the packet’s IEEE 802.1 code point)

fcoe-iscsi-cl1:

  • Maps the fcoe forwarding class to the IEEE 802.1p code point used for the FCoE application (011) and a loss priority of high

  • Maps the network-control forwarding class to the IEEE 802.1p code point used for the iSCSI application (111) and a loss priority of high

  • Applied to interface xe-0/0/10

iscsi-ptp-cl2:

  • Maps the network-control forwarding class to the IEEE 802.1p code point used for the iSCSI application (111) and a loss priority of low

  • Maps the best-effort forwarding class to the IEEE 802.1p code points used for the PTP application (001 and 101) and a loss priority of low

  • Applied to interface xe-0/0/11

Note

This example does not include scheduling (bandwidth allocation) configuration or lossless configuration for the iSCSI forwarding class.

Configuration

CLI Quick Configuration

To quickly configure DCBX application protocol exchange, 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 applications application iSCSI protocol tcp destination-port 3260
set applications application FCoE ether-type 0x8906
set applications application PTP ether-type 0x88F7
set policy-options application-maps dcbx-iscsi-fcoe-app-map application iSCSI code-points 111
set policy-options application-maps dcbx-iscsi-fcoe-app-map application FCoE code-points 011
set policy-options application-maps dcbx-iscsi-ptp-app-map application iSCSI code-points 111
set policy-options application-maps dcbx-iscsi-ptp-app-map application PTP code-points [001 101]
set protocols dcbx interface xe-0/0/10 application-map dcbx-iscsi-fcoe-app-map
set protocols dcbx interface xe-0/0/11 application-map dcbx-iscsi-ptp-app-map
set class-of-service congestion-notification-profile fcoe-cnp input ieee-802.1 code-point 011 pfc
set class-of-service interfaces xe-0/0/10 congestion-notification-profile fcoe-cnp
set class-of-service classifiers ieee-802.1 fcoe-iscsi-cl1 import default forwarding-class fcoe loss-priority high code-points 011
set class-of-service classifiers ieee-802.1 fcoe-iscsi-cl1 import default forwarding-class network-control loss-priority high code-points 111
set class-of-service classifiers ieee-802.1 iscsi-ptp-cl2 import default forwarding-class network-control loss-priority low code-points 111
set class-of-service classifiers ieee-802.1 iscsi-ptp-cl2 import default forwarding-class best-effort loss-priority low code-points [001 101]
set class-of-service interfaces xe-0/0/10 unit 0 classifiers ieee-802.1 fcoe-iscsi-cl1
set class-of-service interfaces xe-0/0/11 unit 0 classifiers ieee-802.1 iscsi-ptp-cl2

Configuring DCBX Application Protocol TLV Exchange

Step-by-Step Procedure

To define the applications, map the applications to IEEE 802.1p code points, apply the applications to interfaces, and create classifiers for DCBX application protocol exchange:

  1. Define the iSCSI application by specifying its protocol and destination port, and define the FCoE and PTP applications by specifying their EtherTypes.
    [edit applications]

    user@switch# set application iSCSI protocol tcp destination-port 3260
    user@switch# set application FCoE ether-type 0x8906
    user@switch# set application PTP ether-type 0x88F7



  2. Define an application map that maps the iSCSI and FCoE applications to IEEE 802.1p code points.
    [edit policy-options]

    user@switch# set application-maps dcbx-iscsi-fcoe-app-map application iSCSI code-points 111

    user@switch# set application-maps dcbx-iscsi-fcoe-app-map application FCoE code-points 011



  3. Define the application map that maps the iSCSI and PTP applications to IEEE 802.1p code points.
    [edit policy-options]

    user@switch# set application-maps dcbx-iscsi-ptp-app-map application iSCSI code-points 111
    user@switch# set application-maps dcbx-iscsi-ptp-app-map application PTP code-points [001 101]



  4. Apply the iSCSI and FCoE application map to interface xe-0/0/10, and apply the iSCSI and PTP application map to interface xe-0/0/11.
    [edit protocols dcbx]

    user@switch# set interface xe-0/0/10 application-map dcbx-iscsi-fcoe-app-map
    user@switch# set interface xe-0/0/11 application-map dcbx-iscsi-ptp-app-map



  5. Create the congestion notification profile to enable PFC on the FCoE code point (011), and apply the congestion notification profile to interface xe-0/0/10.
    [edit class-of-service]

    user@switch# set congestion-notification-profile fcoe-cnp input ieee-802.1 code-point 011 pfc
    user@switch# set interfaces xe-0/0/10 congestion-notification-profile fcoe-cnp



  6. Configure the classifier to apply to the interface that exchanges iSCSI and FCoE application information.
    [edit class-of-service classifiers]

    user@switch# set ieee-802.1 fcoe-iscsi-cl1 import default forwarding-class fcoe loss-priority high code-points 011
    user@switch# set ieee-802.1 fcoe-iscsi-cl1 import default forwarding-class network-control loss-priority high code-points 111



  7. Configure the classifier to apply to the interface that exchanges iSCSI and PTP application information.
    [edit class-of-service classifiers]

    user@switch# set ieee-802.1 iscsi-ptp-cl2 import default forwarding-class network-control loss-priority low code-points 111
    user@switch# set ieee-802.1 iscsi-ptp-cl2 import default forwarding-class best-effort loss-priority low code-points [001 101]



  8. Apply the classifiers to the appropriate interfaces.
    [edit class-of-service]

    user@switch# set interfaces xe-0/0/10 unit 0 classifiers ieee-802.1 fcoe-iscsi-cl1
    user@switch# set interfaces xe-0/0/11 unit 0 classifiers ieee-802.1 iscsi-ptp-cl2



Verification

To verify that DCBX application protocol exchange configuration has been created and is operating properly, perform these tasks:

Verifying the Application Configuration

Purpose

Verify that DCBX applications have been configured.

Action

List the applications by using the configuration mode command show applications:

user@switch# show applications

Meaning

The show applications configuration mode command lists all of the configured applications and either their protocol and destination port (Layer 4 applications) or their EtherType (Layer 2 applications). The command output shows that the iSCSI application is configured with the tcp protocol and destination port 3260, the FCoE application is configured with the EtherType 0x8906, and that the PTP application is configured with the EtherType 0x88F7.

Verifying the Application Map Configuration

Purpose

Verify that the application maps have been configured.

Action

List the application maps by using the configuration mode command show policy-options application-maps:

user@switch# show policy-options application-maps

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 command output shows that there are two application maps, dcbx-iscsi-fcoe-app-map and dcbx-iscsi-ptp-app-map.

The application map dcbx-iscsi-fcoe-app-map consists of the iSCSI application, which is mapped to IEEE 802.1p code point 111, and the FCoE application, which is mapped to IEEE 802.1p code point 011.

The application map dcbx-iscsi-ptp-app-map consists of the iSCSI application, which is mapped to IEEE 802.1p code point 111, and the PTP application, which is mapped to IEEE 802.1p code points 001 and 101.

Verifying DCBX Application Protocol Exchange Interface Configuration

Purpose

Verify that the application maps have been applied to the correct interfaces.

Action

List the application maps by using the configuration mode command show protocols dcbx:

user@switch# show protocols dcbx

Meaning

The show protocols dcbx configuration mode command lists whether the interfaces are enabled for DCBX and lists the application map applied to each interface. The command output shows that interfaces xe-0/0/10.0 and xe-0/0/11.0 are enabled for DCBX, and that interface xe-0/0/10.0 uses application map dcbx-iscsi-fcoe-app-map, and interface xe-0/0/11.0 uses application map dcbx-iscsi-ptp-app-map.

Verifying the PFC Configuration

Purpose

Verify that PFC has been enabled on the FCoE code point and applied to the correct interface.

Action

Display the PFC configuration to verify that PFC is enabled on the FCoE code point (011) in the congestion notification profile fcoe-cnp by using the configuration mode command show class-of-service congestion-notification-profile:

user@switch# show class-of-service congestion-notification-profile

Display the class-of-service (CoS) interface information to verify that the correct interface has PFC enabled for the FCoE application by using the configuration mode command show class-of-service interfaces:

user@switch# show class-of-service interfaces
Note

The sample output does not include all of the information this command can show. The output is abbreviated to focus on verifying the PFC configuration.

Meaning

The show class-of-service congestion-notification-profile configuration mode command lists the configured congestion notification profiles. The command output shows that the congestion notification profile fcoe-cnp has been configured and has enabled PFC on the IEEE 802.1p code point 011 (the default FCoE code point).

The show class-of-service interfaces configuration mode command shows the interface CoS configuration. The command output shows that the congestion notification profile fcoe-cnp, which enables PFC on the FCoE code point, is applied to interface xe-0/0/10.

Verifying the Classifier Configuration

Purpose

Verify that the classifiers have been configured and applied to the correct interfaces.

Action

Display the classifier configuration by using the configuration mode command show class-of-service:

user@switch# show class-of-service
Note

The sample output does not include all of the information this command can show. The output is abbreviated to focus on verifying the classifier configuration.

Meaning

The show class-of-service configuration mode command lists the classifier and CoS interface configuration, as well as other information not shown in this example. The command output shows that there are two classifiers configured, fcoe-iscsi-cl1 and iscsi-ptp-cl2.

Classifier fcoe-iscsi-cl1 uses the default classifier as a template and edits the template as follows:

  • The forwarding class network-control is set to a loss priority of high and is mapped to code point 111 (the code point mapped to the iSCSI application).

  • The forwarding class fcoe is set to a loss priority of high and is mapped to code point 011 (the code point mapped by default to the FCoE application).

Classifier iscsi-ptp-cl2 uses the default classifier as a template and edits the template as follows:

  • The forwarding class network-control is set to a loss priority of low and is mapped to IEEE 802.1p code point 111 (the code point mapped to the iSCSI application).

  • The forwarding class best-effort is set to a loss priority of low and is mapped to IEEE 802.1p code points 001 and 101 (the code points mapped by default to the PTP application).

The command output also shows that classifier fcoe-iscsi-cl1 is mapped to interface xe-0/0/10.0 and that classifier iscsi-ptp-cl2 is mapped to interface xe-0/0/11.0.