timecheck problem
Brought to you by:
pgolubev
Hi,
timecheck works well when rule files was like:
cbq-0701.somth
cbq-2424.somth
etc...
but it wont checks files with names:
cbq-070C.somth
cbq-EEEE.somth
etc...
Rule initialization for this files works ok, but not
timecheck.
Sirijus
Logged In: NO
The timecheck procedure uses output from tc to verify
changes on speed. The output of tc shows the classes in
hexa, without caps.
Change the classes names to caps down and the problem will
be solved:
cbq-070c.somth
cbq-eeee.somth
Logged In: YES
user_id=35269
Just to sign the previous comment.
--Sedrez
Logged In: NO
Thank You for answer very much, but that is not this problem
I think. My configs are like:
cbq-0002.eth0_lan_lan
cbq-0004.eth0_server_uro2
cbq-0005.eth2_uro2_net
cbq-0006.eth0_server_uro3
cbq-0007.eth2_uro3_net
etc...
Why on kernel 2.4.18 script works fine with "timecheck", but
on kernel 2.4.20, 2.4.21, 2.4.22 "timecheck" does not change
the bandwidth, although works static bandwidth cut.
Cbq service is compiled into above kernels.
Artur Bialeta, Poland.
Logged In: YES
user_id=35269
Artur,
Check the output of 'cbq list' after the 'cbq timecheck', to
see if the nominal bandwidth has changed. If it has and it
is not working, it is not a cbq problem, but a kernel issue.
I checked here, and it is working fine.
And please trash my previous answer. The cbq script is safe
on upper case/lower case mix in file names.
--Paulo Sedrez
Logged In: NO
Hello Paulo.
Have You tried cbq timecheck script on any of kernels 2.4.20,
2.4.21, 2.4.22? Does it really work?
Artur.
Logged In: YES
user_id=35269
Artur,
I am using cbq with kernel 2.4.20. Check this out:
[root@sedrez etc]# cbq start
[root@sedrez etc]# cbq timecheck
[root@sedrez etc]# env TZ=GMT-12 cbq timecheck
**CBQ: 8:10: class 65 on eth2 changed rate (128Kbit -> 64Kbit)
**CBQ: 8:10: class 6e on eth0 changed rate (128Kbit -> 64Kbit)
[root@sedrez etc]# cbq timecheck
**CBQ: 18:10: class 65 on eth2 changed rate (64Kbit -> 128Kbit)
**CBQ: 18:10: class 6e on eth0 changed rate (64Kbit -> 128Kbit)
[root@sedrez etc]# uname -a
Linux sedrez 2.4.20-20.7 #1 Mon Aug 18 15:05:54 EDT 2003
i686 unknown
[root@sedrez etc]#
(TZ is a good way to simulate changes in time).
--Paulo Sedrez
Logged In: NO
Paulo, I really know what You are talking about, thanks very
much for advices, but we are still in the same point. My cbq
configs are cool, they work on 2.4.18 with timecheck
excellent, I do not use letters in head of cbq configs (eg: cbq-
0022.eth0_server_uro2), so that`s not an upper/lower case
letters. But when I load a higher kernel (on the same cbq and
system configuration, nothing`s changed, like previously)
timecheck fails, although "tc -s qdisc" works fine on higher
kernels - it means that the kernel has QoS compiled in:
[*] QoS and/or fair queueing
<M> CBQ packet scheduler
<M> CSZ packet scheduler
<M> The simplest PRIO pseudoscheduler
<M> RED queue
<M> SFQ queue
<M> TEQL queue
<M> TBF queue
<M> GRED queue
<M> Diffserv field marker
<M> Ingress Qdisc
[*] QoS support
[*] Rate estimator
[*] Packet classifier API
<M> TC index classifier
<M> Routing table based classifier
<M> Firewall based classifier
<M> U32 classifier
<M> Special RSVP classifier
<M> Special RSVP classifier for IPv6
[*] Traffic policing (needed for in/egress)
So I think thats not the kernel configuration will, but...???
And that`s the question, why only timecheck on 2.4.18 OK,
but =>2.4.20 fail. Well, it`s not a critical problem, but I have
to know just WHY?
By the way, You like beer?
Artur.
Logged In: NO
I found solution! Change case of hex letters in CLASS
parameter for tc command. Add the following changes to
cbq.init script in timecheck procedure:
# no changes in this line
cbq_load_class $CBQ_PATH $classfile
# insert new line here
TMP_CLASS=`echo "$CLASS"|tr "[A-F]" "[a-f]"`
# replace $CLASS to $TMP_CLASS
RATE_NOW=`tc class show dev $DEVICE| sed -n \
"/cbq 1:$TMP_CLASS / { s/.*rate //; s/ .*//; p; q; }"`
Have a nice day.
Ramunas Minkus
ramunas.minkus@jonava.lt