Hi, Has anyone used TC in a wireless environment, which is dynamic. I understand that the parameters for queuing are static and cannot be changed unless the queuing discipline is deleted and reloaded with different parameters. If anyone can share any experience, that would be helpful. Thanx. Azim. _______________________________________________ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
Dnia wtorek, 27 grudnia 2005 23:10, Azim Samjani napisał(a):> Hi, > > Has anyone used TC in a wireless environment, which is dynamic. I > understand that the parameters for queuing are static and cannot be changed > unless the queuing discipline is deleted and reloaded with different > parameters. > > If anyone can share any experience, that would be helpful.Hello! I''m not sure if I fully understand Your problem but tc is able to change specified class without destroying all classes and disciplines on network interface. I use perl and php webpanel for setting up speed limits for my clients. Loading all tc rules for all interfaces (and imqs) after every single change is very slow, but I am able to change the one I need after changing settings of one client with `tc class change`, after which I put all the stuff that normally goes with `tc class add`. -- | pozdrawiam / greetings | powered by Trustix, Gentoo and FreeBSD | | Kajetan Staszkiewicz | JID: vegeta@chrome.pl | | Vegeta | IMQ devnames: http://tuxpowered.net | `------------------------^----------------------------------------''
Thank you so much for your reply. Its my mistake - I should have made it a bit more transparent. But yes, you got me right on that. I will try to discuss 2 probable scenarios - 1. Ingress - suppose I have a ingress policer, which allows data to enter system at 2 Mbps. I should be able to set it to 1Mbps or increase to 3Mbps depending on my wireless network conditions. Wireless links are dynamic and error rate is high. Hence I want to set the policer to these values, without losing any packets and without disturbing the queuing discipline. 2. Egress - I use a token bucket to shape out going traffic. Similarly, here also, I should be able to dynamically set the out going rate, without reloading all the queue parameters. I want to control this on multiple interfaces. But initially, it would be good to try such a thing on only one interface. I would like to know, if such a provision is available in TC. Thanx. Azim. -----Original Message----- From: lartc-bounces@mailman.ds9a.nl [mailto:lartc-bounces@mailman.ds9a.nl] On Behalf Of Kajetan Staszkiewicz Sent: Tuesday, December 27, 2005 6:55 PM To: lartc@mailman.ds9a.nl Subject: Re: [LARTC] TC in Wireless Environment Dnia wtorek, 27 grudnia 2005 23:10, Azim Samjani napisał(a):> Hi, > > Has anyone used TC in a wireless environment, which is dynamic. I > understand that the parameters for queuing are static and cannot be > changed unless the queuing discipline is deleted and reloaded with > different parameters. > > If anyone can share any experience, that would be helpful.Hello! I''m not sure if I fully understand Your problem but tc is able to change specified class without destroying all classes and disciplines on network interface. I use perl and php webpanel for setting up speed limits for my clients. Loading all tc rules for all interfaces (and imqs) after every single change is very slow, but I am able to change the one I need after changing settings of one client with `tc class change`, after which I put all the stuff that normally goes with `tc class add`. -- | pozdrawiam / greetings | powered by Trustix, Gentoo and FreeBSD | | Kajetan Staszkiewicz | JID: vegeta@chrome.pl | | Vegeta | IMQ devnames: http://tuxpowered.net | `------------------------^----------------------------------------'' _______________________________________________ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
Azim Samjani wrote:> > Thank you so much for your reply. Its my mistake - I should have made it a > bit more transparent. But yes, you got me right on that. > > I will try to discuss 2 probable scenarios - > > 1. Ingress - suppose I have a ingress policer, which allows data to enter > system at 2 Mbps. I should be able to set it to 1Mbps or increase to 3Mbps > depending on my wireless network conditions. Wireless links are dynamic and > error rate is high. Hence I want to set the policer to these values, without > losing any packets and without disturbing the queuing discipline. > > 2. Egress - I use a token bucket to shape out going traffic. Similarly, here > also, I should be able to dynamically set the out going rate, without > reloading all the queue parameters. > > I want to control this on multiple interfaces. But initially, it would be > good to try such a thing on only one interface. > > I would like to know, if such a provision is available in TC. > > Thanx. > > Azim. > > -----Original Message----- > From: lartc-bounces@mailman.ds9a.nl [mailto:lartc-bounces@mailman.ds9a.nl] > On Behalf Of Kajetan Staszkiewicz > Sent: Tuesday, December 27, 2005 6:55 PM > To: lartc@mailman.ds9a.nl > Subject: Re: [LARTC] TC in Wireless Environment > > Dnia wtorek, 27 grudnia 2005 23:10, Azim Samjani napisa³(a): > > > Hi, > > > > Has anyone used TC in a wireless environment, which is dynamic. I > > understand that the parameters for queuing are static and cannot be > > changed unless the queuing discipline is deleted and reloaded with > > different parameters. > > > > If anyone can share any experience, that would be helpful. > > Hello! > > I''m not sure if I fully understand Your problem but tc is able to change > specified class without destroying all classes and disciplines on network > interface. > > I use perl and php webpanel for setting up speed limits for my clients. > Loading all tc rules for all interfaces (and imqs) after every single change > is very slow, but I am able to change the one I need after changing settings > of one client with `tc class change`, after which I put all the stuff that > normally goes with `tc class add`.You should look at these: http://mrtg.saintjoe.edu/mrtg/ratelimit/ http://www.freenet.org.nz/python/pyshaper/ http://sourceforge.net/projects/rcc http://www.shurdix.org/ I don''t know if any of these is exactly what you want because the errors in wireless cause problems for traffic shaping, but you will certainly find lots of ideas and at least some answers. -- gypsy
Dnia środa, 28 grudnia 2005 17:10, napisałe(a)ś:> Thank you so much for your reply. Its my mistake - I should have made it a > bit more transparent. But yes, you got me right on that. > > I will try to discuss 2 probable scenarios - > > 1. Ingress - suppose I have a ingress policer, which allows data to enter > system at 2 Mbps. I should be able to set it to 1Mbps or increase to 3Mbps > depending on my wireless network conditions. Wireless links are dynamic and > error rate is high. Hence I want to set the policer to these values, > without losing any packets and without disturbing the queuing discipline. > > 2. Egress - I use a token bucket to shape out going traffic. Similarly, > here also, I should be able to dynamically set the out going rate, without > reloading all the queue parameters. > > I want to control this on multiple interfaces. But initially, it would be > good to try such a thing on only one interface. > > I would like to know, if such a provision is available in TC.So it is only settings for one machine? Deleting and adding just a few rules should not be such a big problem. In my case adding new rules takes about 30 seconds (hundreds of rules for each user in the network), so as I mentioned I use `tc class change`. It works just like `tc class add`: (from a perl script) `$TC class change dev $ifname parent 1:6667 classid 1:$klasa htb rate 5kbit ceil $ceildown quantum 2000 burst 10kbit`; `$TC class change dev imq$imqname parent 1:6667 classid 1:$klasa htb rate 5kbit ceil $ceilup quantum 2000 burst 10kbit`; It changes properties of specified class without deleting all clases on device (like `tc qdisc del dev eth0.11 root` does). -- | pozdrawiam / greetings | powered by Trustix, Gentoo and FreeBSD | | Kajetan Staszkiewicz | JID: vegeta@chrome.pl | | Vegeta | IMQ devnames: http://tuxpowered.net | `------------------------^----------------------------------------''
Thanks very much. This is what I needed. Really appreciate your efforts! Azim. -----Original Message----- From: lartc-bounces@mailman.ds9a.nl [mailto:lartc-bounces@mailman.ds9a.nl] On Behalf Of Kajetan Staszkiewicz Sent: Monday, January 02, 2006 12:02 PM To: lartc@mailman.ds9a.nl Subject: Re: [LARTC] TC in Wireless Environment Dnia środa, 28 grudnia 2005 17:10, napisałe(a)ś:> Thank you so much for your reply. Its my mistake - I should have made > it a bit more transparent. But yes, you got me right on that. > > I will try to discuss 2 probable scenarios - > > 1. Ingress - suppose I have a ingress policer, which allows data to > enter system at 2 Mbps. I should be able to set it to 1Mbps or > increase to 3Mbps depending on my wireless network conditions. > Wireless links are dynamic and error rate is high. Hence I want to set > the policer to these values, without losing any packets and withoutdisturbing the queuing discipline.> > 2. Egress - I use a token bucket to shape out going traffic. > Similarly, here also, I should be able to dynamically set the out > going rate, without reloading all the queue parameters. > > I want to control this on multiple interfaces. But initially, it would > be good to try such a thing on only one interface. > > I would like to know, if such a provision is available in TC.So it is only settings for one machine? Deleting and adding just a few rules should not be such a big problem. In my case adding new rules takes about 30 seconds (hundreds of rules for each user in the network), so as I mentioned I use `tc class change`. It works just like `tc class add`: (from a perl script) `$TC class change dev $ifname parent 1:6667 classid 1:$klasa htb rate 5kbit ceil $ceildown quantum 2000 burst 10kbit`; `$TC class change dev imq$imqname parent 1:6667 classid 1:$klasa htb rate 5kbit ceil $ceilup quantum 2000 burst 10kbit`; It changes properties of specified class without deleting all clases on device (like `tc qdisc del dev eth0.11 root` does). -- | pozdrawiam / greetings | powered by Trustix, Gentoo and FreeBSD | | Kajetan Staszkiewicz | JID: vegeta@chrome.pl | | Vegeta | IMQ devnames: http://tuxpowered.net | `------------------------^----------------------------------------'' _______________________________________________ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc