Hello list! What´s the Problem: I do imq+htb traffic controll but it does not regulate anything. What i have: -lfs-system with 2.2.17 vanilla-kernel with imq and htb patch -ppp0 adsl 768/128kbps connection via pppoe (dynamic IP) -eth0 10Mbit connection to adsl-modem (no ip) -eth1 100Mbit connection to some high prio systems and two systems from the BOfH (192.168.0.0/24) -eth2 10Mbit connection to some low prio systems (192.168.127.0/24) -wlan0 1-11Mbit with wlan-ng/prism2.5 ( 192.168.3.0/24) -some other devices like ipppX, pppX which doesn't matter What i want: If the BOfH, Bastard Operator from Hell, myself, is on his Computer he should get 700kbit download and 100kbit Upload. All Traffic other than Internet should not be touched. The other Systems are splitted in pay and not pay groups. Each group gets 32kbit but the paying groups should get the rest of the BOfH- Traffic. If there is some unused bandwith, the not pay group can use it. What i do: #build a root-queue on the imq tc qdisc add dev imq root handle 1: htb default 1 #add a "dont touch this" class tc class add dev imq parent 1: classid 1:1 htb prio 10 rate 1000mbit burst 128k tc qdisc add dev imq parent 1:1 handle 11: sfq perturb 60 quantum 1500b #upload classes deletet... #build the download-class tc class add dev imq parent 1: classid 1:3 htb prio 10 rate 768kbit burst 64k #build the "not pay" class tc class add dev imq parent 1:3 classid 1:31 htb prio 3 \ rate 32kbit burst 64k ceil 768kbit tc qdisc add dev imq parent 1:31 handle 31: sfq perturb 60 quantum 1500b #build the "BOfH" class tc class add dev imq parent 1:3 classid 1:32 htb prio 1 \ rate 704kbit burst 64k ceil 768kbit tc qdisc add dev imq parent 1:32 handle 32: sfq perturb 60 quantum 1500b # build the "pay" class tc class add dev imq parent 1:3 classid 1:33 htb prio 2 \ rate 32kbit burst 64k ceil 768kbit tc qdisc add dev imq parent 1:33 handle 33: sfq perturb 60 quantum 1500b # filter intrnal traffic to the "dont touch" class tc filter add dev imq \ protocol ip parent 1: prio 10 u32 \ match ip src 192.168.0.0/16 \ match ip dst 192.168.0.0/16 \ flowid 1:1 # filter the "BOfH" traffic to the "BOfH" class tc filter add dev imq \ protocol ip parent 1: prio 10 u32 \ match ip dst 192.168.0.3/32 \ flowid 1:32 tc filter add dev imq \ protocol ip parent 1: prio 10 u32 \ match ip dst 192.168.3.1/32 \ flowid 1:32 tc filter add dev imq \ protocol ip parent 1: prio 10 u32 \ match ip dst 192.168.0.200/32 \ flowid 1:32 #filter the "pay" group to the "pay" class tc filter add dev imq \ protocol ip parent 1: prio 10 u32 \ match ip dst 192.168.0.0/24 \ flowid 1:33 #filter the "not pay" group to the "not pay" class tc filter add dev imq \ protocol ip parent 1: prio 10 u32 \ match ip dst 192.168.127.0/24 \ flowid 1:31 # todo upload,ack,tos What i´ve checked: Since yet i only take a look between BOfH and Pay-Group. I use #!/bin/sh num="1:3[1234567890]" while true;do clear; echo -n " "; tc -s -d class show dev imq | \ grep -A 4 "class ... $num"; sleep 1; done to take a look to the classes 1:31 1:32 and 1:33. I could see that the filters does there job and every connection is going to the right class. I´ve started a download of a kernel image on a pay-system and it has ca 80kb/s. Than i´ve stopped that download and started the same on a BOfH-System, it has 80kb/s, all ok! Than a i´ve started the download on the pay-system again and after 10 seconds both systems got 40kb/s. Thats wrong! My Questions: -how to build a "dont touch" class? -what´s wrong on the thinks i´ve did? -is the pppoe-ethernet critical to pass thru the imq -how many prios are allowed? First i had prio 10, 20 and 30 on the classes and all are set to 3. Thanks for help! Mario Wolff PS: is it possible, that the hole QoS-Part of my 2.2.17 Kernel is bugy? On an other kernel-tree i applyed the ds-patch to get ingress qdisc support. It commpiles fine and the module loads with no errors, but a "tc qdisc add dev ppp0 ingress ..." gives no such device error!