HSMDA Command Reference
802 Quality of Service Guide
Description This command defines the buffer allocation weight for a specific root pool. Eight root pools exist and 
do not need to be created. The allocation-weight parameter is used to specify the weight that will be 
applied to the pool and is divided by the sum of all root pool weights to derive the pool’s buffer 
allocation factor. The amount of buffers remaining after the system-reserve percentage is applied is 
multiplied by the buffer allocation factor to derive the pool size.
Root pools function as an oversubscription control mechanism. A root pool acts as the root of a 
hierarchy of buffer pools and queues with respect to buffer allocation. Since the sum of the root pool 
sizes will not exceed the total number of buffers available, the number of buffers indicated by the root 
pools size will always be available to the queues within the root pools hierarchy, queues from one 
hierarchy can never steal buffers from another.
A root pool hierarchy is based on the dynamic parenting of a root pool to one or more class pools. A 
class pool represents the buffering allowed for a given scheduling class. Each class pool is sized as a 
percentage of the root pool to which it is parented. The sum of the class pools percentages for a root 
pool may be greater than 100 percent which allows the root pool to be oversubscribed. This may be 
beneficial when large fluctuations in class based buffer utilization are expected and a given class 
should be allowed to exceed its fair share of buffering.
Port queues are tied to root pools through the scheduling class of the queue (indicated by the queue-
ID). A queue on scheduling class 3 will be mapped to class pool 3 and indirectly tied to the root pool 
associated with class pool 3.
A root pool with an allocation-weight set to 0 is considered inactive and will not be allocated buffers. 
Class pools cannot be parented to a root pool with a weight equal set to 0. Once a class pool is 
associated with a root pool, the root pool’s weight cannot be set to 0.
When a root pool’s allocation weight is modified, all root pools, class pools and port class pool sizes 
are reevaluated and modified when necessary.
The no form of the command restores the default allocation-weight value to a root pool. Root pool 1 
has a different default weight than root pools 2 through 8. The no root-pool command will fail for root 
pools 2 through 8 if the root pool is currently parented to a class pool.
Parameters root-pool-id — Specifies the root pool ID value. This value is a required parameter when 
executing the root-pool command and specifies which root pool is being modified. 
Values 1 — 8
Default none
allocation-weight pool-weight — The pool-weight parameter defines the weight of the specified 
root-pool-id and is used by the system to calculate the size of the root buffer pool. The 
allocation-weight keyword is required and must precede the pool-weight parameter. Setting 
pool-weight to 0 disables the pool and prevents the root pool from being a parent to any class 
pools. Root pool 1 cannot be set with an allocation weight of 0.
Table 64: Pool Weight Values
Unit: Integer
Range root-pool 1 1 — 100