after reading the new howto i wanted to rewrite my QoS-script, now that most parameters lost their mysteriousness. while rewriting i gave some classes new classid''s which led to ''RTNETLINK answers: Invalid argument''. i decided to try the sample from the howto first, but got the same problem: Sample configuration This configuration limits webserver traffic to 5mbit and smtp traffic to 3 mbit, and limits the sum to 5mbit: [...] # tc class add dev eth0 parent 1:1 classid 10: cbq bandwidth 100Mbit \ rate 5Mbit weight 0.5Mbit prio 5 allot 1514 cell 8 maxburst 20 \ avpkt 1000 bounded the above leads to an Invalid argument. it seems that tc doesnt like the classid 10: (at least the error disappears if i change it to e.g. 1:2). have i done something wrong or is it an error in the example? this problem leads me also to the next question: is the naming of classes essential for building them correctly? is parent 1:1 classid 10:0 somehow different from parent 1:1 classid 1:2? up to now i thought classid was only a name and the parent would be enough to make the classes'' positions in the tree unambiguously... regards, Patrick
On Thu, Dec 06, 2001 at 11:14:01PM +0100, Patrick Nagelschmidt wrote:> This configuration limits webserver traffic to 5mbit and smtp traffic to 3 mbit, and limits the sum to 5mbit: > [...] > # tc class add dev eth0 parent 1:1 classid 10: cbq bandwidth 100Mbit \ > rate 5Mbit weight 0.5Mbit prio 5 allot 1514 cell 8 maxburst 20 \ > avpkt 1000 bounded > > the above leads to an Invalid argument. it seems that tc doesnt like the > classid 10: (at least the error disappears if i change it to e.g. 1:2).TC likes it just fine. It is the kernel that doesn''t. This is my mistake, I decided to spruce up the examples a bit without testing them afterwards.> have i done something wrong or is it an error in the example? this problemCan you check if the CBQ example does work not?> leads me also to the next question: is the naming of classes essential for > building them correctly? is parent 1:1 classid 10:0 somehow different from > parent 1:1 classid 1:2? up to now i thought classid was only a name and > the parent would be enough to make the classes'' positions in the tree > unambiguously...Well, major numbers are a bit special in this respect. There is some stuff going on with userspace per-socket specified PRIOs helping classify traffic, the kernel does a lot of testing if you remain within your major number. This is one of the completely never ever mentioned parts of CBQ which I hope to bug people about. Added you to the Thanks To list, thanks! -- http://www.PowerDNS.com Versatile DNS Software & Services Trilab The Technology People Netherlabs BV / Rent-a-Nerd.nl - Nerd Available - ''SYN! .. SYN|ACK! .. ACK!'' - the mating call of the internet
At 06.12.01, you wrote:>Can you check if the CBQ example does work not?this was the cbq example :) or do you mean besides this classid?>Added you to the Thanks To listand i allready feared to get a RTFM as reply ;) regards, Patrick
On Fri, Dec 07, 2001 at 12:14:26AM +0100, Patrick Nagelschmidt wrote:> At 06.12.01, you wrote: > >Can you check if the CBQ example does work not? > > this was the cbq example :) > or do you mean besides this classid?''does work now'' I mean :-) I just improved it, please see if it helped.> >Added you to the Thanks To list > > and i allready feared to get a RTFM as reply ;)We''re not quite good enough yet that you can feel confident that everything in the HOWTO is correct. So continue beating on it! Regards, bert -- http://www.PowerDNS.com Versatile DNS Software & Services Trilab The Technology People Netherlabs BV / Rent-a-Nerd.nl - Nerd Available - ''SYN! .. SYN|ACK! .. ACK!'' - the mating call of the internet
At 07.12.01, you wrote:>I just improved it, please see if it helped.now everything from the cbq example executes without errors. i can''t tell you if it works the way it should since i''m still learning to understand what it should do ;) regards, Patrick
On Thu, Dec 06, 2001 at 11:14:01PM +0100, Patrick Nagelschmidt wrote:> is the naming of classes essential for building them correctly? is > parent 1:1 classid 10:0 somehow different from parent 1:1 classid 1:2? > up to now i thought classid was only a name and the parent would be > enough to make the classes'' positions in the tree unambiguously...If we were to rework the naming, something like ... 1) parent 1: classid 1:2 2) parent 1:2 classid 1:2:5 3) parent 1:2:5 classid 1:2:5:8 ... would make more sense. The numbering scheme currently in place makes very little sense and is quite wasteful of the number-space it uses (not that it matters much to most people). If the above were used, ''parent'' would become quite unnecessary of course. -- Michael T. Babcock CTO, FibreSpeed Ltd. (Hosting, Security, Consultation, Database, etc) http://www.fibrespeed.net/~mbabcock/