OpenWrt Forum Archive

Topic: QoS with variable bandwidth

The content of this topic has been archived on 15 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I'm using internet over (wireless) CDMA connection and the link speed fluctuates heavily (probably depending on how many other clients are currently in the area and etc.). Is it even remotely possible to QoS such connection (at least to some degree)? Well.. especially important would be controlling upload traffic as its greatest bottleneck of the connection (AFAIK controlling downlink is problematic even with constant bandwidth - so its not necessary). I would prefer QoS-ing based on IP or MAC-addresses.

Currently using WRT54G v2.2 as router. It has dd-wrt firmware running, but I can easily switch to some OpenWRT distribution (have used White Russian before) or some other firmware. But well.. I think if OpenWRT can't do it then no other firmware can.

So far it seems that all QoS-ing applications need to have the link speed(s) specified. Well.. its quite understandable that this information is necessary to control traffic, but isn't there any solution that is able to shape traffic with fluctuating speed to at least some degree?

Thanks in advance.

I suppose its not possible, aye?

Thanks.

The standard scripts need the bandwidth parameter because they use CBQ or HTB qdisc - and they need it because that's how they work. So your only way out is to make your own QoS script, without CBQ or HTB.

If you are fine with strict priority scheduling, you can use the PRIO qdisc: that does not send lower priority packets at all if there is any high priority packets arriving. That could lead to starvation (and after a time-out, connection loss) of low priority traffics, so you have to be sure to not map traffics possibly eating the whole bandwidth to high priority (can work around this to add a shaper to enforce a maximum bandwidth under the high priority class).

It would be better to use a qdisc that use some weighted round-robin or weighted fairness queuing (WRR, WFQ) -like algorithm, that also does not need bandwidth as parameter, just chooses the next packet to send based on what the different flows/priorities got so far. But as far as Google knows, they are not implemented/polished in Linux kernels, so this isn't really a good option yet.

If anyone has better information that Google about WRR/WFQ being usable in OpenWRT or any kind of Linux, please correct me, I don't know the current status.

Thank you both for suggestions. I'll do some research/testing based on those. If someone has more tips, then please let me know.

pbix wrote:

You might checkout Gargoyle which is based on OpenWRT and especially this thread.

http://www.gargoyle-router.com/phpbb/vi … &t=754

Hi,
It looks interesting but in the installation instructions, the links to the packages are down.  Any idea on how to install this without flashing?  Anyway they don't have an image for the g300nh!

Not really helpful because there are only basics covered in wiki article, not QoS with variable bandwidth

The discussion might have continued from here.