Provided by: lldpad_1.1-1_amd64 bug


       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 respectively.


              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

       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 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


       o      IEEE 802.1Qaz (


       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