11

当我运行这个 cmd 时:

tc qdisc add dev eth0 root red limit 51200000 min 128000 max 512000 avpkt 1024 burst 200 ecn probability 0.5

我明白了

RTNETLINK answers: No such file or directory

我已经配置了内核netfilters,以及menuconfig.

我不明白为什么会发生此错误。我正在使用iproute2-2.6.23和 Fedora 8。

这在我的笔记本电脑上运行良好,但在我的台式电脑上却不行?

4

3 回答 3

0

该错误可能是由于 Linux 内核中缺乏对流量控制的支持。

以下是文档摘录,其中列出了在 Linux 中正确运行流量控制功能所需的内核编译选项:

来源:Traffic Control HOWTO - 内核要求

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_CSZ=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_POLICE=y

使用上述选项集编译的内核将为本文档中讨论的几乎所有内容提供模块化支持。用户可能需要在使用给定功能之前进行modprobe 。 module

于 2020-06-21T15:42:10.743 回答
0

在我的系统上,您的命令会自动加载sch_red模块。这个问题相当老了,所以在现代系统上,如果你有所需的模块,自动加载应该可以正常工作。通过运行检查您是否错过了内核模块:

modprobe sch_red

如果它什么也没打印,那么重试运行tc命令,看看它是否有帮助。

如果没有,请确保CONFIG_NET_SCH_RED在内核中编译了(随机早期检测)。内核文档中的更多信息

于 2019-05-22T12:50:06.077 回答
0

在不包含通常的预构建模块数组的系统上编译(in-tree)ralink wifi 驱动程序后,我得到了这个。加载了模块并且界面在那里,但无法设置:

ip link set wlanB up
RTNETLINK answers: No such file or directory

(是的,是正确的。wlanB)最终发现系统也缺少. 这是固定的。/lib/firmwareapt install firmware-ralink

于 2021-03-28T21:58:17.253 回答