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

Newbie question?



Hi,

I found a problem with the diffserv support on Linux. I couldn't find
any FAQ with this question, so excuse me if this is a common newbie
question.
I'm using Linux 2.2.10 with diffserv version 6.
I'm trying to use diffserv to limit the outgoing SMTP trafic on my
network.
First, i create cbq classes for the root , the "normal" traffic and the
SMTP traffic:
tc qdisc add dev eth0 root handle 1: cbq bandwidth 10Mbit avpkt 1000   
tc class add dev eth0 parent 1:0 classid 1:1 est 1sec 8sec  cbq bounded
bandwidth 10Mbit rate 10Mbit allot 1514 avpkt 1000
tc class add dev eth0 parent 1:1 classid 1:2 est 1sec 19sec  cbq 
bandwidth 10Mbit  rate 128Kbit allot 1514 avpkt 1000 bounded

then i create a filter to redirect packets to class 1:2
tc filter add dev eth0 protocol ip prio 1 handle 1 fw classid 1:2 

then i use ipchains to mark the packets i want to limit:
ipchains -A input -p TCP -s 200.251.16.134 -d 0.0.0.0/0 25 -m 1 -j
ACCEPT 

The problem is: the cbq queue works fine for some time (30-40
minuites).I can see it's working because the rate shown by tc -s class
show dev eth0 is right. But then, it starts dropping more and more
packets in class 1:2, and the bps rate drops to something like 100-200
bytes per second, without reason...If i del the qdisc and issue the
commands to create it again, it works fine for some time and then starts
dropping packets etc...

Anyone already found such odd behaviour? Is it a mistake on my
configuration?

Any help is greatly apreciated.

Best regards,

	Juliano.

-- 
Juliano Viana
Skynet Ltda
 If it does exist, it's out of date.
      	Arnold's Second  Law of Documentation