【问题标题】:tc-sfq alternative that limits by bytes?按字节限制的 tc-sfq 替代方案?
【发布时间】:2014-10-10 19:20:49
【问题描述】:

是否有 tc-sfq(随机公平队列)的替代方案,允许根据数据包大小(总字节)而不是数据包计数来配置限制?

原因是给定一个 50 字节的数据包大小,一个 htb 类(速率=1000kbit)可以例如每 10 毫秒出列 25 个数据包, 但数据包大小为 1500 字节,每 10 毫秒只有 0.83 个数据包。

如果我将 tc-sfq 限制设置为 25 个数据包,那么在最坏的情况下,一个完整的队列需要 300 毫秒才能清空。

--

这是在 Linux 3.0.101 上,所以像 fq_codel 这样的东西不能正常工作。也许有人有一个补丁,将 sfq 数据包限制替换为字节限制(类似于 pfifo 与 bfifo)?

【问题讨论】:

    标签: linux networking qos trafficshaping


    【解决方案1】:

    这是我所做的: 我将内核树中的一些更改反向移植到 linux 3.0 sfq。

    自从提交ddecf0... 以来,每个插槽都有一个积压计数器。所以我需要改变的是使用深度参数(sfq_sched_data.maxdepth)作为最大积压字节:如果slot->backlog >= q->maxdepth在入队函数中,只需丢弃数据包。

    以 1000kbit 的速率,我现在可以设置深度 3750,这意味着一个插槽最多需要 30 毫秒才能清空。这可能是 2 个大数据包,每个 1500 字节或 25 个小数据包,每个 150 字节。

    【讨论】:

      猜你喜欢
      • 2011-10-16
      • 2016-02-19
      • 1970-01-01
      • 1970-01-01
      • 2020-04-16
      • 2017-12-10
      • 2011-06-18
      • 2020-10-22
      • 2019-09-11
      相关资源
      最近更新 更多