File dcbd-0.9.2_to_0.9.2.2.patch of Package dcbd
diff -pur dcbd-0.9.2/dcbd7 dcbd-0.9.2.2/dcbd7
--- dcbd-0.9.2/dcbd7 2008-12-02 17:36:19.000000000 -0800
+++ dcbd-0.9.2.2/dcbd7 2008-12-22 17:26:46.000000000 -0800
@@ -4,55 +4,80 @@
.\"
.\" * Other names and brands may be claimed as the property of others.
.\"
-.TH dcbd 1 "September 10, 2008"
+.TH dcbd 1 "December 12, 2008"
.SH NAME
-dcbd \-DCBX daemon
+dcbd \- Data Center Bridging capabilities exchange daemon
.SH SYNOPSIS
.B dcbd [-h]
.B [-v]
-.I [-d] [-f filename]
+.B [-d]
+.BI "[-f" " filename" "]"
.SH DESCRIPTION
-Executes the DCB capabilities exchange protocol to exchange DCB
-configuration with the peer device using LLDP
-.BR
-retrieves and stores DCB configuration to a configuration file
-.BR
-controls the DCB settings of the network driver based on the
+Executes the Data Center Bridging (DCB) capabilities exchange protocol on DCB
+capable Ethernet interfaces in order to exchange DCB configuration with the
+peer device.
+.PP
+Major functions of
+.B dcbd
+include:
+.br
+- retrieving and storing DCB configuration to a configuration file
+.br
+- configuring the DCB settings of the network driver based on the
operation of the DCB capabilities exchange protocol
-.BR
-detects and reacts to link up and link down events on network ports
-.BR
-supports the Priority Group, Priority Flow Control and
-App TLV (FCoE, subtype 0) features.
-.BR
-generates client interface events when the operational configuration
-or state of a feature changes.
+.br
+- detecting and reacting to link up and link down events on network ports
+.br
+- supporting the following DCB features: Priority Groups, Priority Flow Control,
+FCoE and FCoE Logical Link Status.
+.br
+- providing an interface for client applications to query and configure DCB
+features. Events are also generated on the client interface when the
+operational state or configuration of a feature changes.
+
+.B dcbd
+supports the versions of the DCB capabilities exchange protocol described here:
+.TP
+version 1
+<http://download.intel.com/technology/eedc/dcb_cep_spec.pdf>
+.PP
+and here:
+.TP
+version 2
+<http://www.ieee802.org/1/files/public/docs2008/az-wadekar-dcbx-capability-exchange-discovery-protocol-1108-v1.01.pdf>
+.PP
+See
+.B dcbtool
+for information on how to configure which version of the protocol
+.B dcbd
+executes.
+
.SH OPTIONS
-dcbd has the following command line options:
-.IP -h
-show usage information
-.IP -f
-configfile
-use the specified file as the config file instead of the default file
-- /etc/sysconfig/dcbd/dcbd.conf
-.IP -d
-run dcbd as a daemon
-.IP -v
-show dcbd version
-.IP -h
+.B dcbd
+has the following command line options:
+.TP
+.B \-h
show usage information
-.B configfile
-use the specified file as the config file instead of the default file
-- /etc/sysconfig/dcbd/dcbd.conf
-.IP -d
+.TP
+.BI "-f" " filename"
+use the specified file as the configuration file instead of the default file:
+/etc/sysconfig/dcbd/dcbd.conf
+.B dcbd
+expects the directory of the configuration file to exist, but if the
+configuration file does not exist, then a default configuration file will
+be created.
+.TP
+.B \-d
run dcbd as a daemon
-.IP -v
+.TP
+.B \-v
show dcbd version
.SH LICENSE
-dcbd and dcbtool - DCB daemon and command line utility DCB configuration
+dcbd - DCB daemon
+.br
Copyright(c) 2007-2008 Intel Corporation.
.BR
-Portions of dcbd and dcbtool (basically program framework) are based on:
+Portions of dcbd are based on:
.IP hostapd-0.5.7
.IP Copyright
(c) 2004-2008, Jouni Malinen <j@w1.fi>
@@ -74,5 +99,5 @@ The full GNU General Public License is i
the file called "COPYING".
.SH SUPPORT
Contact Information:
-e1000-dcb Mailing List <e1000-dcb@lists.sourceforge.net>
+e1000-eedc Mailing List <e1000-eedc@lists.sourceforge.net>
Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
diff -pur dcbd-0.9.2/dcbd.spec dcbd-0.9.2.2/dcbd.spec
--- dcbd-0.9.2/dcbd.spec 2008-12-02 17:36:21.000000000 -0800
+++ dcbd-0.9.2.2/dcbd.spec 2008-12-22 17:26:48.000000000 -0800
@@ -1,6 +1,6 @@
Name: dcbd
Summary: Intel(R) EEDC Connection
-Version: 0.9.2
+Version: 0.9.2.2
Release: 1
Source: %{name}-%{version}.tar.gz
Vendor: Intel Corporation
diff -pur dcbd-0.9.2/dcbtool7 dcbd-0.9.2.2/dcbtool7
--- dcbd-0.9.2/dcbtool7 2008-12-02 17:36:21.000000000 -0800
+++ dcbd-0.9.2.2/dcbtool7 2008-12-22 17:26:47.000000000 -0800
@@ -4,130 +4,337 @@
.\"
.\" * Other names and brands may be claimed as the property of others.
.\"
-.TH dcbtool 1 "September 10, 2008"
+.TH dcbtool 1 "December 11, 2008"
.SH NAME
-dcbtool \-display or change the DCB settings of a DCB interface
+dcbtool \- manage the Data Center Bridging (DCB) settings of a DCB interface
.SH SYNOPSIS
.B dcbtool -h
+.br
.B dcbtool -v
-.B dcbtool [command] [command arguments]
-.B dcbtool interactive mode
+.br
+.B dcbtool [-rR]
+.br
+.BI "dcbtool [-rR] [" "command" "] [" "command arguments" "]"
+
.SH DESCRIPTION
-dcbtool is used to query and set the DCB and DCBX settings of a
-DCB capable Ethernet device. It connects to the client interface
-of 'dcbd' to perform these operations.
+.B dcbtool
+is used to query and set the DCB settings of a
+DCB capable Ethernet interface. It connects to the client interface
+of
+.B dcbd
+to perform these operations.
+.B dcbtool
+will operate in interactive mode if it is executed without a
+.I command.
+In interactive mode,
+.B dcbtool
+also functions as an event listener and will print out events
+received from
+.B dcbd
+as they arrive.
.SH OPTIONS
-The basic usage of dcbtool is:
-.B dcbtool [options] <cmd> [cmd arguments]
-If no command is specified, then dcbtool will enter an interactive mode which
-allows commands to be entered interactively. When invoked in interactive
-mode, dcbtool will also register with dcbd as an event monitor.
-.IP -h
-shows the dcbtool usage message
-.IP -v
-shows dcbtool version information
+.TP
+.B \-h
+show the
+.B dcbtool
+usage message
+.TP
+.B \-v
+shows
+.B dcbtool
+version information
+.TP
+.B \-r
+display the raw
+.B dcbd
+client interface messages as well as the readable output.
+.TP
+.B \-R
+display only the raw
+.B dcbd
+client interface messages
.SH COMMANDS
-.IP help
+.TP
+.B help
shows the dcbtool usage message
-.IP level <value>
-sets the threshold dcbd uses to send event messages to this interface.
-.B Valid Range:
-0: MSG_DUMP - for dcbd debugging
-1: MSG_DEBUG - for dcbd debugging
-2: MSG_INFO - for free form dcbd informational messages
-3: MSG_WARNING - for free form dcbd warning messages
-4: MSG_DCB - for formated DCB event messages
-.LP
-.IP ping
-test command. dcbd responds with "PONG"
-.IP license
-displays dcbtool license information
-.IP quit
+.TP
+.B ping
+test command. The
+.B dcbd
+daemon responds with "PONG" if the client interface is operational.
+.TP
+.B license
+displays
+.B dcbtool
+license information
+.TP
+.B quit
exit from interactive mode
-.IP gc <ifname> <dcb | pg | pfc | app:<subtype>>
-Get configuration command. Returns the local configuration for
-the specified interface and DCB feature. Features are:
-dcb - DCB state of port
-pg - priority groups
-pfc - priority flow control
-app:<subtype> - application with subtypes:
- fcoe
-.IP go <ifname> <pg | pfc | app:<subtype>>
-Get operational status command. Returns the current DCB
-operational status and configuration for the specified
-interface and DCB feature.
-.IP gp <ifname> <pg | pfc | app:<subtype>>
-Get peer status command. Returns the current DCB status
-and configuration for the DCB peer of the specified interface
-and DCB feature.
-.IP sc <ifname> dcb <on | off>
-Set the DCB state of the port.
-.IP sc <ifname> <pg | pfc | app:<subtype>> [a:<0|1>] [e:<0|1>] [w:<0|1>]
-[feature attributes]
-Set configuration command. Allows setting, per DCB feature, the following:
-.IP a:<0|1> - enable/disable advertising the feature via DCB
-.IP e:<0|1> - enable/disable the DCB feature
-.IP w:<0|1> - enable/disable willing flag for the feature
-
-If one of the above parameters is not specified in the set config command,
-then the DCB feature attributes must be specified.
-
-.IP pg - priority group attributes
-Priority group attributes which are not supplied will remain
-unchanged. Except for the 'uppct'. If 'uppct' is not
-supplied and the resulting percentages within each PGID do
-not add up to 100%, then dcbd will compute new user priority
-percentages for each PGID so that the sum for each PGID is 100%.
-.IP up2tc:<0-7><0-7><0-7><0-7><0-7><0-7><0-7><0-7>
-This is the user priority to traffic class mapping parameter.
-If not specified, the default value is "01234567".
-.IP pgid:<0-7F><0-7F><0-7F><0-7F><0-7F><0-7F><0-7F><0-7F>
-This is the priority group ID mapping. From left to right,
-each number indicates the priority group ID to which the
-corresponding user priority, starting with zero, belongs.
-A value of 'F' (0xF) indicates that the user priority
-belongs to the link strict group.
-.IP pgpct:<0-100>,<0-100>,<0-100>,<0-100>,<0-100>,<0-100>,<0-100>,
-<0-100>
-This is the priority group bandwidth percentage of link
-setting. From left to right, each number indicates the
-percentage of total link bandwidth which is allocated to the
-corresponding priority group ID, starting with zero.
-.IP uppct:<0-100>,<0-100>,<0-100>,<0-100>,<0-100>,<0-100>,<0-100>,
-<0-100>
-This is the user priority bandwidth percentage of bandwidth
-group setting. From left to right, each number indicates the
-percentage of total priority group bandwidth which is
-allocated to the corresponding user priority, starting with
-zero.
-.IP strict:<0-2><0-2><0-2><0-2><0-2><0-2><0-2><0-2>
-This is the strict priority settings for each user priority.
-.BR
-From left to right, each number indicates the strict priority
-setting for each user priority, starting with zero. A value
-of 0 represents no strict priority setting, 1 represents group
-strict.
-.B pfc - priority flow control attributes
-.IP pfcup:<0|1><0|1><0|1><0|1><0|1><0|1><0|1><0|1>
-This is the priority flow control enable setting per user
-priority. From left to right, each number indicates the enable
-setting of priority flow control for the corresponding user
-priority, starting from zero. 0 means disabled, 1 means
-enabled.
-.IP app - application attributes
-.IP appcfg:<xx>
-This represents the application settings for the specified
-application subtype. Assuming that the application attribute
-setting is an arbitrary sequence of bytes of a given length,
-the setting is supplied to dcbtool by representing each byte as
-a 2 character hexadecimal string. Thus, if the application
-attribute setting is the value 0x5a, the dcbtool attribute
-would be "appcfg:5a"
+
+.PP
+The following commands interact with the
+.B dcbd
+daemon to manage the daemon and DCB features on DCB capable interfaces.
+
+.B dcbd
+general configuration commands:
+.TP
+.RB "<" "gc" "|" "go" ">" " dcbx"
+get the configured or operational version of the DCB capabilities exchange
+protocol. If different, the configured version will take effect (and become
+the operational version) after
+.B dcbd
+is restarted.
+.TP
+.BR "sc dcbx v:" "[" "1" "|" "2" "]"
+set the version of the DCB capabilities exchange protocol which will be used
+the next time
+.B dcbd
+is started. Information about version 1 can be found at:
+.br
+<http://download.intel.com/technology/eedc/dcb_cep_spec.pdf>
+Information about version 2 can be found at:
+.br
+<http://www.ieee802.org/1/files/public/docs2008/az-wadekar-dcbx-capability-exchange-discovery-protocol-1108-v1.01.pdf>
+.PP
+DCB per-interface commands:
+.TP
+\fBgc \fR<\fIifname\fR> <\fIfeature\fR>
+get configuration of \fIfeature\fR on interface \fIifname\fR.
+.TP
+\fBgo \fR<\fIifname\fR> <\fIfeature\fR>
+get operational status of \fIfeature\fR on interface \fIifname\fR.
+.TP
+\fBgp \fR<\fIifname\fR> <\fIfeature\fR>
+get peer configuration of \fIfeature\fR on interface \fIifname\fR.
+.TP
+\fBsc \fR<\fIifname\fR> <\fIfeature\fR> <\fIargs\fR>
+set the configuration of \fIfeature\fR on interface \fIifname\fR.
+.PP
+.I feature
+may be one of the following:
+.TP
+.B dcb
+DCB state of the port
+.TP
+.B pg
+priority groups
+.TP
+.B pfc
+priority flow control
+.TP
+\fBapp:\fR<\fIsubtype\fR>
+application specific data
+.TP
+\fBll:\fR<\fIsubtype\fR>
+logical link status
+.TP
+.B bcn
+backward congestion notification
+.PP
+.I subtype
+can be:
+.TP
+.BR "0" "|" "fcoe"
+Fiber Channel over Ethernet (FCoE)
+.PP
+.I args
+can include:
+.TP
+.BR "e:" "<" "0" "|" "1" ">"
+controls feature enable
+.TP
+.BR "a:" "<" "0" "|" "1" ">"
+controls whether the feature is advertised via DCBX to the peer
+.TP
+.BR "w:" "<" "0" "|" "1" ">"
+controls whether the feature is willing to change its operational
+configuration based on what is received from the peer
+.TP
+.RI "[" "feature specific args" "]"
+arguments specific to a DCB feature
+
+.PP
+Feature specific arguments for
+.BR "dcb" ":"
+.TP
+.BR "on" "|" "off"
+enable or disable
+.Bdcb
+for the interface. The
+.B go
+and
+.B gp
+commands are not needed for the
+.B dcb
+feature. Also, the
+.RI "enable(" "e" "), advertise(" "a" ") and willing(" "w" ")"
+arguments are not required.
+
+.PP
+Feature specific arguments for
+.BR "pg" ":"
+.TP
+.BI "pgid:" "xxxxxxxx"
+Priority group ID for the 8 priorities. From left to right
+(priorities 0-7),
+.I x
+is the corresponding priority group ID value, which
+can be
+.I 0-7
+for priority groups with bandwidth allocations or
+.I f
+(priority group ID 15) for the unrestricted priority group.
+
+.TP
+.BI "pgpct:" "x" "," "x" "," "x" "," "x" "," "x" "," "x" "," "x" "," "x"
+Priority group percentage of link bandwidth. From left to right
+(priority groups 0-7),
+.I x
+is the percentage of link bandwidth allocated
+to the corresponding priority group. The total bandwidth must equal 100%.
+
+.TP
+.BI "uppct:" "x" "," "x" "," "x" "," "x" "," "x" "," "x" "," "x" "," "x"
+Priority percentage of priority group bandwidth. From left to right
+(priorities 0-7),
+.I x
+is the percentage of priority group bandwidth
+allocated to the corresponding priority. The sum of percentages for
+priorities which belong to the same priority group must total 100% (except
+for priority group 15).
+
+.TP
+.BI "strict:" "xxxxxxxx"
+Strict priority setting. From left to right (priorities 0-7),
+.I x
+.RB "is " "0" " or " "1" ". " "1"
+indicates that the priority may utilize all of the bandwidth allocated to
+its priority group.
+
+.TP
+.BI "up2tc:" "xxxxxxxx"
+Priority to traffic class mapping. From left to right (priorities 0-7),
+.I x
+is the traffic class (0-7) to which the priority is mapped.
+
+.PP
+Feature specific arguments for
+.BR "pfc" ":"
+.TP
+.BI "pfcup:" "xxxxxxxx"
+Enable/disable priority flow control. From left to right
+(priorities 0-7),
+.I x
+.RB "is " "0" " or " "1" ". " "1"
+indicates that the corresponding priority is configured to transmit
+priority pause.
+
+.PP
+Feature specific arguments for \fBapp:\fR<\fIsubtype\fR>:
+.TP
+.BI "appcfg:" "xx"
+.I xx
+is a hexadecimal value representing an 8 bit bitmap where
+1 bits indicate the priorities which frames for the applications specified by
+.I subtype
+should use. The lowest order bit maps to priority 0.
+
+.PP
+Feature specific arguments for \fBll:\fR<\fIsubtype\fR>:
+.TP
+\fBstatus:\fR[\fB0\fR|\fB1\fR]
+For testing purposes, the logical link status may be set to 0 or 1. This
+setting is not persisted in the configuration file.
+
+.PP
+Feature specific arguments for
+.BR "bcn" ":"
+
+.TP
+.BI "rpadmin:" "xxxxxxxx"
+Priorities for which a BCN reaction point should be enabled. From left to
+right (priorities 0-7),
+.I x
+is 0 or 1.
+A 1 indicates that the corresponding priorities is enabled.
+
+.TP
+.BR "alpha:" "<" "0.0-1.0" ">"
+alpha - floating point value between 0 and 1
+
+.TP
+.BR "beta:" "<" "0.0-1.0" ">"
+beta -floating point value between 0 and 1
+
+.TP
+.BR "gd:" "<" "0.0-1.0" ">"
+decrement coefficient - floating point value between 0 and 1
+
+.TP
+.BR "gi:" "<" "0.0-1.0" ">"
+increment coefficient - floating point value between 0 and 1
+
+.TP
+.BR "tmax:" "<" "0-1000000" ">"
+max time to backoff after BCN0
+
+.TP
+.BR "td:" "<" "1-10000" ">"
+drift interval
+
+.TP
+.BR "rmin:" "<" "1-1000" ">"
+default rate after first BCN0
+
+.TP
+.BR "dw:" "<" "1-64" ">"
+derived weight (1 = 0.125)
+
+.TP
+.BR "rd:" "<" "1-100" ">"
+drift factor
+
+.TP
+.BR "ru:" "<" "1-100" ">"
+rate unit
+
+.TP
+.BR "wrtt:" "<" "0-10" ">"
+RTT moving average weight
+
+.TP
+.BR "ri:" "<" "0-10000" ">"
+initial rate
+
+.SH EXAMPLES
+
+.PP
+Enable DCB on interface \fIeth2\fR
+.PP
+.B dcbtool sc eth2 dcb on
+
+.PP
+Assign priorites 0-3 to priority group 0, priorites 4-6 to priority group 1 and
+priority 7 to the unrestricted priority. Also, allocate 25% of link
+bandwidth to priority group 0 and 75% to group 1.
+.PP
+.B dcbtool sc eth2 pg pgid:0000111f pgpct:25,75,0,0,0,0,0,0
+
+.PP
+Enable transmit of Priority Flow Control for priority 3 and assign FCoE to
+priority 3.
+.PP
+.B dcbtool sc eth2 pfc pfcup:00010000
+.br
+.B dcbtool sc eth2 app:0 appcfg:08
+
.SH LICENSE
-dcbd and dcbtool - DCB daemon and command line utility DCB configuration
+dcbtool - DCB configuration utility
+.br
Copyright(c) 2008 Intel Corporation.
.BR
-Portions of dcbd and dcbtool (basically program framework) are based on:
+Portions of dcbtool are based on:
.IP hostapd-0.5.7
.IP Copyright
(c) 2004-2008, Jouni Malinen <j@w1.fi>
@@ -149,6 +356,6 @@ The full GNU General Public License is i
the file called "COPYING".
.SH SUPPORT
Contact Information:
-e1000-dcb Mailing List <e1000-dcb@lists.sourceforge.net>
+e1000-eedc Mailing List <e1000-eedc@lists.sourceforge.net>
Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
diff -pur dcbd-0.9.2/dcbtool.c dcbd-0.9.2.2/dcbtool.c
--- dcbd-0.9.2/dcbtool.c 2008-12-02 17:36:20.000000000 -0800
+++ dcbd-0.9.2.2/dcbtool.c 2008-12-22 17:26:46.000000000 -0800
@@ -118,7 +118,7 @@ static const char *commands_help =
" 'feature' can be:\n"
" dcb DCB state of port\n"
" pg priority groups\n"
-" pfc priority groups\n"
+" pfc priority flow control\n"
" app:<subtype> application specific data\n"
" bcn backwards congestion notification\n"
" ll:<subtype> logical link status\n\n"
@@ -143,7 +143,7 @@ static const char *commands_help =
" [pgpct:x,x,x,x,x,x,x,x] priority group percent of link.\n"
" From left to right (priority groups 0-7),\n"
" x is the percentage of link bandwidth\n"
-" assigned the total must equal 100%.\n"
+" assigned. The total must equal 100%.\n"
" [uppct:x,x,x,x,x,x,x,x] user priority percent of bandwidth group.\n"
" From left to right (priorities 0-7),\n"
" x is the percentage of priority group\n"
@@ -211,13 +211,13 @@ static void usage(void)
" dcbtool -h\n"
" dcbtool -v\n"
" dcbtool [-rR] [ command ]\n"
- " dcbtool interactive mode\n"
+ " dcbtool interactive mode\n"
"\n"
"Options:\n"
- " -h help (show this usage text)\n"
- " -v shown version information\n"
- " -r show raw messages\n"
- " -R show only raw messages\n"
+ " -h help (show this usage text)\n"
+ " -v shown version information\n"
+ " -r show raw messages\n"
+ " -R show only raw messages\n"
"%s",
commands_help);
}
diff -pur dcbd-0.9.2/include/version.h dcbd-0.9.2.2/include/version.h
--- dcbd-0.9.2/include/version.h 2008-12-02 17:36:21.000000000 -0800
+++ dcbd-0.9.2.2/include/version.h 2008-12-22 17:26:48.000000000 -0800
@@ -28,7 +28,7 @@
#ifndef VERSION_H
#define VERSION_H
-#define VERSION_STR "0.9.2"
+#define VERSION_STR "0.9.2.2"
#define DCBTOOL_VERSION VERSION_STR
#endif /* VERSION_H */
diff -pur dcbd-0.9.2/lldp/rx.c dcbd-0.9.2.2/lldp/rx.c
--- dcbd-0.9.2/lldp/rx.c 2008-12-02 17:36:21.000000000 -0800
+++ dcbd-0.9.2.2/lldp/rx.c 2008-12-22 17:26:48.000000000 -0800
@@ -1106,6 +1106,10 @@ boolean_t unpack_dcbx2_tlvs(struct port
current += dcbtlv->length + sizeof(tl);
offset += dcbtlv->length;
switch(dcbtlv->type) {
+ case DCB_CONTROL_TLV:
+ if (port->rx.manifest->dcbx1 == NULL)
+ port->rx.manifest->dcbx_ctrl = dcbtlv;
+ break;
case DCB_PRIORITY_GROUPS_TLV2:
port->rx.manifest->dcbx_pg = dcbtlv;
break;
diff -pur dcbd-0.9.2/README dcbd-0.9.2.2/README
--- dcbd-0.9.2/README 2008-12-02 17:36:20.000000000 -0800
+++ dcbd-0.9.2.2/README 2008-12-22 17:26:47.000000000 -0800
@@ -1,7 +1,7 @@
Data Center Bridging (DCB) for Intel(R) Network Connections
===========================================================
-September 10, 2008
+December 19, 2008
Contents
========
@@ -27,28 +27,24 @@ was to provide QoS in software, as hardw
interfaces to support it. In 2.6.23, Intel pushed the notion of multiqueue
support into the qdisc layer. This provides a mechanism to map the software
queues in the qdisc structure into multiple hardware queues in underlying
-devices. In the case of Intel adapters, we leverage this combination to map
-qdisc queues into the queues within our hardware controllers.
+devices. In the case of Intel adapters, this mechanism is leveraged to map
+qdisc queues onto the queues within the hardware controllers.
Within the Data Center, the perception is that traditional Ethernet:
a) has high latency
-b) is prone to losing frames rendering it unacceptable for storage applications
+b) is prone to losing frames, rendering it unacceptable for storage applications
In an effort to address these issues, Intel and a host of industry leaders have
been working on addressing these problems. Specifically, within the IEEE 802.1
standards body there are a number of task forces working on enhancements to
-address these concerns. Listed below are the applicable standards bodies:
+address these concerns. Listed below are the applicable standards:
- Enhanced Transmission Selection
- Priority Groups: IEEE 802.1Qaz
- Lossless Traffic Class
- Priority Flow Control: IEEE 802.1Qbb
- Congestion Notification: IEEE 802.1Qau
- Improved bi-sectional bandwidth
- Shortest Path Bridging: IEEE 802.1Qaq / IETF TRILL
- Dynamic Configuration
- DCB Capability exchange protocol: In consideration in IEEE 802.
- 1Qtbd
+ Enhanced Transmission Selection
+ Priority Groups: IEEE 802.1Qaz
+ Lossless Traffic Class
+ Priority Flow Control: IEEE 802.1Qbb
+ Congestion Notification: IEEE 802.1Qau
+ DCB Capability exchange protocol: IEEE 802.1Qaz
The software solution that is being released represents Intel's implementation
of these efforts. It is worth noting that many of these standards have not been
@@ -59,19 +55,22 @@ solutions in development. As these solut
ratified, we will work with ecosystem partners and the standards body to ensure
that the Intel solution works as expected.
+
Requirements
============
-- Linux kernel version 2.6.27 or later.
-- Linux ixgbe driver version 1.3.31.2 or newer.
-- 2.6.23 or newer version of the "iproute2" package should be downloaded and
- installed from http://developer.osdl.org/dev/iproute2/download in
- order to obtain a multi-queue aware version of the 'tc' utility.
-- Version 2.5.33 of Flex should be installed (to support 2.6.23 version of
- iproute2). SLES10 is known to have an older version of Flex. The latest
+- Linux kernel version 2.6.29 or later.
+- Linux ixgbe driver (for Intel 82598-based adapters) from kernel 2.6.29 or
+ later.
+- 2.6.29 or newer version of the "iproute2" package should be downloaded and
+ installed in order to obtain a multi-queue aware version of the 'tc' utility.
+ Check for new versions at:
+ http://www.linuxfoundation.org/en/Net:Iproute2
+- Version 2.5.33 of Flex should be installed (to support iproute2).
+ SLES10 is known to have an older version of Flex. The latest
Flex source can be obtained from http://flex.sourceforge.net/
- An up to date netlink library needs to be installed in order to compile dcbd.
-- 82598-based Intel adapter.
+- An 82598-based Intel adapter.
Functionality
=============
@@ -79,22 +78,33 @@ Functionality
dcbd
- Executes the DCB capabilities exchange protocol to exchange DCB
configuration with the peer device using LLDP.
- - Supports DCBX versions 1 and 2
+ - Supports the versions of the DCB capabilities exchange protocol
+ described here:
+ - version 1
+ <http://download.intel.com/technology/eedc/dcb_cep_spec.pdf>
+ and here:
+ - version 2
+ <http://www.ieee802.org/1/files/public/docs2008/az-wadekar-dcbx-
+ capability-exchange-discovery-protocol-1108-v1.01.pdf>
- Retrieves and stores DCB configuration to a configuration file.
- Controls the DCB settings of the network driver based on the
- operation of the DCB capabilities exchange protocol.
- - Detects and reacts to link up and link down events on network ports
- - Supports the Priority Group, Priority Flow Control and App TLV (FCoE,
- subtype 0) features.
- - Generates client interface events when the operational configuration
- or state of a feature changes.
+ operation of the DCB capabilities exchange protocol. Interaction with
+ a supporting network driver is achieved via DCB operations added to the
+ rtnetlink interface in kernel 2.6.29.
+ - Detects and reacts to link up and link down events on network ports.
+ - Supports the following DCB features: Priority Group,
+ Priority Flow Control, FCoE, and FCoE Logical Link Status.
+ - Provides an interface for client applications to query and configure
+ DCB features. Generates client interface events when the operational
+ configuration or state of a feature changes.
dcbtool
- Interacts with dcbd via the client interface.
- Queries the state of the local, operational and peer configuration for
- the Priority Group, Priority Flow Control and App TLV features.
+ the supported DCB features.
+ - Supports configuring the supported DCB features.
- Interactive mode allows multiple commands to be entered interactively,
- as well as displaying asynchronous events.
+ as well as displaying event messages.
- Enables or disables DCB for an interface.
How To Build a DCB-Capable System
@@ -103,59 +113,56 @@ How To Build a DCB-Capable System
Linux kernel install:
---------------------
-1. Requires 2.6.27 kernel.
+1. Requires 2.6.29 kernel.
2. Untar and make the kernel. Listed below are the required kernel options:
Required configuration options:
From make menu config
-a.In the Device Drivers, Network device support menu
- Select Netdevice multiple hardware queue support.
-b. In the Networking, Network Options, QoS menu
- Select Hardware Multiqueue-aware Multi Band Queuing (MULTIQ)
- Select Multi Band Priority Queueing (PRIO)
- Select Elementary classification ( BASIC )
- Select Universal 32bit comparisons w/ hashing (U32)
- Select Extended Matches and make sure U32 key is selected
- Select Actions -> SKB Editing
-
+a. In Networking support -> Networking options, enable Data Center Bridging
+b. In Networking support -> Networking options -> QoS and/or fair queuing,
+ enable:
+ Hardware Multiqueue-aware Multi Band Queuing (MULTIQ)
+ Multi Band Priority Queueing (PRIO)
+ Elementary classification ( BASIC )
+ Universal 32bit comparisons w/ hashing (U32)
+ Extended Matches and make sure U32 key is selected
+ Actions -> SKB Editing
+c. To enable ixgbe driver support for DCB,
+ In Device Drivers -> Network device support -> Ethernet (10000 Mbit)
+ enable Intel(R) 10GbE PCI Express adapters support and the
+ Data Center Bridging (DCB) Support option
+
3. Build the kernel.
+
4. Create a link from /usr/include/linux to
/usr/src/kernels/linux-2.x.xx.x/include/linux. Use the following command:
ln -s /usr/src/kernels/linux-2.x.xx.x/include/linux /usr/include/linux.
-ixgbe Base Driver Install
--------------------------
-
-1. Download the ixgbe driver from the e1000 project in Sourceforge.
- Please ensure the driver version is TBD or later.
-2. Build & install as outlined in the ixgbe readme.
- (tar zxvf ixgbe-xxx; make; make install).
dcbd Application Install
------------------------
-1. Download iproute2 from the web. Listed below is a link for iproute:
-
- http://devresources.linux-foundation.org/dev/iproute2/download/.
-
+1. Download iproute2 from the web.
+ See: http://www.linuxfoundation.org/en/Net:Iproute2
Please ensure that you use the version that corresponds to the kernel
- verison that you are using. Follow the build/installation instructions
- in the README with the tarball. Typically, the commands
- ./configure;make;make install should work.
+ version that you are using. Follow the build/installation instructions
+ in the README. Typically, the commands:
+ ./configure; make; make install
+ will work.
-2. Download the latest version dcbd-x.y.z tarball from the e1000 project in
- sourceforge and untar it. Go into the dcbd-x.y.z directory and run
+2. Download the latest version of the dcbd-x.y.z tarball from the e1000 project
+ in Sourceforge and untar it. Go into the dcbd-x.y.z directory and run
the following commands
make clean; make; make install.
This will build and copy 'dcbd' and 'dcbtool' to /usr/sbin, make the
- '/etc/sysconfig/dcbd'directory (default location of the dcbd.conf file)
+ '/etc/sysconfig/dcbd' directory (default location of the dcbd.conf file)
and setup dcbd to run as a system service using the chkconfig program.
- Verify that the dcbd service is working as expected with the 'service dcbd
- status' command. If the service is not on, issue the command 'service dcbd
- start'
+ Verify that the dcbd service is working as expected with the
+ 'service dcbd status' command. If the service is not on, issue the command
+ 'service dcbd start'
dcbd will create the dcbd.conf file if it does not exist.
@@ -182,7 +189,8 @@ SETUP:
dcbd start" to start.
Or, run "dcbd -d" from the command line to start.
-3. Enable DCB on the selected ixgbe port: dcbtool sc ethX dcb on
+3. Enable DCB on the selected ixgbe port:
+ dcbtool sc ethX dcb on
4. The dcbtool command can be used to query and change the DCB configuration
(ie., various percentages to different queues). Use dcbtool -h to see a
@@ -191,243 +199,286 @@ SETUP:
Operation
=========
-The 'tc' command is used to setup the qdisc and filters to cause network
-traffic to be transmitted on different queues.
+dcbd and dcbtool can be used to configure a DCB capable driver, such as
+the ixgbe driver, which supports the rtnetlink DCB interface. Once the
+DCB features are configured, the next step is to classify traffic to be
+identified with an 802.1p priority and the associated DCB features. This can
+be done by using the 'tc' command to setup the qdisc and filters to cause
+network traffic to be transmitted on different queues.
+
+The skbedit action mechanism can be used in a tc filter to classify traffic
+patterns to a specific queue_mapping value from 0-7. The ixgbe driver will
+place traffic with a given queue_mapping value onto the corresponding hardware
+queue and tag the outgoing frames with the corresponding 802.1p priority value.
-To configure the MULTIQ qdisc to have 8 bands:
+Set up the multi-queue qdisc for the selected interface:
# tc qdisc add dev ethX root handle 1: multiq
-Using the Flow id as the target in a TC filter allows you to classify a packet
-into a band. Here are some examples of how to filter traffic into various
-bands using the flow ids:
+Setting the queue_mapping in a TC filter allows the ixgbe driver to classify a
+packet into a queue. Here are some examples of how to filter traffic into
+various queues using the flow ids:
# tc filter add dev ethX protocol ip parent 1: u32 match ip dport 80 \
-0xffff action skbedit queue_mapping 1
+0xffff action skbedit queue_mapping 0
# tc filter add dev ethX protocol ip parent 1: u32 match ip dport 53 \
-0xffff action skbedit queue_mapping 2
+0xffff action skbedit queue_mapping 1
# tc filter add dev ethX protocol ip parent 1: u32 match ip dport 5001 \
-0xffff action skbedit queue_mapping 3
-
-# tc filter add dev ethX protocol ip parent 1: u32 match ip dport 22 \
-0xffff action skbedit queue_mapping 4
-
-# tc filter add dev ethX protocol ip parent 1: u32 match ip dport 137 \
-0xffff action skbedit queue_mapping 5
-
-# tc filter add dev ethX protocol ip parent 1: u32 match ip dport 138 \
-0xffff action skbedit queue_mapping 5
-
-# tc filter add dev ethX protocol ip parent 1: u32 match ip dport 139 \
-0xffff action skbedit queue_mapping 5
-
-# tc filter add dev ethX protocol ip parent 1: u32 match ip dport 25 \
-0xffff action skbedit queue_mapping 6
-
-# tc filter add dev ethX protocol ip parent 1: u32 match ip dport 21 \
-0xffff action skbedit queue_mapping 7
+0xffff action skbedit queue_mapping 2
# tc filter add dev ethX protocol ip parent 1: u32 match ip dport 20 \
-0xffff action skbedit queue_mapping 8
+0xffff action skbedit queue_mapping 7
Here is an example that sets up a filter based on EtherType. In this example,
the EtherType is 0x8906.
# tc filter add dev ethX protocol 802_3 parent 1: handle 0xfc0e basic match \
-'cmp(u16 at 12 layer 1 mask 0xffff eq 35078)' action skbedit queue_mapping 4
+'cmp(u16 at 12 layer 1 mask 0xffff eq 35078)' action skbedit queue_mapping 3
+
Testing
=======
To test in a back-to-back setup, use the following tc commands to setup the
-qdisc and filters for TCP ports 5000 through 5007.
+qdisc and filters for TCP ports 5000 through 5007. Then use a tool, such as
+iperf, to generate UDP or TCP traffic on ports 5000-5007.
+
+Statistics for each queue of the ixgbe driver can be checked using the
+ethtool utility: ethtool -S ethX
# tc qdisc add dev ethX root handle 1: multiq
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip dport 5000 0xffff action skbedit queue_mapping 1
+u32 match ip dport 5000 0xffff action skbedit queue_mapping 0
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip sport 5000 0xffff action skbedit queue_mapping 1
+u32 match ip sport 5000 0xffff action skbedit queue_mapping 0
-# tc filter add dev ethx protocol ip parent 1: \
-u32 match ip dport 5001 0xffff action skbedit queue_mapping 2
+# tc filter add dev ethX protocol ip parent 1: \
+u32 match ip dport 5001 0xffff action skbedit queue_mapping 1
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip sport 5001 0xffff action skbedit queue_mapping 2
+u32 match ip sport 5001 0xffff action skbedit queue_mapping 1
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip dport 5002 0xffff action skbedit queue_mapping 3
+u32 match ip dport 5002 0xffff action skbedit queue_mapping 2
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip sport 5002 0xffff action skbedit queue_mapping 3
+u32 match ip sport 5002 0xffff action skbedit queue_mapping 2
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip dport 5003 0xffff action skbedit queue_mapping 4
+u32 match ip dport 5003 0xffff action skbedit queue_mapping 3
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip sport 5003 0xffff action skbedit queue_mapping 4
+u32 match ip sport 5003 0xffff action skbedit queue_mapping 3
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip dport 5004 0xffff action skbedit queue_mapping 5
+u32 match ip dport 5004 0xffff action skbedit queue_mapping 4
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip sport 5004 0xffff action skbedit queue_mapping 5
+u32 match ip sport 5004 0xffff action skbedit queue_mapping 4
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip dport 5005 0xffff action skbedit queue_mapping 6
+u32 match ip dport 5005 0xffff action skbedit queue_mapping 5
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip sport 5005 0xffff action skbedit queue_mapping 6
+u32 match ip sport 5005 0xffff action skbedit queue_mapping 5
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip dport 5006 0xffff action skbedit queue_mapping 7
+u32 match ip dport 5006 0xffff action skbedit queue_mapping 6
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip sport 5006 0xffff action skbedit queue_mapping 7
+u32 match ip sport 5006 0xffff action skbedit queue_mapping 6
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip dport 5007 0xffff action skbedit queue_mapping 8
+u32 match ip dport 5007 0xffff action skbedit queue_mapping 7
# tc filter add dev ethX protocol ip parent 1: \
-u32 match ip sport 5007 0xffff action skbedit queue_mapping 8
+u32 match ip sport 5007 0xffff action skbedit queue_mapping 7
+
dcbtool Overview
=================
+ dcbtool is used to query and set the DCB settings of a DCB capable Ethernet
+ interface. It connects to the client interface of dcbd to perform these
+ operations. dcbtool will operate in interactive mode if it is executed
+ without a command. In interactive mode, dcbtool also functions as an event
+ listener and will print out events received from dcbd as they arrive.
+
+ SYNOPSIS
+ dcbtool -h
+ dcbtool -v
+ dcbtool [-rR]
+ dcbtool [-rR] [command] [command arguments]
+
+ OPTIONS
+ -h shows the dcbtool usage message
+
+ -v shows dcbtool version information
+
+ -r displays the raw dcbd client interface messages as well as the
+ readable output.
+
+ -R displays only the raw dcbd client interface messages
+
+ COMMANDS
+ help shows the dcbtool usage message
+
+ ping test command. The dcbd daemon responds with "PONG" if the
+ client interface is operational.
+
+ license
+ displays dcbtool license information
+
+ quit exits from interactive mode
+
+ The following commands interact with the dcbd daemon to manage the dae-
+ mon and DCB features on DCB capable interfaces.
+
+ dcbd general configuration commands:
+ ------------------------------------
+ <gc|go> dcbx
+ gets the configured or operational version of the DCB capabili-
+ ties exchange protocol. If different, the configured version
+ will take effect (and become the operational version) after dcbd
+ is restarted.
+
+ sc dcbx v:[1|2]
+ sets the version of the DCB capabilities exchange protocol which
+ will be used the next time dcbd is started. Information about
+ version 1 can be found at:
+ <http://download.intel.com/technology/eedc/dcb_cep_spec.pdf>
+ Information about version 2 can be found at:
+ <http://www.ieee802.org/1/files/public/docs2008/az-wadekar-dcbx-
+ capability-exchange-discovery-protocol-1108-v1.01.pdf>
+
+ DCB-per interface commands:
+ ---------------------------
+ gc <ifname> <feature>
+ gets configuration of feature on interface ifname.
+
+ go <ifname> <feature>
+ gets operational status of feature on interface ifname.
+
+ gp <ifname> <feature>
+ gets peer configuration of feature on interface ifname.
+
+ sc <ifname> <feature> <args>
+ sets the configuration of feature on interface ifname.
+
+ feature may be one of the following:
+ ------------------------------------
+ dcb DCB state of the port
+
+ pg priority groups
+
+ pfc priority flow control
+
+ app:<subtype>
+ application specific data
+
+ ll:<subtype>
+ logical link status
+
+ subtype can be:
+ ---------------
+ 0|fcoe Fiber Channel over Ethernet (FCoE)
+
+ args can include:
+ -----------------
+ e:<0|1>
+ controls feature enable
+
+ a:<0|1>
+ controls whether the feature is advertised via DCBX to the peer
+
+ w:<0|1>
+ controls whether the feature is willing to change its opera-
+ tional configuration based on what is received from the peer
+
+ [feature specific args]
+ arguments specific to a DCB feature
+
+ Feature specific arguments for dcb:
+ -----------------------------------
+ on|off enable or disable for the interface. The go and gp commands are
+ not needed for the dcb feature. Also, the enable, advertise and
+ willing" parameters are not required.
+
+ Feature specific arguments for pg:
+ ----------------------------------
+ pgid:xxxxxxxx
+ Priority group ID for the 8 priorities. From left to right
+ (priorities 0-7), x is the corresponding priority group ID
+ value, which can be 0-7 for priority groups with bandwidth allo-
+ cations or f (priority group ID 15) for the unrestricted prior-
+ ity group.
+
+ pgpct:x,x,x,x,x,x,x,x
+ Priority group percentage of link bandwidth. From left to right
+ (priority groups 0-7), x is the percentage of link bandwidth
+ allocated to the corresponding priority group. The total band-
+ width must equal 100%.
+
+ uppct:x,x,x,x,x,x,x,x
+ Priority percentage of priority group bandwidth. From left to
+ right (priorities 0-7), x is the percentage of priority group
+ bandwidth allocated to the corresponding priority. The sum of
+ percentages for priorities which belong to the same priority
+ group must total 100% (except for priority group 15).
+
+ strict:xxxxxxxx
+ Strict priority setting. From left to right (priorities 0-7), x
+ is 0 or 1. 1 indicates that the priority may utilize all of the
+ bandwidth allocated to its priority group.
+
+ up2tc:xxxxxxxx
+ Priority to traffic class mapping. From left to right (priori-
+ ties 0-7), x is the traffic class (0-7) to which the priority is
+ mapped. (This setting is ignored for Intel 82598-based
+ adapters.)
+
+ Feature specific arguments for pfc:
+ -----------------------------------
+ pfcup:xxxxxxxx
+ Enable/disable priority flow control. From left to right (pri-
+ orities 0-7), x is 0 or 1. 1 indicates that the corresponding
+ priority is configured to transmit priority pause.
+
+ Feature specific arguments for app:< subtype>:
+ ----------------------------------------------
+ appcfg:xx
+ xx is a hexadecimal value representing an 8 bit bitmap where รข
+ bits indicate the priority which frames for the applications
+ specified by subtype should use. The lowest order bit maps to
+ priority 0.
+
+ Feature specific arguments for ll:<subtype>:
+ --------------------------------------------
+ status:[0|1]
+ For testing purposes, the logical link status may be set to 0 or
+ 1. This setting is not persisted in the configuration file.
+
+
+ EXAMPLES
+ Enable DCB on interface eth2
+
+ dcbtool sc eth2 dcb on
+
+ Assign priorities 0-3 to priority group 0, priorities 4-6 to priority
+ group 1 and priority 7 to the unrestricted priority. Also, allocate
+ 25% of link bandwidth to priority group 0 and 75% to group 1.
-dcbtool is a tool to query and set the DCB settings of an Ethernet device.
+ dcbtool sc eth2 pg pgid:0000111f pgpct:25,75,0,0,0,0,0,0
-Options
--------
+ Enable transmit of Priority Flow Control for priority 3 and assign FCoE
+ to priority 3.
-The basic usage of dcbtool is:
- dcbtool [options] <cmd> [cmd arguments]
+ dcbtool sc eth2 pfc pfcup:00010000
+ dcbtool sc eth2 app:0 appcfg:08
-If no command is specified, then dcbtool will enter an interactive mode which
-allows commands to be entered interactively. When invoked in interactive
-mode, dcbtool will also register with dcbd as an event monitor.
-
--h shows the dcbtool usage message
--v shows dcbtool version information
-
-Commands
---------
-
-help shows the dcbtool usage message
-
-level <value> sets the threshold dcbd uses to send event messages to this
- interface.
- Levels are:
- 0: MSG_DUMP - for dcbd debugging
- 1: MSG_DEBUG - for dcbd debugging
- 2: MSG_INFO - for free form dcbd informational
- messages
- 3: MSG_WARNING - for free form dcbd warning
- messages
- 4: MSG_DCB - for formated DCB event messages
-
-ping test command. dcbd responds with "PONG"
-
-license displays dcbtool license information
-
-quit exit from interactive mode
-
-gc <ifname> <dcb | pg | pfc | app:<subtype>>
- Get configuration command. Returns the local configuration for
- the specified interface and DCB feature. Features are:
- dcb - DCB state of port
- pg - priority groups
- pfc - priority flow control
- app:<subtype> - application with subtypes:
- fcoe
-
-go <ifname> <pg | pfc | app:<subtype>>
- Get operational status command. Returns the current DCB
- operational status and configuration for the specified
- interface and DCB feature.
-
-gp <ifname> <pg | pfc | app:<subtype>>
- Get peer status command. Returns the current DCB status
- and configuration for the DCB peer of the specified interface
- and DCB feature.
-
-sc <ifname> dcb <on | off>
- Set the DCB state of the port.
-
-sc <ifname> <pg | pfc | app:<subtype>> [a:<0|1>] [e:<0|1>] [w:<0|1>]
- [feature attributes]
- Set configuration command. Allows setting, per DCB feature,
- the following:
- a:<0|1> - enable/disable advertising the feature via DCB
- e:<0|1> - enable/disable the DCB feature
- w:<0|1> - enable/disable willing flag for the feature
- If one of the above parameters is not specified in the set
- config command, then the DCB feature attributes must be
- specified.
-
- pg - priority group attributes
- Priority group attributes which are not supplied will remain
- unchanged. Except for the 'uppct'. If 'uppct' is not
- supplied and the resulting percentages within each PGID do
- not add up to 100%, then dcbd will compute new user priority
- percentages for each PGID so that the sum for each PGID is
- 100%.
-
- up2tc:<0-7><0-7><0-7><0-7><0-7><0-7><0-7><0-7>
- This is the user priority to traffic class mapping parameter.
- If not specified, the default value is "01234567".
-
- pgid:<0-7F><0-7F><0-7F><0-7F><0-7F><0-7F><0-7F><0-7F>
- This is the priority group ID mapping. From left to right,
- each number indicates the priority group ID to which the
- corresponding user priority, starting with zero, belongs.
- A value of 'F' (0xF) indicates that the user priority
- belongs to the link strict group.
-
- pgpct:<0-100>,<0-100>,<0-100>,<0-100>,<0-100>,<0-100>,<0-100>,
- <0-100>
- This is the priority group bandwidth percentage of link
- setting. From left to right, each number indicates the
- percentage of total link bandwidth which is allocated to the
- corresponding priority group ID, starting with zero.
-
- uppct:<0-100>,<0-100>,<0-100>,<0-100>,<0-100>,<0-100>,<0-100>,
- <0-100>
- This is the user priority bandwidth percentage of bandwidth
- group setting. From left to right, each number indicates the
- percentage of total priority group bandwidth which is
- allocated to the corresponding user priority, starting with
- zero.
-
- strict:<0-2><0-2><0-2><0-2><0-2><0-2><0-2><0-2>
- This is the strict priority settings for each user priority.
-
- From left to right, each number indicates the strict priority
- setting for each user priority, starting with zero. A value
- of 0 represents no strict priority setting, 1 represents group
- strict.
-
- pfc - priority flow control attributes
-
- pfcup:<0|1><0|1><0|1><0|1><0|1><0|1><0|1><0|1>
- This is the priority flow control enable setting per user
- priority. From left to right, each number indicates the enable
- setting of priority flow control for the corresponding user
- priority, starting from zero. 0 means disabled, 1 means
- enabled.
-
- app - application attributes
-
- appcfg:<xx>
- This represents the application settings for the specified
- application subtype. Assuming that the application attribute
- setting is an arbitrary sequence of bytes of a given length,
- the setting is supplied to dcbtool by representing each byte as
- a 2 character hexadecimal string. Thus, if the application
- attribute setting is the value 0x5a, the dcbtool attribute
- would be "appcfg:5a"
FAQ
===
@@ -444,7 +495,7 @@ FAQ
Known Issues
============
-- Prior to kernel 2.6.26, tso will be disabled when the driver is put into DCB
+- Prior to kernel 2.6.26, TSO will be disabled when the driver is put into DCB
mode.
- A TX unit hang may be observed when link strict priority is set when a large
diff -pur dcbd-0.9.2/SUMS dcbd-0.9.2.2/SUMS
--- dcbd-0.9.2/SUMS 2008-12-02 17:36:22.000000000 -0800
+++ dcbd-0.9.2.2/SUMS 2008-12-22 17:26:48.000000000 -0800
@@ -1,4 +1,4 @@
-53544 3 dcbd7
+14460 4 dcbd7
56524 36 clif_cmds.c
23104 2 libconfig/Makefile
61336 131 libconfig/libconfig-1.3.1.patch
@@ -8,7 +8,7 @@
28010 10 common.c
57774 9 ctrl_iface.c
21712 23 dcbtool_cmds.c
-45810 19 dcbtool.c
+29449 19 dcbtool.c
01403 6 clif.c
39773 19 COPYING
23984 30 nltest.c
@@ -17,8 +17,8 @@
28102 24 parse_cli.c
13564 12 dcb_rule_chk.cpp
56189 4 os_unix.c
-49466 19 README
-62150 7 dcbtool7
+58993 20 README
+36764 9 dcbtool7
25349 21 drv_cfg.c
28671 126 dcb_protocol.cpp
62067 3 include/ctrl_iface.h
@@ -33,7 +33,7 @@
08794 7 include/clif_cmds.h
08101 7 include/clif.h
44799 2 include/config.h
-03546 2 include/version.h
+11404 2 include/version.h
27192 3 include/messages.h
41092 12 include/common.h
55964 2 include/dcb_osdep.h
@@ -45,7 +45,7 @@
21949 2 include/event_iface.h
50008 11 include/dcb_types.h
09063 3 include/parse_cli.h
-44070 2 dcbd.spec
+46738 2 dcbd.spec
04129 7 dcbd.init
52219 8 event_iface.c
62795 4 nltest.h
@@ -56,7 +56,7 @@
08229 2 lldp/agent.h
15669 2 lldp/Makefile
44452 10 lldp/ports.c
-58821 46 lldp/rx.c
+38179 46 lldp/rx.c
24608 5 lldp/ports.h
48526 25 lldp/tlv.c
15542 2 lldp/mibdata.h