lldptool(8)                          Linux                         lldptool(8)

       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 }

       lldptool -T -i ethx -V ETS-CFG CONFIG_ARG=value ...

           CONFIG_ARG :=

            enableTx = {yes|no} |

            willing = {yes|no} |

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

            up2tc = priority:tc,... |

            tcbw = bw1,bw2,...

       lldptool -t -i ethx -V ETS-REC <-c CONFIG_ARG ...>

       lldptool -T -i ethx -V ETS-REC CONFIG_ARG=value ...

           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

              Enables the ETS TLV to be transmitted

              Sets the ETS-CFG willing bit

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

       up2tc  Comma separated list mapping user priorities to traffic classes.

       tcbw   Comma separated list of bandwidths 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 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 DCBX (CIN or CEE) the ETS-CFG and ETS-REC TLVs are
       disabled if a legacy DCBX TLV is received and no valid IEEE DCBX TLVs
       are received. The hardware DCBX mode will also be set to the legacy
       mode 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.  See lldpad(8) for more
       information about the operation of the DCBX selection mechanism.

       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. The net_prio cgroup can be
       used to assign application traffic to specific priorities.  See the
       kernel documentation and cgdcbxd(8) for net_prio cgroup information.

       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

       Configure 1:1 mapping from priority to traffic classes on eth2
              lldptool -T -i eth2 -V ETS-CFG

       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

              lldptool -T -i eth2 -V ETS-REC

       o      IEEE 802.1Qaz (http://www.ieee802.org/1/pages/dcbridges.html)

       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.

       lldptool(8), lldptool-app(8), lldpad(8), tc-mqprio(8),

       John Fastabend

open-lldp                        February 2010                     lldptool(8)