/interface/ethernet/switch/qos/tx-manager/queue

queue

每个端口有八个发送队列。分配的 Tx Manager 控制数据包入队并调度发送顺序。每个队列可以具有严格优先级(最高流量类的数据包始终先发送),也可以分组进行加权轮询发送调度。


interface/ethernet/switch/qos/tx-manager/queue

Syscap: rbswitch and crs_prestera Type: Directory

每个端口有八个发送队列。分配的 Tx Manager 控制数据包入队并调度发送顺序。每个队列可以具有严格优先级(最高流量类的数据包始终先发送),也可以分组进行加权轮询发送调度。

创建 Tx Manager 会自动创建所有八个相应的队列调度器。

危险

在卸载过程中更改 Tx Manager 或队列的任何属性会完全停止流量入队和发送。设备转发流量时预计会出现临时数据包丢失。 危险

在某些设备型号上,由于硬件限制,在一个队列上启用 ECN 会打开所有队列上支持 ECN 的数据包的 CE 标记。在这种情况下,尽管 ecn=no,仍会显示 ecn-actual=yes。 | 标志 | 名称 | 描述 | | --- | --- | --- | | * | default | | | I | inactive | | | H | hw-offloaded | |

参数类型描述
scheduleenum (strict-priority | low-priority-group | high-priority-group) { strict-priority:0, low-priority-group:1, high-priority-group:2 }按流量类的严格优先级或组内轮询调度发送。 - strict-priority - 相应队列中的数据包始终先被调度,然后再处理较低流量类。当前队列为空之前,较低流量类的数据包不会发送。 - high-priority-group - 组内的所有队列使用加权轮询原理一起调度。例如,如果 TC5 权重为 4、TC4 为 3、TC3 为 2,则调度器在单轮中发送 4 个来自 queue5 的数据包、3 个来自 Q4 的数据包和 2 个来自 Q3 的数据包。为降低延迟,每一轮会在组内所有队列之间进行 "切片"。换句话说,上述示例中每一轮的数据包顺序为 "Q5, Q4, Q3, Q5, Q4, Q3, Q5, Q4, Q5"。 - low-priority-group - 逻辑与 high-priority-group 类似,但仅在 high-priority-group 中的所有队列为空时才调度 low-priority-group。
weightnum如果流量类属于调度组,则为其权重值。在严格优先级调度的情况下不使用此字段。
queue-buffersalt { queue-buffers-pct: num [ .. 100] , queue-buffers-byte: num [1536 .. 67108864] }分配给此队列的硬件发送缓冲区数量。除 auto 之外的任何值都不会按端口数缩放,即该值会在连接到 Tx Manager 的端口之间分配。以百分比表示时,它表示 tx-manager 的 queue-buffers 值的百分比。
use-shared-buffersbool当 queue-buffers 已满时,允许队列使用共享缓冲池。如果队列已满且共享缓冲区被禁用,数据包会被丢弃。如果启用了共享缓冲区,队列最多可从共享池使用 shared-packet-cap 或 shared-poolX-packet-cap(详情请参阅 QoS 设置)个数据包。
wredbool为给定队列启用/禁用 加权随机早期检测。
ecnbool启用/禁用发送数据包的 ECN 标记。
只读参数类型描述
tx-managerenum关联的 Tx Manager
traffic-classnum调度器控制的流量类(tc0..tc7)和相应端口队列(queue0..queue7)。
wred-actualbool实际 WRED 值
ecn-actualbool实际 ECN 值