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!
> #build a root-queue on the imq > tc qdisc add dev imq root handle 1: htb default 1did you ifconfig imq up !?> My Questions: > -how to build a "dont touch" class?there is one in htb X:0 (like 1:0). Just use default 0 or use flow 1:0 in filters> -what´s wrong on the thinks i´ve did?is imq up ?> -is the pppoe-ethernet critical to pass thru the imqhmm ... I don''t know interactions here ... probably it goes thru imq like all others> -how many prios are allowed? First i had prio 10, 20 and 30 on the4 prios (0-3). First it should be enough, at second: each new prio makes htb slower and more memory demanding devik
Hello Martin!> > -how many prios are allowed? First i had prio 10, 20 and 30 on the > > 4 prios (0-3). First it should be enough, at second: each > new prio makes htb slower and more memory demandingUh, its good to know about it. Does this happen allready if you compile htb for 8 prios (but only use 4 of them), or only if you use more then 4 prios of the 8 at the same time? What about increasing the depth-thingy? Greetings Nils
Hello devik, Am Montag, 25 März 2002 schrieben Sie:> > #build a root-queue on the imq > > tc qdisc add dev imq root handle 1: htb default 1 > did you ifconfig imq up !?Yes, for sure. If the interface were down, the filters could not put the traffic to the build classes.> > -how to build a "dont touch" class? > there is one in htb X:0 (like 1:0). Just use > default 0 or use flow 1:0 in filtersOh, that was new to me! I tought i have to put my packets to leave- classes. Thanks, i´ll try that.> > -is the pppoe-ethernet critical to pass thru the imq > hmm ... I don''t know interactions here ... probably > it goes thru imq like all othersok, then i put it to flow 1:0.> > -how many prios are allowed? First i had prio 10, 20 and 30 on the > 4 prios (0-3). First it should be enough, at second: each > new prio makes htb slower and more memory demandingi dont need more than that, but i tought the prio backside would be build at runtime and so i decide to leave space for something like "more prio than x but less prio than y". I´m not a great programmer but maybe there would be a way to configure that at the kernel conf, just like number of unix98-terms or something.> devikthanks! Mario
> > > -how many prios are allowed? First i had prio 10, 20 and 30 on the > > > > 4 prios (0-3). First it should be enough, at second: each > > new prio makes htb slower and more memory demanding > > Uh, its good to know about it. Does this happen allready if you compile htb for > 8 prios (but only use 4 of them), or only if you use more then 4 prios of the 8 > at the same time?It depends on compile values. It should not be problem to have 8 prios if you don''t want to shape over multi 100Mbit ...> What about increasing the depth-thingy?It depend a bit on it too but not so much. Increasing both depth and prio count would make it about 10% slower... devik
> > > -how many prios are allowed? First i had prio 10, 20 and 30 on the > > 4 prios (0-3). First it should be enough, at second: each > > new prio makes htb slower and more memory demanding > > i dont need more than that, but i tought the prio backside would > be build at runtime and so i decide to leave space for something > like "more prio than x but less prio than y". > I´m not a great programmer but maybe there would be a way to configure > that at the kernel conf, just like number of unix98-terms or something.It is possible of course. Only having too much prio levels will not do much good for you. It is better to use low prio mid prio and hi prio and use bw limiting to share more hi-prio classes. devik
Am Montag, 25 März 2002 schrieb Mario Wolff <wolff@voll.prima.de> :> I do imq+htb traffic controll but it does not regulate anything. > What i´ve checked:the imq-interface is up> 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!i´ve put the kernel-image to the routers-webserver (normaly for mrtg) to exclude inges influence. But the situation is still the same!> My Questions: > -what´s wrong on the thinks i´ve did?Thats still the question! Should i send other/more information? What would you need to help?> Thanks for help!Once again!> Mario WolffYes, myself! 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!This is also left unanswerd. Is anybody succesfully using thes kernel?
> > 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! > > i´ve put the kernel-image to the routers-webserver (normaly for mrtg) > to exclude inges influence. But the situation is still the same!I can''t found tc -s -d show qdisc and tc -s -d show class outputs during all tests. Did you attached them ?> Thats still the question! Should i send other/more information? What > would you need to help?money ? ;-] hehe just joking (unfortunately)> > 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! > > This is also left unanswerd. Is anybody succesfully using thes kernel?yes, me. devik
> > > 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! > > > > This is also left unanswerd. Is anybody succesfully using thes kernel?I''m not following the thread, with 2.2.19 I have HTB which seems to work, but ingress doesn''t (with ds-patch applied). Ingress only works for me in 2.4 kernel. -- __o _ \<_ (_)/(_) Saludos de Julián EA4ACL -.- Foro Wireless Madrid http://opennetworks.rg3.net
i''m still newbie about qdisc and i have read about bandwidth limiting howto also kernel modules script about qdisc but still not understanding about the cbq and htb algorithm besides it''s classes things anyone can help me ... Best regards,>--<Kristiadi Himawan>--<