# devlink-sb

## NAME



           devlink-sb - devlink shared buffer configuration
    


## SYNOPSIS



           **devlink**[ _OPTIONS_ ] **sb**{ _COMMAND_ | **help**}
    
           _OPTIONS_ := { **-V**[_ersion_] | **-n**[_no-nice-names_] }
    
           **devlink sb show**[ _DEV_ [ **sb** _SB_INDEX_ ] ]
    
           **devlink sb pool show**[ _DEV_ [ **sb** _SB_INDEX_ ]
                   **pool** _POOL_INDEX_ ]
    
           **devlink sb pool set** _DEV_ [ **sb** _SB_INDEX_ ]
                   **pool** _POOL_INDEX_
                   **size** _POOL_SIZE_
                   **thtype**{ **static** | **dynamic**}
    
           **devlink sb port pool show**[ _DEV/PORT_INDEX_ [ **sb** _SB_INDEX_ ]
                   **pool** _POOL_INDEX_ ]
    
           **devlink sb port pool set** _DEV/PORT_INDEX_ [ **sb** _SB_INDEX_ ]
                   **pool** _POOL_INDEX_
                   **th** _THRESHOLD_
    
           **devlink sb tc bind show**[ _DEV/PORT_INDEX_ [ **sb** _SB_INDEX_ ]
                   **tc** _TC_INDEX_
                   **type**{ **ingress** | **egress**} ]
    
           **devlink sb tc bind set** _DEV/PORT_INDEX_ [ **sb** _SB_INDEX_ ]
                   **tc** _TC_INDEX_
                   **type**{ **ingress** | **egress**}
                   **pool** _POOL_INDEX_
                   **th** _THRESHOLD_
    
           **devlink sb occupancy show**{ _DEV_ | _DEV/PORT_INDEX_ } [ **sb** _SB_INDEX_ ]
    
           **devlink sb occupancy snapshot** _DEV_ [ **sb** _SB_INDEX_ ]
    
           **devlink sb occupancy clearmax** _DEV_ [ **sb** _SB_INDEX_ ]
    
           **devlink sb help**
    


## DESCRIPTION



       **devlink sb show - display available shared buffers and their**
           **attributes**
           _DEV_ - specifies the devlink device to show shared buffers.  If
           this argument is omitted all shared buffers of all devices are
           listed.
    
           _SB_INDEX_ - specifies the shared buffer.  If this argument is
           omitted shared buffer with index 0 is selected.  Behaviour of this
           argument it the same for every command.
    
       **devlink sb pool show - display available pools and their attributes**
           _DEV_ - specifies the devlink device to show pools.  If this
           argument is omitted all pools of all devices are listed.
    
           Display available pools listing their **type, size, thtype** and
           **cell_size. cell_size** is the allocation granularity of memory
           within the shared buffer. Drivers may round up, round down or
           reject **size** passed to the set command if it is not multiple of
           **cell_size.**
    
       **devlink sb pool set - set attributes of pool**
           _DEV_ - specifies the devlink device to set pool.
    
           **size** _POOL_SIZE_
                  size of the pool in Bytes.
    
           **thtype**{ **static** | **dynamic**}
                  pool threshold type.
    
                  _static_ - Threshold values for the pool will be passed in
                  Bytes.
    
                  _dynamic_ - Threshold values ("to_alpha") for the pool will
                  be used to compute alpha parameter according to formula:
                                  alpha = 2 ^ (to_alpha - 10)
    
                            The range of the passed value is between 0 to 20.
                            The computed alpha is used to determine the
                            maximum usage of the flow:
                                  max_usage = alpha / (1 + alpha) *
                                  Free_Buffer
    
       **devlink sb port pool show - display port-pool combinations and**
           **threshold for each**
           _DEV/PORT_INDEX_ - specifies the devlink port.
    
           **pool** _POOL_INDEX_
                  pool index.
    
       **devlink sb port pool set - set port-pool threshold**
           _DEV/PORT_INDEX_ - specifies the devlink port.
    
           **pool** _POOL_INDEX_
                  pool index.
    
           **th** _THRESHOLD_
                  threshold value. Type of the value is either Bytes or
                  "to_alpha", depends on **thtype** set for the pool.
    
       **devlink sb tc bind show - display port-TC to pool bindings and**
           **threshold for each**
           _DEV/PORT_INDEX_ - specifies the devlink port.
    
           **tc** _TC_INDEX_
                  index of either ingress or egress TC, usually in range 0 to
                  8 (depends on device).
    
           **type**{ **ingress** | **egress**}
                  TC type.
    
       **devlink sb tc bind set - set port-TC to pool binding with specified**
           **threshold**
           _DEV/PORT_INDEX_ - specifies the devlink port.
    
           **tc** _TC_INDEX_
                  index of either ingress or egress TC, usually in range 0 to
                  8 (depends on device).
    
           **type**{ **ingress** | **egress**}
                  TC type.
    
           **pool** _POOL_INDEX_
                  index of pool to bind this to.
    
           **th** _THRESHOLD_
                  threshold value. Type of the value is either Bytes or
                  "to_alpha", depends on **thtype** set for the pool.
    
       **devlink sb occupancy show - display shared buffer occupancy values for**
           **device or port**
           This command is used to browse shared buffer occupancy values.
           Values are showed for every port-pool combination as well as for
           all port-TC combinations (with pool this port-TC is bound to).
           Format of value is:
                           current_value/max_value
           Note that before showing values, one has to issue **occupancy**
           **snapshot** command first.
    
           _DEV_ - specifies the devlink device to show occupancy values for.
    
           _DEV/PORT_INDEX_ - specifies the devlink port to show occupancy
           values for.
    
       **devlink sb occupancy snapshot - take occupancy snapshot of shared**
           **buffer for device**
           This command is used to take a snapshot of shared buffer occupancy
           values. After that, the values can be showed using **occupancy show**
           command.
    
           _DEV_ - specifies the devlink device to take occupancy snapshot on.
    
       **devlink sb occupancy clearmax - clear occupancy watermarks of shared**
           **buffer for device**
           This command is used to reset maximal occupancy values reached for
           whole device. Note that before browsing reset values, one has to
           issue **occupancy snapshot** command.
    
           _DEV_ - specifies the devlink device to clear occupancy watermarks
           on.
    


## EXAMPLES



           devlink sb show
               List available share buffers.
    
           devlink sb pool show
               List available pools and their config.
    
           devlink sb port pool show pci/0000:03:00.0/1 pool 0
               Show port-pool setup for specified port and pool.
    
           sudo devlink sb port pool set pci/0000:03:00.0/1 pool 0 th 15
               Change threshold for port specified port and pool.
    
           devlink sb tc bind show pci/0000:03:00.0/1 tc 0 type ingress
               Show pool binding and threshold for specified port and TC.
    
           sudo devlink sb tc bind set pci/0000:03:00.0/1 tc 0 type ingress
           pool 0 th 9
               Set pool binding and threshold for specified port and TC.
    
           sudo devlink sb occupancy snapshot pci/0000:03:00.0
               Make a snapshot of occupancy of shared buffer for specified
               devlink device.
    
           devlink sb occupancy show pci/0000:03:00.0/1
               Show occupancy for specified port from the snapshot.
    
           sudo devlink sb occupancy clearmax pci/0000:03:00.0
               Clear watermarks for shared buffer of specified devlink
               device.
    


* * *