Data Center Bridging Exchange (DCBX) is one of the components of the DCB standards. These standards offer enhancements to standard ethernet which are backwards compatible with traditional Ethernet and provide support for I/O Consolidation (http://www.definethecloud.net/?p=18.) The three purposes of DCBX are:
Discovery of DCB capability:
The ability for DCB capable devices to discover and identify capabilities of DCB peers as well as identify non-DCB capable legacy devices. You can find more information on DCB in a previous post (http://www.definethecloud.net/?p=31.)
Identification of misconfigured DCB features:
The ability to discover misconfiguration of features that require symmetric configuration between DCB peers. Some DCB features are asymmetric meaning they can be configured differently on each end of a link, other features must match on both sides to be effective (symmetric.) This functionality allows detection of configuration errors for these symmetric features.
Configuration of Peers:
A capability allowing DCBX to pass configuration information to a peer. For instance a DCB capable switch can pass Priority Flow Control (PFC) information on to a Converged Network Adapter (CNA) to ensure FCoE traffic is appropriately tagged and pause is enabled for the chosen Class of Service (CoS) value. This PFC exchange is a symmetric exchange and must match on both sides of the link. DCB features such as Enhanced Transmission Selection (ETS) otherwise known as bandwidth management can be configured asymmetrically (different on each side of the link.)
DCBX relies on Link Level Discovery Protocol (LLDP) in order to pass this information and configuration. LLDP is an industry standard version of Cisco Discovery Protocol (CDP) which allows devices to discover one another and exchange information about basic capabilities. Because DCBX relies on LLDP and is an acknowledged protocol (2 way communication) any link which is intended to support DCBX must have LLDP enabled on both sides of the link for Tx/Rx. When a port has LLDP disabled for either Rx or Tx DCBX is disabled on the port and DCBX Type Length Values (TLV) within received LLDP frames will be ignored.
DCBX capable devices should have DCBX enabled by default with the ability to administratively disable it. This allows for more seamless deployments of DCB networks with less tendency for error.