Examen
Examen
Specification
Rev 1.0
Intel Corporation
Cisco Systems
Nuova Systems
1
Legal Notice
THIS SPECIFICATION AND RELATED MATERIALS AND INFORMATION ARE PROVIDED
"AS IS" WITH NO WARRANTIES WHATSOEVER, EXPRESS OR IMPLIED, INCLUDING BUT
NOT LIMITED TO ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS,
OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION,
OR SAMPLE. Intel, Cisco and Nuova disclaim all liability, including liability for
infringement of any proprietary rights, relating to use of information in this
specification. Intel, Cisco and Nuova assume no responsibility for any errors
contained in this document and have no liabilities or obligations for any
damages arising from or in connection with the use of this document.
Intel, Cisco and Nuova may have patents or pending patent applications,
trademarks, copyrights, or other intellectual property rights that relate to the
presented subject matter. The furnishing of this document and other materials
and information does not provide any license, express or implied, by estoppel or
otherwise, to any patents, trademarks, copyrights, or other intellectual property
rights, except that a copyright license is hereby granted to copy and reproduce
this document for internal use only. Contact Intel, Cisco or Nuova for information
about how to obtain a copy of an Adopters Agreement for the specification.
2
TABLE OF CONTENTS
TABLE OF CONTENTS............................................................................................3
LIST OF TABLES......................................................................................................4
LIST OF FIGURES ...................................................................................................4
Terminology.........................................................................................................5
Related Documents............................................................................................5
1. PROTOCOL..................................................................................................5
1.1 Purpose ............................................................................................................... 7
1.2 Types of DCB Parameters.................................................................................. 9
1.3 PROTOCOL and LLDP ......................................................................................... 9
A device capable of any DCB feature must have PROTOCOL enabled by
default with an option for PROTOCOL to be administratively disabled.......10
1.3.1 LLDP Modifications _____________________________________________________ 11
1.4 PROTOCOL Operation ..................................................................................... 13
1.4.1 PROTOCOL TLV Format _________________________________________________ 14
1.4.2 PROTOCOL Control State Machine______________________________________ 15
1.4.3 DCB Feature State Machine ____________________________________________ 19
1.4.4 Manager Notifications _________________________________________________ 25
2. DCB Features............................................................................................26
2.1 Priority Group Feature ..................................................................................... 26
2.1.1 Priority Group Parameters ______________________________________________ 26
2.1.2 Priority Group TLV ______________________________________________________ 27
2.1.3 Priority Group Parameter Comparison ___________________________________ 27
2.2 Priority Flow Control (PFC) Feature................................................................. 28
2.2.1 Priority Flow Control Parameters_________________________________________ 28
2.2.2 Priority Flow Control TLV ________________________________________________ 28
2.2.3 Priority Flow Control Parameter Comparison _____________________________ 29
2.3 BCN ................................................................................................................... 30
2.3.1 BCN Parameters _______________________________________________________ 30
2.3.2 BCN TLV _______________________________________________________________ 32
2.3.3 BCN Parameter Comparison ___________________________________________ 33
2.4 Application TLV ................................................................................................ 34
2.4.1 General Application Feature ___________________________________________ 34
2.4.2 FCoE Application ______________________________________________________ 35
2.5 Logical Link Down Feature.............................................................................. 35
2.5.1 FCoE Logical Link Status ________________________________________________ 37
2.5.2 LAN Logical Link Status _________________________________________________ 38
LIST OF TABLES
TABLE 1 - PROTOCOL CONTROL TLV FIELDS ............................................................................................ 17
TABLE 2 - PROTOCOL CONTROL STATE VARIABLES ................................................................................... 17
TABLE 3 - DCB FEATURE TLV HEADER FIELD DEFINITIONS ......................................................................... 21
TABLE 4 - PROTOCOL STATE VARIABLE DEFINITIONS FOR THE DCB FEATURE STATE MACHINE ................ 22
TABLE 5 - PRIORITY GROUP PARAMETERS .................................................................................................... 27
TABLE 6 - PRIORITY GROUPS PARAMETER COMPARISON .............................................................................. 27
TABLE 7 - PRIORITY FLOW CONTROL PARAMETERS...................................................................................... 28
TABLE 8 - BCN PARAMETERS ....................................................................................................................... 32
TABLE 9 - APPLICATION SUBTYPES .............................................................................................................. 34
TABLE 10 – APPLICATION PARAMETERS ....................................................................................................... 34
TABLE 11 – TRAFFIC TYPE PARAMETERS ...................................................................................................... 35
TABLE 12 - LOGICAL LINK STATUS TLV SUBTYPES ..................................................................................... 37
TABLE 13 - FCOE LOGICAL LINK STATUS PARAMETERS .............................................................................. 37
TABLE 14 - LAN LOGICAL LINK STATUS PARAMETERS ................................................................................ 38
TABLE 15 - SUMMARY OF ADDITIONAL FEATURE TLV'S ............................................................................... 40
TABLE 16 - NETWORK INTERFACE VIRTUALIZATION PARAMETERS .............................................................. 40
TABLE 17 - NETWORK INTERFACE VIRTUALIZATION PARAMETER COMPARISON .......................................... 41
LIST OF FIGURES
FIGURE 1 - PROTOCOL DEPLOYMENT SCENARIO ......................................................................................... 8
FIGURE 2 - TYPES OF PARAMETERS ................................................................................................................. 9
FIGURE 3 - LLDP FRAME FORMAT ................................................................................................................ 11
FIGURE 4 - INITIAL LLDP EXCHANGE DELAY ISSUE ..................................................................................... 12
FIGURE 5 - INITIAL FAST RETRANSMISSION OF LLDP FRAMES ..................................................................... 13
FIGURE 6 - HIGH LEVEL PROTOCOL TLV STRUCTURES............................................................................. 14
FIGURE 7 - PROTOCOL CONTROL TLV DEFINITION ................................................................................... 15
FIGURE 8 - PROTOCOL CONTROL STATE MACHINE DIAGRAM ................................................................... 18
FIGURE 9 – DCB FEATURE TLV HEADER DEFINITION .................................................................................. 19
FIGURE 10 – GENERIC DCB FEATURE TLV .................................................................................................. 19
FIGURE 11 - DCB FEATURE STATE MACHINE ............................................................................................... 24
FIGURE 12 - PRIORITY GROUP PARAMETERS STRUCTURE ............................................................................. 27
FIGURE 13 - PRIORITY FLOW CONTROL PARAMETERS STRUCTURE............................................................... 28
FIGURE 14 - BCN PARAMETERS STRUCTURE ................................................................................................ 33
FIGURE 15 - APPLICATION PARAMETERS STRUCTURE ................................................................................... 35
FIGURE 16 - FCOE PARAMETERS STRUCTURE ............................................................................................... 35
FIGURE 17 – LAN AND FCOE SAN USE CASE .............................................................................................. 36
FIGURE 18 – FCOE LOGICAL LINK STATUS PARAMETERS STRUCTURE ......................................................... 37
FIGURE 19 – LAN LOGICAL LINK STATUS PARAMETERS STRUCTURE .......................................................... 38
FIGURE 20 - NETWORK INTERFACE VIRTUALIZATION PARAMETERS STRUCTURE ......................................... 41
4
DCB Capability Exchange Protocol Rev 1.0
Terminology
Term Description
BCN Backward Congestion Management
CM Congestion Management
DCB Data Center Bridging
PROTOCOL DCB Capability Exchange Protocol
LLDP Link Layer Discovery Protocol, IEEE802.1AB
LLDPDU An LLDP PDU
NIC Network interface controller
OS Operating System.
OUI Organizationally Unique Identifier
PDU Protocol Data Unit
PFC Priority Flow Control (same as Per Priority Pause or Class Based Flow Control)
PG Priority Groups
RX Receive
SNMP Simple Network Management Protocol
TLV Type Length Value
TTL Time to Live
TX Transmit
Related Documents
DCB Feature Specifications Company
Definition for new PAUSE function – v1.2 Cisco Systems
http://www.ieee802.org/1/files/public/dos2007/new-
cm-barrass-pause-proposal.pdf
Packet Scheduling with Priority Grouping and Intel Corporation
Bandwidth Allocation for DCB Networks
http://www.ieee802.org/1/files/public/docs2007/new-
wadekar-priority-groups-1107-v1.pdf
Backward Congestion Notification Functional Cisco Systems
Specification
FCoE Specifications Cisco Systems / Nuova Systems
Http://www.t11.org/ftp/t11/pub/fc/bb-
4/07/303v0.pdf
Network Interface Virtualization Functional Nuova Systems
Specification
5
DCB Capability Exchange Protocol Rev 1.0
6
DCB Capability Exchange Protocol Rev 1.0
1.
This document details the discovery and capability exchange protocol that is used by
DCB devices to exchange configuration (referred to in this document as the “Protocol”)..
The document also lists the parameters of the various features in DCB. The DCB features
covered in this document are:
- Priority Groups (PG)
- Priority Flow Control (PFC)
- Backward Congestion Notification (BCN)
- Applications
- Logical Link Down
- Network Interface Virtualization
This document does not provide background, motivation, and requirements for Data
Center Bridging. The document also does not describe the various features. Please refer
to the respective feature specifications for discussion of each feature.
1.1 Purpose
The following lists the purpose of PROTOCOL.
Allow discovery of DCB related peer capability: PROTOCOL is used to know about
the capabilities of the peer device. It is a means to know if the peer device supports
a particular feature like BCN or PFC. It can then take appropriate action based on
this feature. For example, it can be used to determine if two link peer devices support
Priority Flow Control.
Allow configuration of DCB link peer: PROTOCOL can be used by a device to perform
configuration of DCB parameters in its link peer. The goal is to provide basic peer to
peer configuration through PROTOCOL in the initial version. Future versions of
PROTOCOL or another higher layer application can build on top of this to provide
more complex configuration distribution mechanisms.
Figure 1 shows a deployment scenario for a network that is using PROTOCOL. PROTOCOL
capable links exchange DCB data and conflict alarms are sent to the appropriate
management stations. As an example, a boundary is shown indicating which devices
support BCN and which do not.
7
DCB Capability Exchange Protocol Rev 1.0
Switch Management
Conflict
alarm
m
lar
ct a
DC
X
nfli
Co
DC
DCX X X
DC
DC
DC X
X
X
DC
BCN
enabled
DCX
region
X
DCX DC
Server Management
8
DCB Capability Exchange Protocol Rev 1.0
Figure 2 shows the exchanged parameters that are sent to each peer via LLDP
messages.
Exchanged Exchanged
parameters Exchanged parameters parameters
Operational Operational
parameters parameters
Local LLDP Messages Local
parameters parameters
Ethernet Link
DCB MIB DCB MIB
Device A Device B
9
DCB Capability Exchange Protocol Rev 1.0
DCB exchanged parameters are packaged into Organizationally Specific TLVs. The OUI
used for the PROTOCOL TLV is 0x00, 0x1B, 0x21 (an Intel OUI). Depending on the amount
of data required for all features, one or more TLVs, with different sub-types, are defined
for PROTOCOL. Within the PROTOCOL TLVs, sub-TLVs are defined for each feature
carried by that TLV.
A device capable of any DCB feature must have PROTOCOL enabled by default with an
option for PROTOCOL to be administratively disabled.
PROTOCOL is expected to operate over a point to point link. If multiple LLDP neighbors
are detected, then PROTOCOL behaves as if the peer’s PROTOCOL TLVs are not present
until the multiple LLDP neighbor condition is no longer present. An LLDP neighbor is
identified by its logical MAC Service Access Identifier (MSAP). The logical MSAP is a
concatenation of the chassis ID and port ID values transmitted in the LLDPDU.
* When PROTOCOL is currently running and LLDP TX is disabled, then according to the
LLDP specification, a shutdown LLDPDU is sent. When the peer receives this PDU,
PROTOCOL is determined to be disabled on the peer. This is equivalent to PROTOCOL TLV
TTL expired in the Control State machine and Rx.Feature.present() = FALSE in the Feature
state machine. If for some reason this frame is lost, then PROTOCOL depends on standard
rxInfoTTL expiry of the peer's LLDP TLV's.
* When PROTOCOL is currently running and LLDP Rx is disabled, then all PROTOCOL TLV's
including the control TLV should be withdrawn from the LLDP PDUs that the interface
generates. The peer's behavior should be the same as discussed in the previous case.
10
DCB Capability Exchange Protocol Rev 1.0
11
DCB Capability Exchange Protocol Rev 1.0
After initialization, an LLDP frame is transmitted (considering the initialization as a status
change).
An initial LLDP message might not be received by the peer due to different times at
which their initialization completes (see Figure 4).
Device A Device B
LLDP initialized
LLDP messages
X LLDP initialized
Peer parameters
received
Peer parameters
received
12
DCB Capability Exchange Protocol Rev 1.0
Device A Device B
LLDP initialized
LLDP Messages
X LLDP initialized
Peer parameters
X
received
Peer parameters
received
13
DCB Capability Exchange Protocol Rev 1.0
1.4.1 PROTOCOL TLV Format
Information about the PROTOCOL control state and DCB feature configuration are
exchanged with the peer in PROTOCOL TLVs that are transmitted via LLDP PDUs. Figure 6
shows the general structure of the organizationally specific PROTOCOL TLV. The details of
each sub-TLV are covered in the remainder of the document.
The PROTOCOL Control Sub-TLV and the set of Feature Sub-TLVs can be arranged in any
order within the PROTOCOL TLV. Duplicate Sub-TLV’s (such as more than one Sub-TLV for
the same feature) are not allowed. Duplicates are handled as a configuration error for
the feature. A duplicate PROTOCOL Control TLV causes an error for all features.
The PROTOCOL sub-TLVs follow the same format as an LLDP TLV – having type, length
and information fields. The type field is meaningful within the context of a PROTOCOL
TLV and the length specifies the number of octets in the information portion of the sub-
TLV.
In the details that follow, the following data types are used to define structures which
describe the elements of PROTOCOL sub-TLVs:
14
DCB Capability Exchange Protocol Rev 1.0
Elements listed first in a structure have lower octet numbers then subsequent elements.
Bit fields within an element occupy the highest to lowest order bits of the element in the
order they are listed. The following structure shows an example.
struct example_tlv {
u16 type :7; // high order bit field in u16 element
u16 length :9; // low order bit field in u16 element
u32 fieldA :8; // highest order bit field in u32 element
u32 fieldB :8;
u32 fieldC :3;
u32 fieldD :13; // lowest order bit field in u32 element
};
SIZE = 6 octets
struct protocol_control_tlv {
u16 type :7;
u16 length :9;
u16 oper_version :8;
u16 max_version :8;
u32 seqno; :32;
u32 ackno; :32;
};
SIZE = 12 octets
15
DCB Capability Exchange Protocol Rev 1.0
The following table lists the fields in the PROTOCOL Control TLV.
16
DCB Capability Exchange Protocol Rev 1.0
Figure 8 shows the operation of the PROTOCOL Control state machine. Note that the
diagram is defined using an infinite loop model (such as no waiting). Implementations
might use event waiting mechanisms as long as the function of the state machine is
preserved.
• PROTOCOL Control TLV fields and state variables are used directly such as SeqNo)
• Variables from the Feature state machines are identified by pre-pending Feature
to the variable: For example, Feature.Syncd refers to a variable called Syncd
from a Feature state machine.
• TLV fields received from the peer are identified as: Rx.<machine>.<variable> - i.e.
‘Rx.Protocol.SeqNo.
17
DCB Capability Exchange Protocol Rev 1.0
18
DCB Capability Exchange Protocol Rev 1.0
Commentary on the PROTOCOL Control state machine diagram by reference label (Dx):
• D6 and D7: If the PROTOCOL TLV from the peer has expired, then the local side
resets similar to a link up. This is a different case than an actual link down, which
would cause this state machine to exit.
• D13: The peer has sent a Control TLV with a new sequence number. Send a new
Control TLV with an updated AckNo field.
struct PROTOCOL_tlv_header {
u16 type :7;
u16 length :9;
u32 oper_version :8;
u32 max_version :8;
u32 enable :1;
u32 willing :1;
u32 error :1;
u32 reserved :5;
u32 sub_type :8;
};
SIZE = 6 octets
Figure 10 shows a generic DCB Feature TLV structure. The details of each feature specific
parameter structure are defined in the upcoming DCB Feature sections.
struct PROTCOL_feature_tlv {
struct PROTOCOL_tlv_header h;
struct PROTOCOL_feature_cfg
desired_cfg;
};
SIZE 6 i f( t t
Figure 10 – Generic DCB Feature TLV
The following table lists the fields in the DCB Feature TLVs that are used to define the
operation of the DCB Feature state machine.
19
DCB Capability Exchange Protocol Rev 1.0
Field Type Range Default Access Description
Value (RO,RW,
NA)
Type Integer 2..127 N/A RO Type code of the DCB Feature.
Following is a list of defined
types:
1 – PROTOCOL Control (not a
feature)
2 – Priority Groups
3 – Priority Flow Control
4 – BCN
5 – Application
6 – Logical Link Down
Length Integer N/A N/A RO Length of the DCB Feature
sub-TLV payload (not including
the Type and Length fields).
The length is less than the
maximum possible value (511)
as this TLV is packaged inside
the PROTOCOL TLV along with
other feature TLV’s.
Oper Integer 0 .. 255 Highest RO Operating version of the
Version supported feature. The system adjusts to
operate at the highest version
supported by both link
partners.
Max Integer 0 .. 255 Highest RO Highest feature version
Version supported supported by the system.
Version numbers start at zero.
The feature must be backward
compatible for all previous
versions.
Enable Boolean Truth True RW Locally administered
value parameter that indicates
whether the DCB feature is
enabled or not.
Willing Boolean Truth True RW Locally administered
value parameter that indicates
whether this feature accepts
its configuration from the peer
or not. When set to TRUE, the
system uses the DesiredCfg
supplied by a !Willing peer as
the OperCfg. A system set to
Willing must be capable of
accepting any valid
DesiredCfg for the feature
from the peer. If both local
and remote systems have the
same value for the Willing flag,
20
DCB Capability Exchange Protocol Rev 1.0
then the local DesiredCfg is
used and the operational
outcome of the exchange is
determined by the
Compatible method of the
feature.
Error Boolean Truth False RO Indicates that an error has
value occurred during the
configuration exchange with
the peer. Error is set TRUE when
the OperCfg and OperMode
of a feature cannot be set as
the protocol requires. Error is
also set to TRUE when the
Compatible method for the
feature fails. The Feature turns
OperMode to FALSE if either
the local or remote Error flag is
set to TRUE.
Duplicate TLV’s for the same
Type/SubType or the
PROTOCOL Control TLV also
causes Error to be set to TRUE.
SubType Integer 0..255 NA RO The Application TLV (Type == 5)
and Logical Link Down TLV
(Type == 6) might have
multiple SubType values
defined that represent specific
types of network traffic. All
other Feature TLV Types set the
SubType field to zero.
21
DCB Capability Exchange Protocol Rev 1.0
, NA)
Advertise Boolean Truth True RW Locally administered
value parameter that indicates
whether this feature is
exchanged in the
PROTOCOL TLV. When
Advertise is False, received
TLVs for this feature are
ignored.
OperMode Boolean Truth False RO Operational state of the
value feature.
FeatureSyncNo Integer 0 .. RO When Syncd is False, this
(232 –1) indicates the value that
Protocol.SeqNo must
become equal to before
Syncd can become True.
Syncd Boolean Truth False RO Indicates whether the
value current DesiredConfig has
been received by the peer.
OperCfg Structure NA DesiredCfg RO The operating configuration
of the feature – set to either
DesiredCfg or PeerCfg.
PeerCfg Structure NA N/A RO The DesiredCfg of the peer
– as received in a
PROTOCOL TLV from the
peer.
PeerWilling Boolean Truth N/A RO The Willing state of the peer
value – as received in a
PROTOCOL TLV from the
peer.
Table 4 - PROTOCOL state variable definitions for the DCB Feature state machine
22
DCB Capability Exchange Protocol Rev 1.0
Figure 11 shows the operation of the DCB Feature state machine. Note that the figure is
defined using an infinite loop model (such as no waiting). Implementations might use
event waiting mechanisms as long as the function of the state machine is preserved.
• TLV fields and state variables are used directly (e.g. SeqNo)
• State machines are identified as either PROTOCOL or Feature (e.g.
PROTOCOL.SeqNo refers to the SeqNo variable from the PROTOCOL Control state
machine).
• TLV fields received from the peer are identified as: Rx.<machine>.<variable> -
such as Rx.PROTOCOL.SeqNo.
23
DCB Capability Exchange Protocol Rev 1.0
24
DCB Capability Exchange Protocol Rev 1.0
• F2: If multiple features experience a change and set Syncd to FALSE, it is possible
that the first change triggers the Control state machine to send an LLDP message.
Additional pending changes do not get sent until the first change has been
acknowledged (per D2 of Control state machine). In other words, the SeqNo’s
ratchet up and are acknowledged one value at a time. For example, the AckNo
from the peer could be 9, the local SeqNo is 10, and multiple features could be
pending with FeatureSeqNo at 11. A PDU with SeqNo 11 is not sent until an
AckNo of 10 is received.
• F7: If ‘remoteFeatureChanged’ was the expiration of the PROTOCOL TLV TTL, then
the feature is not present and OperMode is set to FALSE.
• F5 (any place OperCfg is set) – The hardware configuration for the feature takes
place at the point OperCfg is set and the OperMode is set. The implementation
might keep track of whether or not the OperCfg and OperMode have actually
changed and require an update to the hardware configuration.
• F16, F18, F20, F22 – The Error flag is set based on the success or failure of updating
the feature configuration, which is occurring implicitly here and is represented by
the ConfigurationSuccessful flag. Error indicates that a problem outside the
scope of the protocol has occurred, which prevented the feature configuration
from being successful.
• F23 – Error is explicitly set to TRUE here to indicate that the two peers have a DCB
configuration that is not compatible.
25
DCB Capability Exchange Protocol Rev 1.0
2. DCB Features
This section defines the DCB Feature parameters and statistics.
NOTE: Although it is expected that DCB devices will eventually provide scheduling
functionality as specified in the Priority Group specification (or better), legacy
implementations exist. To encourage wider adoption, this Priority Group Feature allows
legacy implementations to match scheduler capabilities to the behavior implied by
the Priority Group specification as close as possible. All PROTOCOL implementations must
be capable of advertising the Priority Group TLV.
26
DCB Capability Exchange Protocol Rev 1.0
Table 5 - Priority Group Parameters
struct PROTOCOL_pg_cfg {
u8 bwg_percentages[8]; /* percentage of link BW per BWG */
struct {
u8 bwg_id :3; /* BWG ID */
u8 strict_prio :2; /* 1: LSP, 2: GSP, 3: reserved */
u8 :3;
u8 bw_percentage; /* percentage of BWG bandwidth */
} pg_up_settings[8]; /* Index is user priority */
};
SIZE = 24 octets
27
DCB Capability Exchange Protocol Rev 1.0
NOTE: Legacy implementations that do not support Priority Flow Control can signal this by
setting "Enable" to FALSE. This effectively disables the Priority Flow Control feature at
which time the peers fall back to configured 802.3x PAUSE behavior. All PROTOCOL
implementations must be capable of advertising the Priority Flow Control TLV.
struct PROTOCOL_pfc_cfg {
u8 admin_map; /* bitmap of admin mode, bit position is user priority */
};
SIZE = 1 octets
28
DCB Capability Exchange Protocol Rev 1.0
foreach (user_priority)
{
if ((localAdminMode == Disabled == remoteAdminMode)
||
(localAdminMode == Enabled == remoteAdminMode))
{
Comparison successful – configuration match …
}
else
{
Comparison fails – configuration mismatch …
break
}
}
29
DCB Capability Exchange Protocol Rev 1.0
2.3 BCN
This section describes the details of the BCN feature. Note that parameters that are
marked as having local scope are not exchanged in the BCN sub-TLV.
30
DCB Capability Exchange Protocol Rev 1.0
Remove Tag TruthValue False RO Exchanged CM Tag needs to be
Oper Mode removed before
data is sent out on
this port. Set based
on CP Admin Mode
of peer port.
If CP Admin == False
Set to True
If CP Admin == True
Set to False
BCN Params Table NA BCN parameters
apply for all User
Priorities
Rp Gd Double 0..1 RW Exchanged Reaction Point:
Decrement
Coefficient
Rp Gi Double 0..1 RW Exchanged Reaction Point:
Increment
Coefficient
Rp W Integer 1/8 - 8 RW Exchanged Reaction Point:
Derivative Weight
Rp Ru Integer 1-100 RW Local Reaction Point: Rate
Unit
Rp Tmax Integer 1 .. 1M RW Exchanged Reaction Point:
Maximum Time to
backoff after BCN0
Rp Rmin Integer 0..link_ RW Exchanged Reaction Point:
rate Default Rate to
resume after first
BCN0
Rp Wrtt Integer 0..10 RW Local Reaction Point: RTT
moving average
weight
Rp Ri Integer 0..link_ RW Local Reaction Point: Initial
rate rate.
Fixed at 50% link
rate.
Rp Alpha Double 0..1 RW Exchanged Reaction Point:
Maximum decrease
factor
Rp Beta Double 0..1 RW Exchanged Reaction Point:
Maximum increase
factor
Rp C Integer 0..100K RW Local Reaction Point: Link
capacity
Fixed
Rp Td Integer 1..10K RW Exchanged Reaction Point: Drift
Interval
Rp Rd Integer 1..100 RW Exchanged Reaction Point: Drift
factor
31
DCB Capability Exchange Protocol Rev 1.0
Cp Bmc Integer 0..Buf RW Local Congestion Point:
max Buffer Medium
Congestion
threshold (used to
set M bit in BCN)
Cp Bsc Integer 0..Buf RW Local Congestion Point:
max Buffer Severe
congestion threshold
(used to set S bit in
BCN)
Cp Qeq Integer 0..Qm RW Local Congestion Point:
ax Queue Equilibrium.
Min is fixed,
instantiated
Cp Qsc Integer 0..Qm RW Local Congestion Point:
ax Queue Severe
Congestion
Threshold (Qsc, used
to send BCN 0)
Cp Qmc Integer 0..Qm RW Local Congestion Point:
ax Queue Mild
Congestion
Threshold (between
Qmc and Qsc, Max
feedback signal is
sent)
Cp Qscale Integer 1/8..8 RW Local Congestion Point:
Queue Scale factor
Cp Sf Integer 1..256K RW Exchanged Congestion Point:
Fixed portion of the
sampling interval
Cp Sr Integer 1..64K RW Local Congestion Point:
Random portion of
the sampling interval
Fixed (as a % of Sf)
Table 8 - BCN Parameters
32
DCB Capability Exchange Protocol Rev 1.0
struct PROTOCOL_bcn_cfg {
u8 bcna[8]; /* CM-Tag BCNA field */
struct {
u8 cp_admin :1; /* CP admin mode */
u8 rp_admin :1; /* RP admin mode */
u8 rp_oper :1; /* RP operational mode */
u8 rem_tag_oper :1; /* Remove CM tag operational mode */
u8 :4;
} bcn_up_settings[8]; /* Index is user priority */
double rp_alpha; /* RP max decrease factor */
double rp_beta; /* RP max increase factor */
double rp_gd; /* RP decrement coefficient */
double rp_gi; /* RP increment coefficient */
u32 rp_tmax; /* RP max time to backoff after BCN0 */
u32 cp_sf; /* CP sampling interval fixed */
u16 rp_td; /* RP drift interval */
u16 rp_rmin; /* RP default rate after 1st BCN0 */
u8 rp_w; /* RP derivative rate */
u8 rp_rd; /* RP drift factor */
};
SIZE = 62 octets
The BCN RP capability of the host is used by the switch to determine if it needs to support
RP capability. Similarly, the BCN CP capability of the host is used by the switch to
determine if it needs to forward BCN tagged packets to the host.
All of the other numerical parameters must match exactly.
33
DCB Capability Exchange Protocol Rev 1.0
The primary function of PROTOCOL is to exchange Application TLV’s and coordinate with
the peer based on the rules of the DCB Feature state machine. PROTOCOL does not
need to understand the details of the Application parameters. Applications can set and
query their Application TLV parameters via a local management interface with
PROTOCOL.
SubType Description
Value
0 Fiber Channel over Ethernet (FCoE)
Table 9 - Application SubTypes
The following sub-sections define the parameters and TLVs for the general Application
TLV and for each of the defined Application SubTypes.
struct PROTOCOL_app_cfg {
u8 app_params[n];
};
SIZE = n octets
34
DCB Capability Exchange Protocol Rev 1.0
Figure 15 - Application Parameters Structure
The local and remote Application parameters must match exactly in order for the local
and peer Application TLVs to be considered compatible – per the DCB Feature state
machine.
struct PROTOCOL_fcoe_cfg {
u8 user_priority_map :8;
};
SIZE = 1 octets
35
DCB Capability Exchange Protocol Rev 1.0
Figure 17 shows an example use case. In the example, a dual up-link FCoE adapter is
connected to two FCoE capable switches, which in turn connect to both a common
Ethernet LAN and two Fibre Channel SANs.
SWITCH_1 SAN
LAN
SAN
SWITCH_2
36
DCB Capability Exchange Protocol Rev 1.0
Table 12 lists the SubTypes currently defined for this TLV.
SubType Description
Value
0 FCoE Logical Link Status
1 LAN Logical Link Status
Table 12 - Logical Link Status TLV SubTypes
struct PROTOCOL_fcoe_logical_link_status_cfg {
u8 logical_link_status:1;
u8 resv:7;
};
SIZE = 1 octet
37
DCB Capability Exchange Protocol Rev 1.0
If the adapter sets these bits, the bits are ignored by the switch. Since the switch pushes
this information, the Willing bit is set to FALSE on the switch side. Except the combination
above all other combinations are not valid. Since it is not expected that both Willing bits
are the same, the comparison function always returns an error irrespective of the
configurations.
struct PROTOCOL_lan_logical_link_status_cfg {
u8 logical_link_status:1;
u8 resv:7;
};
SIZE = 1 octets
38
DCB Capability Exchange Protocol Rev 1.0
If the adapter sets these bits, the bits are ignored by the switch. Since the switch pushes
this information, the Willing bit is set to FALSE on the switch side. Except the combination
above, all other combinations are not valid. Since it is not expected that both Willing bits
are the same, the comparison function always return an error irrespective of the
configurations.
39
DCB Capability Exchange Protocol Rev 1.0
Table 15 lists a summary of the additional feature TLV’s listed in this appendix.
40
DCB Capability Exchange Protocol Rev 1.0
struct PROTOCOL_niv_control_virtual_interface_cfg {
u16 control_virtual_interface:12;
u16 resv:4
};
SIZE = 2 octets
Parameter Comparison
control_virtual_interface Needs to match
Table 17 - Network Interface Virtualization Parameter Comparison
41