Things have been going well with my progress on integrating traffic control in conjunction with DHCP and a web interface for my project. I have run into another crutch though. The box needs to limit traffic based off of ip but I was just informed that the traffic also has to be limited as a whole on a port by port basis. I''ve begun to think of how to implement this and it seems quite complicated to grasp. Even more difficult to grasp when I think that all users should have individual per port traffic shaping as well. Currently There is an htb root qdisc and a class for each user to split bandwidth by user. To split port up by user, should I create more classes under the user''s class for how I wish to further divide that user''s traffic? I plan to add filters attached to the qdisc who''s parent is the user''s class and assign it to the corresponding classes designated for by port shaping. To do port shaping on top of this as a whole confuses me. I picture having a root qdisc which has classes to and filters attached to it to first divide the traffic by port. Under each of these classes has to be a class for each user to determine their share of the allotted port bandwidth. Make sense? As far as an interface goes, the initial shaping by port should be setup first because this information is needed before users are created. After the initial shaping by port is done, user creation is possible. The user shaped by ip but also needs to be split by port. The port split needs to be accomplished by querying all of the parent classes under the root qdisc and comparing the filters to determine which ports are split and how much bandwidth each port gets. Once this is done the split needs to be specified for all of the ports being shaped to subdivide the users traffic by port accordingly. This seems like a mouthful and is quite complicated. Is this the best way to accomplish such a task? Hayden Myers Support Manager Skyline Network Technologies hayden@spinbox.com (410)583-1337 option 2 _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
On Thursday 24 October 2002 20:46, Hayden Myers wrote:> Things have been going well with my progress on integrating traffic > control in conjunction with DHCP and a web interface for my project. I > have run into another crutch though. The box needs to limit traffic based > off of ip but I was just informed that the traffic also has to be limited > as a whole on a port by port basis. I''ve begun to think of how to > implement this and it seems quite complicated to grasp. Even more > difficult to grasp when I think that all users should have individual per > port traffic shaping as well. Currently There is an htb root qdisc and a > class for each user to split bandwidth by user. To split port up by user, > should I create more classes under the user''s class for how I wish to > further divide that user''s traffic?Yes.> I plan to add filters attached to the > qdisc who''s parent is the user''s class and assign it to the corresponding > classes designated for by port shaping. To do port shaping on top of this > as a whole confuses me.Ad filter to the root qdisc to put the traffic in the different classes based on the ip-adres. After that, you can add extra filters to the classes so you can split the traffic further based on ports.> I picture having a root qdisc which has classes > to and filters attached to it to first divide the traffic by port. Under > each of these classes has to be a class for each user to determine their > share of the allotted port bandwidth. Make sense?Why splitting first by port? I think it makes more sense to split first by ip-address and after that by port.> As far as an interface goes, the initial shaping by port should be setup > first because this information is needed before users are created. > > After the initial shaping by port is done, user creation is possible. The > user shaped by ip but also needs to be split by port. The port split > needs to be accomplished by querying all of the parent classes under the > root qdisc and comparing the filters to determine which ports are split > and how much bandwidth each port gets. Once this is done the split needs > to be specified for all of the ports being shaped to subdivide the users > traffic by port accordingly. This seems like a mouthful and is quite > complicated. Is this the best way to accomplish such a task?Euh I can''t follow you :) Do you want the traffic to be splitted by address and then by port or first by port and then by address or by a combination of port/address? This is important because it determines how traffic is shared belong the classes. Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.oftc.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
I''ve finally decied that the prio qdisc needs to be attached to root. Delay should be minimized first, with normal service 2nd, and max throughput third in the 3 band setup I have planned. Are there any recommendations? Basically terminals with telnet or ssh should get first priority with web traffic next and filesharing or transferring third. Does each band or class under a prio need to point to a seperate qdisc or can they all point to the same one? With this kind of qdisc, how do I track a users bandwidth since their traffic will be going through 3 seperate qdiscs based on tos. I''m thinking that I can wrap the prio in an htb and shape the users traffic before it gets to the prio. This seems out of whack. I thought that the prio scheduler should always be first in line so priority traffic gets handled first. Hayden Myers Support Manager Skyline Network Technologies hayden@spinbox.com (410)583-1337 option 2 _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/