Options, Setup, Operation – Dell Intel PRO Family of Adapters User Manual
Page 23: Testing, Dcbx operation

Options
lldpad has the following command line options:
-h
show usage information
-f
configfile: use the specified file as the config file instead of the default file - /etc/sysconfig/dcbd/dcbd.conf
-d
run dcbd as a daemon
-v
show dcbd versionSetup
-k
terminate current running lldpad
-s
remove lldpad state records
Setup
1. Load the ixgbe module.
2. Verify lldpad service is functional. If lldpad was installed, do "service lldpad status" to check, "service lldpad start" to
start, or run "lldpad -d" from the command line to start.
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 (for example, various percentages to
different queues). Use dcbtool -h to see a list of options.
DCBX Operation
lldpad 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 set up 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.
Set up the multi-queue qdisc for the selected interface:
# tc qdisc add dev ethX root handle 1: multiq
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 0
# tc filter add dev ethX protocol ip parent 1: u32 match ip dport 53 \
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 2
# tc filter add dev ethX protocol ip parent 1: u32 match ip dport 20 \
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 3
Testing
To test in a back-to-back setup, use the following tc commands to set up the 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 0