On Mon, 21 Nov 2005 16:22:17 -0800 (PST) weihua zhang <zfireboy@xxxxxxxxx> wrote: > Hey, everyone, I am kindda newbie to this subject, so I just post my problem directly, please let me know if anything is wrong. > > in my config file > when I use > tc class add dev eth1 parent 1:11 classid 1:11016 htb rate 512kbit burst 10k > > everything works correctly > > but...when classid goes larger than 1:19999, eg: > tc class add dev eth1 parent 1:21 classid 1:21006 htb rate 256kbit burst 10k > it thows out "RTNETLINK answers: Invalid argument" > > I am using Fedora core 3 and what I am trying to do here is regulating each mac's > packets attached under access point. so basiclly parent 1:21 stands for an access point, and 1:21xxx stands for one device id attached to it. originally we had no more > than 50 macs per AP, eg: 1:2101 for upload, 1:2102 for download per mac address. > so 1:21xx can cover 50 macs. > > now when I want to add more than 50 macs under one AP, the classid pattern needs to be updated. it's very strange to me that when I updated all classid to cover 500 macs per AP, eg: 1:21xxx, it throws out invalid argument error, but it works fine when classid was below 1:19999. > > hope I stated this problem clearly. > thanks ahead for the help. > Some non-obvious things about classid's. * Tc parses classid's in hex (base 16) by default. * Classid's are usually split into a major and minor part by the colon(:) * The maximum value (hard coded into the the packet scheduler API) is 16 bits for each; ie. 16 bits for minor number. Why not just use some shell functions to encode the access point to class id mapping more densely? _______________________________________________ LARTC mailing list LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc