Hello,
I''m using Linux kernel 2.6.x and tc (from iproute2 package).
I''m trying to use HTB or HFSC scheduler in order to limite the rate of
outgoing packets and also in order to minimiez delay for RTP stream.
But I didn''t suceed in having this 2 QoS services working.
I use Iptables in order to classify packets. Here is my HFSC conf.
In fact the pings that i send from this box should be the most highly priorised
packet, but there are delayed when i add load on the link (with a scp upload).
What is strange is that the delay of thoses ping is not constant:
Does someone have an idea about this issue?
Thx for any help
romary
64 bytes from 10.10.0.10: icmp_seq=1 ttl=63 time=10.4 ms
64 bytes from 10.10.0.10: icmp_seq=2 ttl=63 time=52.8 ms
64 bytes from 10.10.0.10: icmp_seq=3 ttl=63 time=40.4 ms
64 bytes from 10.10.0.10: icmp_seq=4 ttl=63 time=90.1 ms
64 bytes from 10.10.0.10: icmp_seq=5 ttl=63 time=77.6 ms
64 bytes from 10.10.0.10: icmp_seq=6 ttl=63 time=127 ms
64 bytes from 10.10.0.10: icmp_seq=7 ttl=63 time=177 ms
64 bytes from 10.10.0.10: icmp_seq=8 ttl=63 time=227 ms
64 bytes from 10.10.0.10: icmp_seq=9 ttl=63 time=277 ms
64 bytes from 10.10.0.10: icmp_seq=10 ttl=63 time=326 ms
64 bytes from 10.10.0.10: icmp_seq=11 ttl=63 time=11.5
ms<<===================="time hole"
64 bytes from 10.10.0.10: icmp_seq=12 ttl=63 time=11.0 ms
64 bytes from 10.10.0.10: icmp_seq=13 ttl=63 time=43.6 ms
64 bytes from 10.10.0.10: icmp_seq=14 ttl=63 time=93.7 ms
64 bytes from 10.10.0.10: icmp_seq=15 ttl=63 time=142 ms
64 bytes from 10.10.0.10: icmp_seq=16 ttl=63 time=136 ms
64 bytes from 10.10.0.10: icmp_seq=17 ttl=63 time=206 ms
64 bytes from 10.10.0.10: icmp_seq=18 ttl=63 time=199 ms
64 bytes from 10.10.0.10: icmp_seq=19 ttl=63 time=243 ms
64 bytes from 10.10.0.10: icmp_seq=20 ttl=63 time=293 ms
64 bytes from 10.10.0.10: icmp_seq=21 ttl=63 time=343 ms
64 bytes from 10.10.0.10: icmp_seq=22 ttl=63 time=22.5 ms
64 bytes from 10.10.0.10: icmp_seq=23 ttl=63 time=11.1 ms
<<===================="time hole"
64 bytes from 10.10.0.10: icmp_seq=24 ttl=63 time=10.5 ms
64 bytes from 10.10.0.10: icmp_seq=25 ttl=63 time=48.4 ms
64 bytes from 10.10.0.10: icmp_seq=26 ttl=63 time=98.8 ms
64 bytes from 10.10.0.10: icmp_seq=27 ttl=63 time=147 ms
64 bytes from 10.10.0.10: icmp_seq=28 ttl=63 time=196 ms
64 bytes from 10.10.0.10: icmp_seq=29 ttl=63 time=246 ms
64 bytes from 10.10.0.10: icmp_seq=30 ttl=63 time=234 ms
64 bytes from 10.10.0.10: icmp_seq=31 ttl=63 time=284 ms
64 bytes from 10.10.0.10: icmp_seq=32 ttl=63 time=334 ms
64 bytes from 10.10.0.10: icmp_seq=33 ttl=63 time=13.4
ms<<===================="time hole"
64 bytes from 10.10.0.10: icmp_seq=34 ttl=63 time=10.1 ms
64 bytes from 10.10.0.10: icmp_seq=35 ttl=63 time=50.6 ms
64 bytes from 10.10.0.10: icmp_seq=36 ttl=63 time=100 ms
=>tc -s -d qdisc show dev $MYDEV>qdisc hfsc 1: default 7
> Sent 179610 bytes 2299 pkts (dropped 0, overlimits 967)
>qdisc sfq 15:
> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>qdisc sfq 16:
> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>qdisc sfq 17:
> Sent 1857 bytes 24 pkts (dropped 0, overlimits 0)
=>tc -s -d class show dev $MYDEV>class hfsc 1: root
> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
> period 0 level 2
>
>class hfsc 1:10 parent 1: sc m1 0bit d 0us m2 243208bit ul m1 0bit d 0us m2
243208bit
> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
> period 26 work 179610 bytes level 1
>
>class hfsc 1:1 parent 1:10 rt m1 0bit d 0us m2 2000bit
> Sent 173952 bytes 2232 pkts (dropped 0, overlimits 0)
> period 0 work 173952 bytes rtwork 173952 bytes level 0
>
>class hfsc 1:2 parent 1:10 rt m1 0bit d 0us m2 229136bit
> Sent 3649 bytes 41 pkts (dropped 0, overlimits 0)
> period 0 work 3649 bytes rtwork 3649 bytes level 0
>
>class hfsc 1:3 parent 1:10 ls m1 0bit d 0us m2 2408bit ul m1 0bit d 0us m2
192960bit
> Sent 152 bytes 2 pkts (dropped 0, overlimits 0)
> period 2 work 152 bytes level 0
>
>class hfsc 1:4 parent 1:10 ls m1 0bit d 0us m2 2408bit ul m1 0bit d 0us m2
192960bit
> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
> period 0 level 0
>
>class hfsc 1:5 parent 1:10 leaf 15: ls m1 0bit d 0us m2 2408bit ul m1 0bit d
0us m2 192960bit
> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
> period 0 level 0
>
>class hfsc 1:6 parent 1:10 leaf 16: ls m1 0bit d 0us m2 2408bit ul m1 0bit d
0us m2 192960bit
> Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
> period 0 level 0
>
>class hfsc 1:7 parent 1:10 leaf 17: ls m1 0bit d 0us m2 2408bit ul m1 0bit d
0us m2 192960bit
> Sent 1857 bytes 24 pkts (dropped 0, overlimits 0)
> period 24 work 1857 bytes level 0
>
=>iptables -v -t mangle -L POSTROUTING>1 35627 15M CLASSIFY all -- * ppp0 0.0.0.0/0
0.0.0.0/0 CLASSIFY set 1:7
>2 0 0 CLASSIFY tcp -- * ppp0 0.0.0.0/0
0.0.0.0/0 multiport dports 25,110,143,993 CLASSIFY set 1:6
>3 0 0 CLASSIFY tcp -- * ppp0 0.0.0.0/0
0.0.0.0/0 multiport dports 80,443 CLASSIFY set 1:5
>4 233 14266 CLASSIFY tcp -- * ppp0 0.0.0.0/0
0.0.0.0/0 tcp dpt:22 length 0:400 CLASSIFY set 1:4
>5 2717 228K CLASSIFY icmp -- * ppp0 0.0.0.0/0
0.0.0.0/0 CLASSIFY set 1:3
>6 2 152 CLASSIFY udp -- * ppp0 0.0.0.0/0
0.0.0.0/0 multiport dports 123,53 CLASSIFY set 1:3
>7 0 0 CLASSIFY tcp -- * ppp0 0.0.0.0/0
0.0.0.0/0 multiport dports 123,53 CLASSIFY set 1:3
>8 19261 1160K CLASSIFY udp -- * ppp0 0.0.0.0/0
10.25.0.201 CLASSIFY set 1:2
>9 256 22364 CLASSIFY udp -- * ppp0 0.0.0.0/0
10.22.0.200 CLASSIFY set 1:2
>10 2717 228K CLASSIFY icmp -- * ppp0 0.0.0.0/0
10.10.0.10 CLASSIFY set 1:1
>11 0 0 CLASSIFY icmp -- * ppp0 0.0.0.0/0
10.10.0.5 CLASSIFY set 1:1
>12 4200 302K CLASSIFY udp -- * ppp0 0.0.0.0/0
0.0.0.0/0 udp dpt:520 CLASSIFY set 1:1