Hello Guys that's me again...
I'll be blowed with the stupid thing. I think, wshaper starts now correctly from post-firewall but it still does not prioritize the traffic from my VoIP adapter
An example of the status information after reboot:
Code:
[admin@(none) sbin]$ ./wshaper status eth1
qdisc ingress ffff:
statistics truncated
qdisc sfq 30: quantum 1514b perturb 10sec
statistics truncated
qdisc sfq 20: quantum 1514b perturb 10sec
statistics truncated
qdisc sfq 10: quantum 1514b perturb 10sec
statistics truncated
qdisc htb 1: r2q 10 default 20 direct_packets_stat 0
statistics truncated
class htb 1:1 root rate 230Kbit ceil 230Kbit burst 6Kb cburst 1893b
Sent 15141 bytes 254 pkts (dropped 0, overlimits 0)
rate 8bps
lended: 0 borrowed: 0 giants: 0
tokens: 169850 ctokens: 51590
class htb 1:10 parent 1:1 leaf 10: prio 1 rate 230Kbit ceil 230Kbit burst 6Kb cb
urst 1893b
Sent 132 bytes 2 pkts (dropped 0, overlimits 0)
lended: 2 borrowed: 0 giants: 0
tokens: 169182 ctokens: 50922
class htb 1:20 parent 1:1 leaf 20: prio 2 rate 207Kbit ceil 207Kbit burst 6Kb cb
urst 1863b
Sent 15009 bytes 252 pkts (dropped 0, overlimits 0)
rate 8bps
lended: 252 borrowed: 0 giants: 0
tokens: 188723 ctokens: 56394
class htb 1:30 parent 1:1 leaf 30: prio 2 rate 184Kbit ceil 184Kbit burst 6Kb cb
urst 1834b
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
lended: 0 borrowed: 0 giants: 0
tokens: 213703 ctokens: 63825
You can see, few packets were sent in the "high" class 1:10 and in the "middle" class 1:20. Ok, now the same information after a short VoIP call about 3-4 munutes:
Code:
[admin@(none) sbin]$ ./wshaper status eth1
qdisc ingress ffff:
statistics truncated
qdisc sfq 30: quantum 1514b perturb 10sec
statistics truncated
qdisc sfq 20: quantum 1514b perturb 10sec
statistics truncated
qdisc sfq 10: quantum 1514b perturb 10sec
statistics truncated
qdisc htb 1: r2q 10 default 20 direct_packets_stat 0
statistics truncated
class htb 1:1 root rate 230Kbit ceil 230Kbit burst 6Kb cburst 1893b
Sent 2493109 bytes 11851 pkts (dropped 0, overlimits 0)
rate 10719bps 50pps
lended: 0 borrowed: 0 giants: 0
tokens: 149147 ctokens: 30887
class htb 1:10 parent 1:1 leaf 10: prio 1 rate 230Kbit ceil 230Kbit burst 6Kb cb
urst 1893b
Sent 132 bytes 2 pkts (dropped 0, overlimits 0)
lended: 2 borrowed: 0 giants: 0
tokens: 169182 ctokens: 50922
class htb 1:20 parent 1:1 leaf 20: prio 2 rate 207Kbit ceil 207Kbit burst 6Kb cb
urst 1863b
Sent 2492977 bytes 11849 pkts (dropped 0, overlimits 0)
rate 10720bps 50pps
lended: 11849 borrowed: 0 giants: 0
tokens: 165720 ctokens: 33391
class htb 1:30 parent 1:1 leaf 30: prio 2 rate 184Kbit ceil 184Kbit burst 6Kb cb
urst 1834b
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
lended: 0 borrowed: 0 giants: 0
tokens: 213703 ctokens: 63825
The number of packets sent in the "high" class is still the same. How can it be? I wrote the rule for filtering of the VoIP traffic in exactly the same way like the predefined rule for ICMP:
Code:
# My code: high priority for VoIP traffic (IP)
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
match ip src 192.168.38.2 flowid 1:10
# ICMP (ip protocol 1) in the interactive class 1:10 so we
# can do measurements & impress our friends:
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
match ip protocol 1 0xff \
flowid 1:10
And the rule for ICMP is really working, if I call something like "ping -t www.google.com" after that I'll get following status:
Code:
[admin@(none) sbin]$ ./wshaper status eth1
qdisc ingress ffff:
statistics truncated
qdisc sfq 30: quantum 1514b perturb 10sec
statistics truncated
qdisc sfq 20: quantum 1514b perturb 10sec
statistics truncated
qdisc sfq 10: quantum 1514b perturb 10sec
statistics truncated
qdisc htb 1: r2q 10 default 20 direct_packets_stat 0
statistics truncated
class htb 1:1 root rate 230Kbit ceil 230Kbit burst 6Kb cburst 1893b
Sent 2495319 bytes 11885 pkts (dropped 0, overlimits 0)
rate 179bps 1pps
lended: 0 borrowed: 0 giants: 0
tokens: 169404 ctokens: 51144
class htb 1:10 parent 1:1 leaf 10: prio 1 rate 230Kbit ceil 230Kbit burst 6Kb cb
urst 1893b
Sent 1464 bytes 20 pkts (dropped 0, overlimits 0)
rate 37bps
lended: 20 borrowed: 0 giants: 0
tokens: 168960 ctokens: 50700
class htb 1:20 parent 1:1 leaf 20: prio 2 rate 207Kbit ceil 207Kbit burst 6Kb cb
urst 1863b
Sent 2493855 bytes 11865 pkts (dropped 0, overlimits 0)
rate 136bps
lended: 11865 borrowed: 0 giants: 0
tokens: 188229 ctokens: 55900
class htb 1:30 parent 1:1 leaf 30: prio 2 rate 184Kbit ceil 184Kbit burst 6Kb cb
urst 1834b
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
lended: 0 borrowed: 0 giants: 0
tokens: 213703 ctokens: 63825
ICMP (ping) packets appears in the "high" class and I've sent exactly 18 packets.
I'm really in despair. What can be wrong with my filter rule?
Regards
Robert