[Bloat] Getting started with sqm-scripts - latency good, bandwidth decimated

moeller0 moeller0 at gmx.de
Wed Jan 20 06:47:08 EST 2016


Hi Alan, hi Brandon:

> On Jan 20, 2016, at 11:15 , Alan Jenkins <alan.christopher.jenkins at gmail.com> wrote:
> 
> On 20/01/2016, Alan Jenkins <alan.christopher.jenkins at gmail.com> wrote:
>> On 19/01/2016, Brandon Applegate <brandon at burn.net> wrote:
>>> Disclaimer: if this is the wrong list for such a question - let me know.
>>> This is specifically about the sqm-scripts package...
>>> 
>>> Hello,
>>> 
>>> I’ve been reading all I can on the bufferbloat website and also trying to
>>> understand the evolution of the various scripts (debloat, sqm, etc).
>>> 
>>> I managed to get sqm-scripts on my firewall (Ubuntu linux on a PC - no
>>> *wrt
>>> etc).  Got it built with the ‘linux’ platform.  Since this is Ubuntu 12.04
>>> -
>>> I had to cheat a bit and pull down the iproute2 source from 14.04.  I’ve
>>> tweaked the main sqm script to reflect this for the tc bindary - this is
>>> working.  I also updated my kernel to a later version that supports
>>> fq_codel.
>>> 
>>> My topology is ‘on a stick’.  I have one gig interface to a managed
>>> switch,
>>> on which are eth0.666 (outside/wan) and eth0.10 (inside).
>>> 
>>> I have 30/5 cable service, and have tried both those values as well as
>>> 90%
>>> in my /etc/sqm/*conf file.
>>> 
>>> I’ve tried both eth0 (raw/parent interface) as well as eth0.666.
>>> 
>>> No matter what I do - my bandwidth is 10% of what it should be.  I get
>>> approx. 3/4mbit down + 2/3mbit up on dslreports speedtest.  Bufferbloat
>>> looks great though - A+.
>>> 
>>> Is there something inherent I’m doing wrong ?  Something to do with my ‘on
>>> a
>>> stick’ topology biting me ?  Kernel version (Ubuntu’s 3.13.0-74-generic
>>> btw).
>>> 
>>> Thanks in advance for any help or info (or pointer to a more appropriate
>>> list).
>> 
>> It doesn't sound like you're doing anything wrong :(.
>> 
>> I would make sure to check the rates on `tc class show dev eth0.666`
>> (and ifb4eth0.666).  Switching to `simplest.qos` could be easier to
>> debug.  With your simple.qos, there'll be several tracffic classes...
>> the `root` should be the specified `rate`, and it looks like all
>> classes save 1:11 should have a `ceil` just under the specified rate.
>> 
>> Not sure how to debug qos-scripts itself.  However the Gentoo wiki has
>> a 50-line script, which was corrected by dtaht :).  Like simplest.qos
>> this has a single class.
>> https://wiki.gentoo.org/wiki/Traffic_shaping
>> 
>> That would let you investigate the commands finely, as well as the
>> resulting state shown by `tc qdisc` and `tc class`, and really narrow
>> it down.
>> 
>> `dslreports.com` will show bandwidth and latency-under-load in each
>> direction independently, so you could work on a single direction.  I
>> would look at ingress only (the IFB) since that's where your bandwidth
>> decimation is so visible.  E.g. just comment out the egress section,
>> to avoid distractions.
>> 
>> I think you can run the htb without the fq_codel command at the end -
>> that is, it will default to a massive fifo, which will replace the
>> fq_codel in the output of `tc qdisc`, but to a first approximation it
>> will affect bandwidth.
>> 
>> Good luck
>> Alan
> 
> PS
> 
> The `ifb` part might be a bit mysterious.  If sqm-scripts is renaming
> them, you could just remove the IFB kernel module & reload it to clear
> the entire IFB config:
> 
> modprobe -r ifb
> 
> (the script includes "modprobe ifb" to load it as required)

Sqm is supposed to delete its ifb interfaces if they are not used anymore, to test whether an existing interface is redirected to an ifb (and if yes which ifb) just issue the following (pppoe-ge00 being the name of the interface in question):
root at computer:~# tc -p filter show parent ffff: dev pppoe-ge00
filter protocol all pref 10 u32 
filter protocol all pref 10 u32 fh 800: ht divisor 1 
filter protocol all pref 10 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1 
  match 00000000/00000000 at 0
	action order 1: mirred (Egress Redirect to device ifb4pppoe-ge00) stolen
 	index 145 ref 1 bind 1

Best Regards
	Sebastian


> _______________________________________________
> Bloat mailing list
> Bloat at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat



More information about the Bloat mailing list