When I run this cmd:
tc qdisc add dev eth0 root red limit 51200000 min 128000 max 512000 avpkt 1024 burst 200 ecn probability 0.5
i get
RTNETLINK answers: No such file or directory
I have configured the kernel for netfilters
, and all the networking options in menuconfig
.
I don't understand why this error occurs. I'm using iproute2-2.6.23
and Fedora 8.
This was working fine on my laptop, but not on my Desktop PC?
On my system your command autoloads the sch_red
module. The question is rather old so on a modern system the autoloading should work fine if you have the required module. Check if you miss the kernel module by running:
modprobe sch_red
If it prints nothing, then retry running tc
command and see if it helps.
If not, ensure you have CONFIG_NET_SCH_RED
(Random Early Detection) compiled in your kernel. More info at kernel documentation.
The error could be due to a lack of support for traffic control in Linux kernel.
Here is an excerpt from documentation that lists kernel compilation options needed for proper operation of traffic control functionality in Linux:
Source: Traffic Control HOWTO - Kernel requirements
#
# 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
A kernel compiled with the above set of options will provide modular
support for almost everything discussed in this documentation. The
user may need to modprobe module
before using a given feature.