tc-cbs(8) - phpMan

Command: man perldoc info search(apropos)  


CBS(8)                                        Linux                                        CBS(8)

NAME
       CBS - Credit Based Shaper (CBS) Qdisc

SYNOPSIS
       tc  qdisc  ...  dev dev parent classid [ handle major: ] cbs idleslope idleslope sendslope
       sendslope hicredit hicredit locredit locredit [ offload 0|1 ]

DESCRIPTION
       The CBS (Credit Based Shaper) qdisc implements the shaping algorithm defined by  the  IEEE
       802.1Q-2014  Section  8.6.8.2,  which  applies  a well defined rate limiting method to the
       traffic.

       This queueing discipline is intended to be used by TSN (Time Sensitive Networking)  appli-
       cations,  the  CBS  parameters are derived directly by what is described by the Annex L of
       the IEEE 802.1Q-2014 Specification. The algorithm and how it affects the latency  are  de-
       tailed there.

       CBS  is  meant  to  be  installed  under  another  qdisc that maps packet flows to traffic
       classes, one example is mqprio(8).

PARAMETERS
       idleslope
              Idleslope is the rate of credits that is accumulated (in kilobits per second)  when
              there  is  at  least  one packet waiting for transmission.  Packets are transmitted
              when the current value of credits is equal or greater than zero. When there  is  no
              packet  to  be  transmitted  the amount of credits is set to zero. This is the main
              tunable of the CBS algorithm and represents the bandwidth that  will  be  consumed.
              Note  that  when  calculating idleslope, the entire packet size must be considered,
              including headers from all layers (i.e. MAC framing and any overhead from the phys-
              ical layer), as described by IEEE 802.1Q-2014 section 34.4.

              As  an  example,  for  an ethernet frame carrying 284 bytes of payload, and with no
              VLAN tags, you must add 14 bytes for the Ethernet headers, 4 bytes  for  the  Frame
              check  sequence  (CRC),  and  20 bytes for the L1 overhead: 12 bytes of interpacket
              gap, 7 bytes of preamble and 1 byte of start of frame delimiter.  That  results  in
              322  bytes for the total packet size, which is then used for calculating the idles-
              lope.

       sendslope
              Sendslope is the rate of credits that is depleted (it should be a  negative  number
              of  kilobits  per second) when a transmission is occurring. It can be calculated as
              follows, (IEEE 802.1Q-2014 Section 8.6.8.2 item g):

              sendslope = idleslope - port_transmit_rate

       hicredit
              Hicredit defines the maximum amount of credits (in bytes) that can be  accumulated.
              Hicredit  depends  on  the  characteristics  of interfering traffic, 'max_interfer-
              ence_size' is the maximum size of any burst of traffic that can delay the transmis-
              sion  of  a  frame that is available for transmission for this traffic class, (IEEE
              802.1Q-2014 Annex L, Equation L-3):

              hicredit = max_interference_size * (idleslope / port_transmit_rate)

       locredit
              Locredit is the minimum amount of credits that can be reached. It is a function  of
              the traffic flowing through this qdisc (IEEE 802.1Q-2014 Annex L, Equation L-2):

              locredit = max_frame_size * (sendslope / port_transmit_rate)

       offload
              When  offload  is  1, cbs(8) will try to configure the network interface so the CBS
              algorithm runs in the controller. The default is 0.

EXAMPLES
       CBS is used to enforce a Quality of Service by limiting the data rate of a traffic  class,
       to  separate  packets into traffic classes the user may choose mqprio(8), and configure it
       like this:

       # tc qdisc add dev eth0 handle 100: parent root mqprio num_tc 3 \
            map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \
            queues 1@0 1@1 2@2 \
            hw 0

       To replace the current queuing disciple by CBS in the  current  queueing  discipline  con-
       nected to traffic class number 0, issue:

       # tc qdisc replace dev eth0 parent 100:4 cbs \
            locredit -1470 hicredit 30 sendslope -980000 idleslope 20000

       These values are obtained from the following parameters, idleslope is 20mbit/s, the trans-
       mission rate is 1Gbit/s and the maximum interfering frame size is 1500 bytes.

AUTHORS
       Vinicius Costa Gomes <vinicius.gomes AT intel.com>

iproute2                                   18 Sept 2017                                    CBS(8)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2024-12-12 16:57 @52.15.189.183 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0!Valid CSS!