User Tools

Site Tools




ETS-{CFG|REC} - Show / manipulate ETS TLV configuration


lldptool -t -i ethx -V ETS-CFG < -c CONFIG_ARG …>

CONFIG_ARG := { enableTx | willing | tsa | up2tc | numtcs | tcbw }



enableTx = {yes|no} |

willing = {yes|no} |

tsa = tc:{ets|strict|vendor},… |

up2tc = priority:tc,… |

tcbw = bw1,bw2,…

< -c CONFIG_ARG …>



enableTx = {yes|no} |

tsa = tc:{ets|strict|vendor},… |

up2tc = priority:tc,… |

tcbw = bw1,bw2,…


The Enhanced Transmission Selection (ETS) feature has a recommendation TLV and a configuration TLV configured with ETS-REC and ETS-CFG respectively.


enableTx Enables the ETS TLV to be transmitted

willing Sets the ETS-CFG willing bit

tsa Transmission selection algorithm, sets a comma seperated list of traffic classes to the corresponding selection algorithm. Valid algorithms include “ets”, “strict” and “vendor”.

up2tc Comma seperated list mapping user priorities to traffic classes.

tcbw Comma separated list of bandwiths for each traffic class the first value being assigned to traffic class 0 and the second to traffic class 1 and so on. Undefined bandwidths are presumed to be 0.

numtcs Sets/Displays the number of ETS supported traffic classes.

Theory of Operations

IEEE 802.1Qaz is enabled by default on hardware that supports this mode indicated by support for the DCBNL interface. Kernel config option CONFIG_DCB. The ETS-CFG TLV is advertised by default with the attributes indicated by querying the hardware for its current configuration. A valid configuration is to map all priorities to a single traffic class and use the link strict selection algorithm. This is equivalent to being in a non-DCB enabled mode.

To support legacy CEE DCBX the ETS-CFG and ETS-REC TLVs are disabled if a CEE TLV is received and there are no valid IEEE 802.1Qaz TLVs present. At this time the hardware DCBX mode will be set to CEE and IEEE mode is disabled. This allows switches to be configured and end nodes will then be configured accordingly without any configuration required on the end node.

Mapping applications and protocols to traffic classes is required for ETS to be useful. User space programs can encode the priority of an application with the SO_PRIORITY option. Low level drivers that support priority to traffic class mappings may enable this mode by default. For drivers that do not support this mode manual configuration can support this mode of operation see tc-mqprio(8) and tc-multiq. Additionally, tc qdiscs and filters can be used to map protocols to queues see tc(8) for more details along these lines. Finally, many drivers have support for specific protocols ie Fiber Channel over Ethernet (FCoE).


Configure willing bit for interface eth2

lldptool -T -i eth2 -V ETS-CFG willing=yes

Configure traffic classes for ETS and strict priority on eth2

lldptool -T -i eth2 -V ETS-CFG tsa=0:ets,1:ets,2:ets,3:ets,4:strict,5:strict

Configure 1:1 mapping from priority to traffic classes on eth2

lldptool -T -i eth2 -V ETS-CFG up2tc=0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7

Display local configured ETS-CFG parameters for tcbw

lldptool -t -i eth2 -V ETS-CFG -c tcbw

Display last transmitted ETS-CFG TLV

lldptool -t -i eth2 -V ETS-CFG

Configure ETS-CFG and ETS-REC for default DCB on eth2

lldptool -T -i eth2 -V ETS-CFG tsa=0:ets,1:ets,2:ets,3:ets,4:ets,5:ets,6:ets,7:ets up2tc=0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7 tcbw=12,12,12,12,13,13,13,13

lldptool -T -i eth2 -V ETS-REC tsa=0:ets,1:ets,2:ets,3:ets,4:ets,5:ets,6:ets,7:ets up2tc=0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7 tcbw=12,12,12,12,13,13,13,13



Support for tc-mqprio was added in 2.6.38 on older kernels other mechanisms may need to be used to map applications to traffic classes.



John Fastabend

This document was created by man2html, using the manual pages.

Time: 20:18:51 GMT, January 24, 2013

lldptool-ets.txt · Last modified: 2013/01/24 12:21 by rbbratta