Advice on managing heavy outgoing streams with LEDE and hopefully LUCI

Hi gents

I'm brand new to lede, and so far really like what I'm seeing. I've read a fair amount on the options for traffic management in LEDE and it sounds like for the average user SQM will work great with very little messing around.

That will probably work fine for me, but I have one little wrinkle that I would like some advice on how to approach. Aside from the regular home traffic types (VOIP, gaming, http, etcetera) I have two heavy outgoing streams that pin my egress bandwidth for ~ 12 hours a day. At certain times, only one (or the other) stream may be active, or both may be active. It is the case that where both are active, one needs to take precedence and be managed proportionally - about 80/20% or 70 / 30% approximately. To explain a little more, one stream is interactive based and so needs more priority, and the other is unattended, but still needs enough to not time out.

Can anyone give me a pointer as to how to approach this?

From what I've read, were I to attack this the hard way, I'd simply create a whole QOS configuration from scratch at the command line and go from there. (I currently have a config using Tomato that works great for everything, so that would be the model).

At the same time, because of my relative unfamiliarity with LEDE I'd prefer to use something that provides at least a gui in luci. Finally, SQM seems to be the popular way to go, but I don't see really any way to configure it to tweak it to my specification.

I've tried out one of the QOS scripts in LUCI and it seems fine for what I need, the only thing is that it doesn't have enough target buckets, and I don't see a way to add more in the GUI. Is this a tweak that I could do and then continue to use the QOS gui for? This is assuming, that QOS is the way to attack this problem in the first place.

Thanks for the education in advance.

EDIT: Forgot to mention that I DSCP tag my two special traffic types so they can be managed. Currently I think I'm using DSCP 2 and DSCP 3.

That will probably work fine for me, but I have one little wrinkle that I
would like some advice on how to approach. Aside from the regular home
traffic types (VOIP, gaming, http, etcetera) I have two heavy outgoing streams
that pin my egress bandwidth for ~ 12 hours a day. At certain times, only one
(or the other) stream may be active, or both may be active. It is the case
that where both are active, one needs to take precedence and be managed
proportionally - about 80/20% or 70 / 30% approximately. To explain a little
more, one stream is interactive based and so needs more priority, and the
other is unattended, but still needs enough to not time out.

The first thing I would do is to try it and see what happens without manually
setting the priority.

The idea behind fq_codel and SQM is that if the queues are kept appropriately
small, bulk and interactive traffic can co-exist without needing manual tweaks.

There is code in the system that tries to detect interactive flows vs bulk flows
and prioritize the interactive flows. Getting into the details of exactly how it
works can be a bit messy, but it does work pretty well.

So while there are things you can do manually, you probably don't need to.

David Lang

I'm not sure if I explained as clearly as I should have - I have two bulk streams that pin the outgoing bandwidth for some hours every day. But when both are present, one needs to be given priority. I am guessing, that without tweaking, what will happen is those two will be evenly distributed and that's what I'm hoping to avoid. I trust SQM to manage VOIP and the rest of the traffic appropriately without my intervention.

Ok, so I actually have everything working in my setup and SQM works beautifully.

Except, for the area I was concerned about, which is selectivity prioritizing the outbound bandwidth between the two heavy outbound bulk applications marked DSCP 3 and 4.

The only "tweaking" I can find out SQM involves measuring the bandwidth more exactly, and that's obviously not what I need here. Is there a way for me to "add on" some rules to what SQM is doing? Please give me some pointers or search terms for how I might investigate this if you could.

thanks