.
First, some background on DCB itself.
DCB is an extension to Ethernet that enables the dedication of resources in the converged network. To ensure lossless delivery and latency-sensitive scheduling of storage, service traffic, and I/O convergence of LAN over a unified fabric, IEEE data centre bridging adds the following extensions to a classical Ethernet network:
-
-
- 802.1Qbb – Priority-based Flow Control (PFC)
- 802.1Qaz – Enhanced Transmission Selection (ETS)
- Data Center Bridging Exchange (DCBX) protocol
-
- PFC
The DCB framework allows administrators to define traffic flows (e.g.iSCSI) that are put into a lossless queue or one with Priority Flow Control (PFC). This means that the SAN traffic flows will be separated from the LAN flows. Consequently, this will permit LAN traffic to pause independent of SAN traffic that shares the same backplane/fabric as the LAN traffic. In multi-protocol links, PFC can address sudden bursts in one type of traffic, so that it does not affect other traffic types and no frames are lost due to congestion.
Unlike the traditional flow control mechanism, which is implemented on a link bases (thus pausing all traffic on a link, regardless of various traffic types that may be sharing the same link), DCB implements its mechanisms on a flow base. Instead of stopping all traffic on a link (as performed by the traditional Ethernet pause mechanism), PFC pauses traffic on a link according to the 802.1p priority set on a traffic type. You can thus treat iSCSI traffic as loss-less, while allowing for loss in case of LAN traffic congestion on the same physical interface.
- ETS
DCB also allows IT administrators to divide the available network bandwidth between these different traffic types by setting parameters. The parameters or bandwidth allocations are known as Enhanced Transmission Selection (ETS), and are assigned to traffic in the different queues for LAN or storage. Bandwidth allocation and queue scheduling for each group ensure each traffic type is correctly prioritized and receives its allocated bandwidth.
Lastly, DCB passes the PFC and ETS parameters from the network switches out to the attached devices via DCB eXchange (DCBx) packets.
DCB Configuration can be achieved through the following commands/parameters on Force10 FTOS:
Mode/Prompt |
Parameters |
Arguments |
Comments |
Config)# |
interface range TenGigabitEthernet | 0/0 – xx | Range of interfaces imapcted |
Config-int)# |
dcb-policy input | pfc-policy | Apply the input policy with the PFC configuration to an ingress interface. |
Config-int)# |
dcb-policy output | ets-policy | Apply the output policy with the ETS configuration to an egress interface. |
Config-int)# |
exit | ||
Creating a QoS ETS Output Policy | |||
Config)# |
qos-policy-output | lan ets | Create a QoS output policy to configure the ETS bandwidth allocation and scheduling for priority traffic. |
Config-POLICY-MAP-OUT-ETS)# |
bandwidth-percentage | 70 | |
Config-POLICY-MAP-OUT-ETS)# |
qos-policy-output | iscsi ets | Configure the bandwidth percentage allocated to priority traffic in port queues. The sum of bandwidth percentage assigned to dot1p priorities/queues in a priority group should be 100%. |
Config-POLICY-MAP-OUT-ETS)# |
bandwidth-percentage | 30 | |
Config-POLICY-MAP-OUT-ETS)# |
exit | ||
Config)# |
dcb stack-unit all pfc-buffering | pfc-ports 64 pfc-queues 2 | Configure the PFC buffer for all switches in the stack. Default: enabled on all ports. |
Config)# |
dcb-input | pfc-policy | Create a DCB input policy to apply pause/flow control for specified priorities using a configured delay time. |
Config-DCB INPUT POLICY)# |
pfc priority | 4 | Configure the CoS traffic to be stopped for the specified delay. Enter the 802.1p values of the frames to be paused. |
Config-DCB INPUT POLICY)# |
exit | ||
Creating an ETS Priority Group | |||
Config)# |
priority-group | lan | Create an ETS priority group to use with an ETS output policy. |
Config-priority-group)# |
priority-list | 0-3,5-7 | Configure the 802.1p priorities for the traffic on which you want to apply an ETS output policy. Valid values: 0 to 7. Default: None. |
Config-priority-group)# |
set-pgid | 1 | Configure the priority-group identifier. Valid values: 0 to 7. |
Config-priority-group)# |
exit | ||
Config)# |
priority-group | iscsi | |
Config-priority-group)# |
priority-list | 4 | |
Config-priority-group)# |
set-pgid | 0 | |
Config-priority-group)# |
exit | ||
Applying an ETS Output Policy for a Priority Group to an Interface | |||
Config)# |
dcb-output | ets-policy | Create a DCB output policy to associate an ETS configuration with priority traffic. |
Config-DCB OUTPUT POLICY)# |
priority-group lan | qos-policy lan | Associate the 802.1p priority traffic in a priority group with the ETS configuration in a QoS output policy. |
Config-DCB OUTPUT POLICY)# |
priority-group iscsi | qos-policy iscsi | |
Config-DCB OUTPUT POLICY)# |
exit | ||
Config)# |
dcb-policy input stack-unit all | stack-ports all dcb | Apply the specified DCB input policy on all ports of the switch/stack. |
.