[LARTC] Error using prio and red

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am trying to use the following configuration script.


**************** Config statements  **********************
tc qdisc add dev eth1 root handle 1: prio
tc qdisc add dev eth1 parent 1:1 handle 10: red min 30000 max 50000 burst 20
limit 100000 avpkt 1000
tc qdisc add dev eth1 parent 1:2 handle 20: red min 15000 max 40000 burst 20
limit 70000 avpkt 1000
tc qdisc add dev eth1 parent 1:3 handle 30: red min 15000 max 40000 burst 20
limit 70000 avpkt 1000

ifconfig eth1 txqueuelen 500


**********************************************************

What I am trying to do with this is to use the "prio" qdisc as the
priority queuing mechanism on the interface with 3 traffic classes
where highest priority is class 1:1 and the lowest is class 1:3.
I am then attaching a "red" qdisc to each class to manage the queue
for each class. I want "red" to discard packets with increasing
probability up to the soft max parameter and then do "tail-drop" if
queue size in bytes reaches "limit" as described in the 
documentation. I am also increasing the aggregate queue
size to 500 packets to insure that no packets are dropped at the queue
input because the aggregate queue is too large. I think this will insure
that highest priority packets will always be accepted into the queue as
long as the highest priority queue is not too large. I also believe that
an overload of low priority packets will be discarded without affecting
the highest priority queue. No attempt has been made yet to optimize these
paramenters.

We are getting error messages as indicted in the listing below which details our
configuration
and the messages:

OS: Redhat 8.0 kernel: 2.4.18-26.8.0
To configure the kernel I used the description at
http://diffserv.sourceforge.net/

The kernel has been recompiled with the following turned on:

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

-----------------
The following are configured net opts. Note http://diffserv.sourceforge.net/
mentions Kernel/User netlink socket (CONFIG_NETLINK) 
but there is no such opton.

# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_NETLINK_DEV=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_FILTER=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_TUX=m
CONFIG_TUX_EXTCGI=y
# CONFIG_TUX_EXTENDED_LOG is not set
# CONFIG_TUX_DEBUG is not set
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_NAT=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_TOS=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_LARGE_TABLES=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
CONFIG_SYN_COOKIES=y
-------------------

the script is:
#
# bw shaping script
#
tc qdisc add dev wlan0 handle 1 root prio
tc qdisc add dev wlan0 parent 1:1 handle 10: red limit 100000 min 30000 max
50000 avpkt 1000 burst 20
tc qdisc add dev wlan0 parent 1:2 handle 20: red limit 70000 min 15000 max 40000
avpkt 1000 burst 20
tc qdisc add dev wlan0 parent 1:3 handle 30: red limit 70000 min 15000 max 40000
avpkt 1000 burst 20
ifconfig wlan0 txqueuelen 500

---------------------
Results: 
root@xxxxxxxxxxxx testing]# ./bw
: command not found
RTNETLINK answers: Invalid argument
"?at is "
Usage: ... red limit BYTES min BYTES max BYTES avpkt BYTES burst PACKETS
               probability PROBABILITY bandwidth KBPS [ ecn ]
Illegal "burst"
"?at is "
Usage: ... red limit BYTES min BYTES max BYTES avpkt BYTES burst PACKETS
               probability PROBABILITY bandwidth KBPS [ ecn ]


Can anyone suggest what may be wrong with this?

Thanks.

Bibb Cain





[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux