queue
interface/ethernet/switch/qos/tx-manager/queue
Syscap: rbswitch and crs_prestera
Type: Directory
Each port has eight Tx queues. The assigned Tx Manager controls packet enqueuing and schedules transmission orders. Each queue can have either strict priority (where packets with the highest traffic class are always transmitted first) or be grouped together for a weighted round-robin tx schedule.
Creating a Tx Manager automatically creates all eight respective queue schedulers.
Changing any properties of Tx manager or queues completely halts traffic enqueueing and transmission during the offload process. Temporary packet loss is expected while the device is forwarding traffic.
On some device models, due to hardware limitations, enabling ECN on one queue turns on CE marking of ECN-capable packets on all queues. In such cases, ecn-actual=yes despite ecn=no.
| Flag | Name | Description |
|---|---|---|
| * | default | |
| I | inactive | |
| H | hw-offloaded |
| Argument | Type | Description |
|---|---|---|
| schedule | enum (strict-priority | low-priority-group | high-priority-group) { strict-priority:0, low-priority-group:1, high-priority-group:2 } | Schedule tx either by strict priority of the traffic class or round-robin within the group.
|
| weight | num | The weight value for the traffic class if it is a member of a schedule group. The field is not used in the case of a strict priority schedule. |
| queue-buffers (syscap=!prestera-cpss) | alt { queue-buffers-pct: num [ .. 100] , queue-buffers-byte: num [1536 .. 67108864] } | The number of hardware Tx buffers allocated to this queue. Any value but auto is NOT scaled by the number of ports, i.e., the value gets split on ports linked to the Tx Manager. When given in percent, it means percentage of the tx-manager's queue-buffers value. |
| use-shared-buffers (syscap=!prestera-cpss) | bool | Allow the queue to use the shared buffer pool when queue-buffersare full. If the queue is full and the shared buffers are disabled, the packet gets dropped. If the shared buffers are enabled, the queue may use up to shared-packet-cap or shared-poolX-packet-cap (see QoS Settings for details) packets from the shared pool. |
| wred (syscap=!prestera-ac3) | bool | Enables/disables Weighted Random Early Detection for the given queue. |
| ecn (syscap=!prestera-ac3) | bool | Enables/disables ECN marking of the transmitted packets. |
| Read-only Argument | Type | Description |
|---|---|---|
| tx-manager | enum | The linked Tx Manager |
| traffic-class | num | The traffic class (tc0..tc7) and the respective port queue (queue0..queue7) that the scheduler controls. |
| wred-actual (syscap=!prestera-ac3) | bool | Actual WRED value |
| ecn-actual (syscap=!prestera-ac3) | bool | Actual ECN value |