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
openSUSE Build Service is sponsored by