Options, Setup, Operation – Dell Intel PRO Family of Adapters User Manual

Page 23: Testing, Dcbx operation

Advertising
background image

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

Advertising