Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
* [Cerowrt-devel] Correct syntax for cake commands and atm issues.
@ 2015-07-10 11:13 Fred Stratton
  2015-07-10 12:57 ` Jonathan Morton
  0 siblings, 1 reply; 30+ messages in thread
From: Fred Stratton @ 2015-07-10 11:13 UTC (permalink / raw)
  To: cerowrt-devel

I transitioned from ceroWRT to lupin, now at undisclosed version 4, to 
try cake. I have a renown poor ADSL line, connected to TalkTalk. After 
getting a 60 GBP discount by negotiating with a woman and her imaginary 
Manager friend in Bangalore a month ago, I have no intention of moving 
to fibre.

The wiki page gives insufficient detail.

I am currently using a bridged device to connect to the internet, and so 
have a pppoe-wan interface on the WNDR3800. I do not use PPPoA ever.

Whatever options I use with cake, the flow is either raw, or atm 
overhead is listed as 0.

I do not know what commands - or probably, more correctly, options - can 
be used, and in which order

incoming

... cake bandwidth 11500kbit besteffort

can you add atm overhead 38 (does not work, returns 0)

or are besteffort and atm mutually exclusive? Do I need to use the term 
'flows' somewhere?

do terms such as 'pppoe-vcmux; need to be preceded by 'atm'?

More clarity is needed, I suggest, or a man page equivalent.

On June 20th what I am experiencing was described by Alan Jenkins on the 
cake list.

I note the latest posting by DT on this Cero-devel list apparently using 
an ADSL line as a source example, only uses raw flows.



^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 11:13 [Cerowrt-devel] Correct syntax for cake commands and atm issues Fred Stratton
@ 2015-07-10 12:57 ` Jonathan Morton
  2015-07-10 13:11   ` Fred Stratton
  2015-07-10 14:52   ` Fred Stratton
  0 siblings, 2 replies; 30+ messages in thread
From: Jonathan Morton @ 2015-07-10 12:57 UTC (permalink / raw)
  To: Fred Stratton; +Cc: cerowrt-devel

[-- Attachment #1: Type: text/plain, Size: 563 bytes --]

You're already using correct syntax - I've written it to be quite lenient
and use sensible defaults for missing information. There are several sets
of keywords and parameters which are mutually orthogonal, and don't depend
on each other, so "besteffort" has nothing to do with "overhead" or "atm".

What's probably happening is that you're using a slightly old version of
the cake kernel module which lacks the overhead parameter entirely, but a
more up to date tc which does support it. We've seen this combination crop
up ourselves recently.

- Jonathan Morton

[-- Attachment #2: Type: text/html, Size: 676 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 12:57 ` Jonathan Morton
@ 2015-07-10 13:11   ` Fred Stratton
  2015-07-10 13:40     ` Jonathan Morton
  2015-07-10 14:52   ` Fred Stratton
  1 sibling, 1 reply; 30+ messages in thread
From: Fred Stratton @ 2015-07-10 13:11 UTC (permalink / raw)
  To: Jonathan Morton, cerowrt-devel

I am using the latest version compiled by DT, after you last made this 
incompatibility comment on the cake list.

I happen to have compiled separately a build with your changes of 22 
days ago incorporated, but based on lupin undisclosed version 2. I shall 
try that.

I am making an assumption throughout this that qdiscs should be used on 
the WAN side always, effectively before the firewall. Is this assumption 
correct?



On 10/07/15 13:57, Jonathan Morton wrote:
>
> You're already using correct syntax - I've written it to be quite 
> lenient and use sensible defaults for missing information. There are 
> several sets of keywords and parameters which are mutually orthogonal, 
> and don't depend on each other, so "besteffort" has nothing to do with 
> "overhead" or "atm".
>
> What's probably happening is that you're using a slightly old version 
> of the cake kernel module which lacks the overhead parameter entirely, 
> but a more up to date tc which does support it. We've seen this 
> combination crop up ourselves recently.
>
> - Jonathan Morton
>


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 13:11   ` Fred Stratton
@ 2015-07-10 13:40     ` Jonathan Morton
  0 siblings, 0 replies; 30+ messages in thread
From: Jonathan Morton @ 2015-07-10 13:40 UTC (permalink / raw)
  To: Fred Stratton; +Cc: cerowrt-devel

[-- Attachment #1: Type: text/plain, Size: 149 bytes --]

Qdiscs should be used on any link that might become a bottleneck. In most
consumer cases, that will indeed be your WAN interface.

- Jonathan Morton

[-- Attachment #2: Type: text/html, Size: 188 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 12:57 ` Jonathan Morton
  2015-07-10 13:11   ` Fred Stratton
@ 2015-07-10 14:52   ` Fred Stratton
  2015-07-10 15:16     ` [Cerowrt-devel] "Lupin undeclared"? Rich Brown
  2015-07-10 15:19     ` [Cerowrt-devel] Correct syntax for cake commands and atm issues Alan Jenkins
  1 sibling, 2 replies; 30+ messages in thread
From: Fred Stratton @ 2015-07-10 14:52 UTC (permalink / raw)
  To: cerowrt-devel, Jonathan Morton


You are absolutely correct.

I tried both a numeric overhead value, and alternatively 'pppoe-vcmux' 
and 'ether-fcs' in the build I crafted based on r46006, which is lupin 
undeclared version 2. Everything works as stated.

On lupin undeclared version 4, the current release based on r46117, the 
values were not recognised.

Thank you.

I had cake running on a Lantiq ADSL gateway running the same r46006 
build. Unfortunately this was bricked by attempts to get homenet 
working, so I have nothing to report about gateway usage at present.



On 10/07/15 13:57, Jonathan Morton wrote:
>
> You're already using correct syntax - I've written it to be quite 
> lenient and use sensible defaults for missing information. There are 
> several sets of keywords and parameters which are mutually orthogonal, 
> and don't depend on each other, so "besteffort" has nothing to do with 
> "overhead" or "atm".
>
> What's probably happening is that you're using a slightly old version 
> of the cake kernel module which lacks the overhead parameter entirely, 
> but a more up to date tc which does support it. We've seen this 
> combination crop up ourselves recently.
>
> - Jonathan Morton
>


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Cerowrt-devel] "Lupin undeclared"?
  2015-07-10 14:52   ` Fred Stratton
@ 2015-07-10 15:16     ` Rich Brown
  2015-07-10 15:39       ` Alan Jenkins
  2015-07-10 15:19     ` [Cerowrt-devel] Correct syntax for cake commands and atm issues Alan Jenkins
  1 sibling, 1 reply; 30+ messages in thread
From: Rich Brown @ 2015-07-10 15:16 UTC (permalink / raw)
  To: Fred Stratton; +Cc: Jonathan Morton, cerowrt-devel

Hi Fred,

I'm not familiar with "lupin undeclared" - could you send a pointer/link? Thanks.

Rich

On Jul 10, 2015, at 10:52 AM, Fred Stratton <fredstratton@imap.cc> wrote:

> 
> You are absolutely correct.
> 
> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux' and 'ether-fcs' in the build I crafted based on r46006, which is lupin undeclared version 2. Everything works as stated.
> 
> On lupin undeclared version 4, the current release based on r46117, the values were not recognised.
> 
> Thank you.
> 
> I had cake running on a Lantiq ADSL gateway running the same r46006 build. Unfortunately this was bricked by attempts to get homenet working, so I have nothing to report about gateway usage at present.
> 
> 
> 
> On 10/07/15 13:57, Jonathan Morton wrote:
>> 
>> You're already using correct syntax - I've written it to be quite lenient and use sensible defaults for missing information. There are several sets of keywords and parameters which are mutually orthogonal, and don't depend on each other, so "besteffort" has nothing to do with "overhead" or "atm".
>> 
>> What's probably happening is that you're using a slightly old version of the cake kernel module which lacks the overhead parameter entirely, but a more up to date tc which does support it. We've seen this combination crop up ourselves recently.
>> 
>> - Jonathan Morton
>> 
> 
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 14:52   ` Fred Stratton
  2015-07-10 15:16     ` [Cerowrt-devel] "Lupin undeclared"? Rich Brown
@ 2015-07-10 15:19     ` Alan Jenkins
  2015-07-10 15:48       ` Fred Stratton
  2015-07-10 18:25       ` Fred Stratton
  1 sibling, 2 replies; 30+ messages in thread
From: Alan Jenkins @ 2015-07-10 15:19 UTC (permalink / raw)
  To: Fred Stratton, cerowrt-devel; +Cc: Jonathan Morton


I'm glad to hear there's a working version (even if it's not in the 
current build :).

Do you have measurable improvements with overhead configured (v.s. 
unconfigured)?

I've used netperfrunner from CeroWrtScripts, e.g.

sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER

I believe accounting for overhead helps on this two-way test, because a) 
it saturates the uplink b) about half that bandwidth is tiny ack packets 
(depending on bandwidth asymmetry).  And small packets have 
proportionally high overhead.

(But it seems to only make a small difference for me, which always 
surprises Seb).

Alan

On 10/07/15 15:52, Fred Stratton wrote:
>
> You are absolutely correct.
>
> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
> undeclared version 2. Everything works as stated.
>
> On lupin undeclared version 4, the current release based on r46117, the
> values were not recognised.
>
> Thank you.
>
> I had cake running on a Lantiq ADSL gateway running the same r46006
> build. Unfortunately this was bricked by attempts to get homenet
> working, so I have nothing to report about gateway usage at present.
>
>
>
> On 10/07/15 13:57, Jonathan Morton wrote:
>>
>> You're already using correct syntax - I've written it to be quite
>> lenient and use sensible defaults for missing information. There are
>> several sets of keywords and parameters which are mutually orthogonal,
>> and don't depend on each other, so "besteffort" has nothing to do with
>> "overhead" or "atm".
>>
>> What's probably happening is that you're using a slightly old version
>> of the cake kernel module which lacks the overhead parameter entirely,
>> but a more up to date tc which does support it. We've seen this
>> combination crop up ourselves recently.
>>
>> - Jonathan Morton
>>
>


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] "Lupin undeclared"?
  2015-07-10 15:16     ` [Cerowrt-devel] "Lupin undeclared"? Rich Brown
@ 2015-07-10 15:39       ` Alan Jenkins
  2015-07-10 23:16         ` Rich Brown
  2015-07-25 12:48         ` Dave Taht
  0 siblings, 2 replies; 30+ messages in thread
From: Alan Jenkins @ 2015-07-10 15:39 UTC (permalink / raw)
  To: Rich Brown; +Cc: cerowrt-devel

On 10/07/15 16:16, Rich Brown wrote:
> Hi Fred,
>
> I'm not familiar with "lupin undeclared" - could you send a pointer/link? Thanks.
>
> Rich

The unversioned testing build Dave posted at

http://snapon.lab.bufferbloat.net/~cero3/lupin/ar71xx/

which is not declared on the CeroWrt homepage.  (Presumably to avoid 
giving a false impression about how much life and commitment there is in 
those builds).

> On Jul 10, 2015, at 10:52 AM, Fred Stratton <fredstratton@imap.cc> wrote:
>
>> You are absolutely correct.
>>
>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux' and 'ether-fcs' in the build I crafted based on r46006, which is lupin undeclared version 2. Everything works as stated.
>>
>> On lupin undeclared version 4, the current release based on r46117, the values were not recognised.
>>
>> Thank you.
>>
>> I had cake running on a Lantiq ADSL gateway running the same r46006 build. Unfortunately this was bricked by attempts to get homenet working, so I have nothing to report about gateway usage at present.

unrelated, but ow, you have my sympathy.  I'd love to have a working 
lantiq with openwrt and fq_codel.

>>
>>
>>
>> On 10/07/15 13:57, Jonathan Morton wrote:
>>> You're already using correct syntax - I've written it to be quite lenient and use sensible defaults for missing information. There are several sets of keywords and parameters which are mutually orthogonal, and don't depend on each other, so "besteffort" has nothing to do with "overhead" or "atm".
>>>
>>> What's probably happening is that you're using a slightly old version of the cake kernel module which lacks the overhead parameter entirely, but a more up to date tc which does support it. We've seen this combination crop up ourselves recently.
>>>
>>> - Jonathan Morton
>>>
>> _______________________________________________
>> Cerowrt-devel mailing list
>> Cerowrt-devel@lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 15:19     ` [Cerowrt-devel] Correct syntax for cake commands and atm issues Alan Jenkins
@ 2015-07-10 15:48       ` Fred Stratton
  2015-07-10 18:25       ` Fred Stratton
  1 sibling, 0 replies; 30+ messages in thread
From: Fred Stratton @ 2015-07-10 15:48 UTC (permalink / raw)
  To: Alan Jenkins, cerowrt-devel

I have yet to undertake formal testing.

I moved from using a Buffalo WMBR-G300 running Barrier Breaker to a 
bridged device when I broke the former tying to install Homenet.

I omitted to recraft the cake script I was using to incorporate the 
correct interface, now pppoe-wan, and was unaware of the error until 
today, a fortnight later.

I am therefore not expecting significant improvements.

On 10/07/15 16:19, Alan Jenkins wrote:
>
> I'm glad to hear there's a working version (even if it's not in the 
> current build :).
>
> Do you have measurable improvements with overhead configured (v.s. 
> unconfigured)?
>
> I've used netperfrunner from CeroWrtScripts, e.g.
>
> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>
> I believe accounting for overhead helps on this two-way test, because 
> a) it saturates the uplink b) about half that bandwidth is tiny ack 
> packets (depending on bandwidth asymmetry).  And small packets have 
> proportionally high overhead.
>
> (But it seems to only make a small difference for me, which always 
> surprises Seb).
>
> Alan
>
> On 10/07/15 15:52, Fred Stratton wrote:
>>
>> You are absolutely correct.
>>
>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>> undeclared version 2. Everything works as stated.
>>
>> On lupin undeclared version 4, the current release based on r46117, the
>> values were not recognised.
>>
>> Thank you.
>>
>> I had cake running on a Lantiq ADSL gateway running the same r46006
>> build. Unfortunately this was bricked by attempts to get homenet
>> working, so I have nothing to report about gateway usage at present.
>>
>>
>>
>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>
>>> You're already using correct syntax - I've written it to be quite
>>> lenient and use sensible defaults for missing information. There are
>>> several sets of keywords and parameters which are mutually orthogonal,
>>> and don't depend on each other, so "besteffort" has nothing to do with
>>> "overhead" or "atm".
>>>
>>> What's probably happening is that you're using a slightly old version
>>> of the cake kernel module which lacks the overhead parameter entirely,
>>> but a more up to date tc which does support it. We've seen this
>>> combination crop up ourselves recently.
>>>
>>> - Jonathan Morton
>>>
>>
>


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 15:19     ` [Cerowrt-devel] Correct syntax for cake commands and atm issues Alan Jenkins
  2015-07-10 15:48       ` Fred Stratton
@ 2015-07-10 18:25       ` Fred Stratton
  2015-07-10 18:46         ` Sebastian Moeller
  2015-07-10 19:17         ` Alan Jenkins
  1 sibling, 2 replies; 30+ messages in thread
From: Fred Stratton @ 2015-07-10 18:25 UTC (permalink / raw)
  To: Alan Jenkins, cerowrt-devel

By your command
Rebooted to rerun qdisc script, rather than changing qdiscs from the 
command-line, so suboptimal process as end-point changed.

script configuring qdiscs and overhead 40 on

sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4 
streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
  Download:  6.73 Mbps
    Upload:  0.58 Mbps
   Latency: (in msec, 62 pings, 0.00% packet loss)
       Min: 24.094
     10pct: 172.654
    Median: 260.563
       Avg: 253.580
     90pct: 330.003
       Max: 411.145

script configuring qdiscs on flows raw

sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
78.145.32.1
2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 
streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
  Download:  6.75 Mbps
    Upload:  0.59 Mbps
   Latency: (in msec, 59 pings, 0.00% packet loss)
       Min: 23.605
     10pct: 169.789
    Median: 282.155
       Avg: 267.099
     90pct: 333.283
       Max: 376.509

script configuring qdiscs and overhead 36 on

sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
80.44.96.1
2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4 
streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
  Download:  6.56 Mbps
    Upload:  0.59 Mbps
   Latency: (in msec, 62 pings, 0.00% packet loss)
       Min: 22.975
     10pct: 195.473
    Median: 281.756
       Avg: 271.609
     90pct: 342.130
       Max: 398.573


On 10/07/15 16:19, Alan Jenkins wrote:
>
> I'm glad to hear there's a working version (even if it's not in the 
> current build :).
>
> Do you have measurable improvements with overhead configured (v.s. 
> unconfigured)?
>
> I've used netperfrunner from CeroWrtScripts, e.g.
>
> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>
> I believe accounting for overhead helps on this two-way test, because 
> a) it saturates the uplink b) about half that bandwidth is tiny ack 
> packets (depending on bandwidth asymmetry).  And small packets have 
> proportionally high overhead.
>
> (But it seems to only make a small difference for me, which always 
> surprises Seb).
>
> Alan
>
> On 10/07/15 15:52, Fred Stratton wrote:
>>
>> You are absolutely correct.
>>
>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>> undeclared version 2. Everything works as stated.
>>
>> On lupin undeclared version 4, the current release based on r46117, the
>> values were not recognised.
>>
>> Thank you.
>>
>> I had cake running on a Lantiq ADSL gateway running the same r46006
>> build. Unfortunately this was bricked by attempts to get homenet
>> working, so I have nothing to report about gateway usage at present.
>>
>>
>>
>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>
>>> You're already using correct syntax - I've written it to be quite
>>> lenient and use sensible defaults for missing information. There are
>>> several sets of keywords and parameters which are mutually orthogonal,
>>> and don't depend on each other, so "besteffort" has nothing to do with
>>> "overhead" or "atm".
>>>
>>> What's probably happening is that you're using a slightly old version
>>> of the cake kernel module which lacks the overhead parameter entirely,
>>> but a more up to date tc which does support it. We've seen this
>>> combination crop up ourselves recently.
>>>
>>> - Jonathan Morton
>>>
>>
>


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 18:25       ` Fred Stratton
@ 2015-07-10 18:46         ` Sebastian Moeller
  2015-07-10 19:14           ` Fred Stratton
  2015-07-10 19:34           ` Fred Stratton
  2015-07-10 19:17         ` Alan Jenkins
  1 sibling, 2 replies; 30+ messages in thread
From: Sebastian Moeller @ 2015-07-10 18:46 UTC (permalink / raw)
  To: Fred Stratton; +Cc: cerowrt-devel

Hi Fred,

your results seem to indicate that cake is not active at all, as the latency under load is abysmal (a quick check is to look at the median in relation to the min and the 90% number, in your examples all of these are terrible). Could you please post the result of the following commands on your router:
1) cat /etc/config/sqm
2) tc -d qdisc
3) tc -d class show dev pppoe-wan
4) tc -d class show dev ifb4pppoe-wqn
5) /etc/init.d/sqm stop
6) /etc/init.d/sqm start

hopefully these give some insight what might have happened.

And finally I would love to learn the output of:
sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4


Many Thanks & Best Regards
	Sebastian

On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> wrote:

> By your command
> Rebooted to rerun qdisc script, rather than changing qdiscs from the command-line, so suboptimal process as end-point changed.
> 
> script configuring qdiscs and overhead 40 on
> 
> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
> Download:  6.73 Mbps
>   Upload:  0.58 Mbps
>  Latency: (in msec, 62 pings, 0.00% packet loss)
>      Min: 24.094
>    10pct: 172.654
>   Median: 260.563
>      Avg: 253.580
>    90pct: 330.003
>      Max: 411.145
> 
> script configuring qdiscs on flows raw
> 
> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
> 78.145.32.1
> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
> Download:  6.75 Mbps
>   Upload:  0.59 Mbps
>  Latency: (in msec, 59 pings, 0.00% packet loss)
>      Min: 23.605
>    10pct: 169.789
>   Median: 282.155
>      Avg: 267.099
>    90pct: 333.283
>      Max: 376.509
> 
> script configuring qdiscs and overhead 36 on
> 
> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
> 80.44.96.1
> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
> Download:  6.56 Mbps
>   Upload:  0.59 Mbps
>  Latency: (in msec, 62 pings, 0.00% packet loss)
>      Min: 22.975
>    10pct: 195.473
>   Median: 281.756
>      Avg: 271.609
>    90pct: 342.130
>      Max: 398.573
> 
> 
> On 10/07/15 16:19, Alan Jenkins wrote:
>> 
>> I'm glad to hear there's a working version (even if it's not in the current build :).
>> 
>> Do you have measurable improvements with overhead configured (v.s. unconfigured)?
>> 
>> I've used netperfrunner from CeroWrtScripts, e.g.
>> 
>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>> 
>> I believe accounting for overhead helps on this two-way test, because a) it saturates the uplink b) about half that bandwidth is tiny ack packets (depending on bandwidth asymmetry).  And small packets have proportionally high overhead.
>> 
>> (But it seems to only make a small difference for me, which always surprises Seb).
>> 
>> Alan
>> 
>> On 10/07/15 15:52, Fred Stratton wrote:
>>> 
>>> You are absolutely correct.
>>> 
>>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>>> undeclared version 2. Everything works as stated.
>>> 
>>> On lupin undeclared version 4, the current release based on r46117, the
>>> values were not recognised.
>>> 
>>> Thank you.
>>> 
>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>> build. Unfortunately this was bricked by attempts to get homenet
>>> working, so I have nothing to report about gateway usage at present.
>>> 
>>> 
>>> 
>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>> 
>>>> You're already using correct syntax - I've written it to be quite
>>>> lenient and use sensible defaults for missing information. There are
>>>> several sets of keywords and parameters which are mutually orthogonal,
>>>> and don't depend on each other, so "besteffort" has nothing to do with
>>>> "overhead" or "atm".
>>>> 
>>>> What's probably happening is that you're using a slightly old version
>>>> of the cake kernel module which lacks the overhead parameter entirely,
>>>> but a more up to date tc which does support it. We've seen this
>>>> combination crop up ourselves recently.
>>>> 
>>>> - Jonathan Morton
>>>> 
>>> 
>> 
> 
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 18:46         ` Sebastian Moeller
@ 2015-07-10 19:14           ` Fred Stratton
  2015-07-10 19:15             ` Dave Taht
                               ` (2 more replies)
  2015-07-10 19:34           ` Fred Stratton
  1 sibling, 3 replies; 30+ messages in thread
From: Fred Stratton @ 2015-07-10 19:14 UTC (permalink / raw)
  To: Sebastian Moeller, cerowrt-devel



On 10/07/15 19:46, Sebastian Moeller wrote:
> Hi Fred,
>
> your results seem to indicate that cake is not active at all, as the latency under load is abysmal (a quick check is to look at the median in relation to the min and the 90% number, in your examples all of these are terrible). Could you please post the result of the following commands on your router:
> 1) cat /etc/config/sqm
config queue 'eth1'
     option qdisc 'fq_codel'
     option script 'simple.qos'
     option qdisc_advanced '0'
     option linklayer 'none'
     option enabled '0'
     option interface 'eth1'
     option download '0'
     option upload '0'


> 2) tc -d qdisc
qdisc fq_codel 0: dev eth0 root refcnt 2 limit 1024p flows 1024 quantum 
300 target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev eth1 root refcnt 2 limit 1024p flows 1024 quantum 
300 target 5.0ms interval 100.0ms ecn
qdisc mq 0: dev wlan1 root
qdisc fq_codel 0: dev wlan1 parent :1 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev wlan1 parent :2 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev wlan1 parent :3 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev wlan1 parent :4 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
qdisc mq 0: dev wlan0 root
qdisc fq_codel 0: dev wlan0 parent :1 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev wlan0 parent :2 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev wlan0 parent :3 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
qdisc fq_codel 0: dev wlan0 parent :4 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
qdisc cake 8002: dev pppoe-wan root refcnt 2 bandwidth 850Kbit 
besteffort flows raw
qdisc ingress ffff: dev pppoe-wan parent ffff:fff1 ----------------
qdisc cake 8001: dev ifb4pppoe-wan root refcnt 2 bandwidth 11500Kbit 
besteffort flows atm overhead 40

> 3) tc -d class show dev pppoe-wan
class cake 8002:2fa parent 8002:


> 4) tc -d class show dev ifb4pppoe-wqn

class cake 8001:6e parent 8001:
> 5) /etc/init.d/sqm stop
SQM: Trying to start/stop SQM on all interfaces.
SQM: run.sh stop
SQM: /usr/lib/sqm/run.sh SQM for interface eth1 is not enabled, skipping 
over...
> 6) /etc/init.d/sqm start
/etc/init.d/sqm start
SQM: Trying to start/stop SQM on all interfaces.
SQM: /usr/lib/sqm/run.sh SQM for interface eth1 is not enabled, skipping 
over...

>
> hopefully these give some insight what might have happened.
>
> And finally I would love to learn the output of:
> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4

betterspeedtest.sh not installed

sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.ne
t -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H 
netperf-
eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
sh: can't open 'betterspeedtest.sh'
2015-07-10 20:10:55 Testing netperf-eu.bufferbloat.net (ipv4) with 4 
streams down and up while pinging netperf-eu.bufferbloat.net. Takes 
about 150 seconds.
  Download:  6.8 Mbps
    Upload:  0.59 Mbps
   Latency: (in msec, 152 pings, 0.00% packet loss)
       Min: 73.911
     10pct: 232.211
    Median: 308.556
       Avg: 305.686
     90pct: 376.183
       Max: 412.553

>
>
> Many Thanks & Best Regards
> 	Sebastian
>
> On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> wrote:
>
>> By your command
>> Rebooted to rerun qdisc script, rather than changing qdiscs from the command-line, so suboptimal process as end-point changed.
>>
>> script configuring qdiscs and overhead 40 on
>>
>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
>> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
>> Download:  6.73 Mbps
>>    Upload:  0.58 Mbps
>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>       Min: 24.094
>>     10pct: 172.654
>>    Median: 260.563
>>       Avg: 253.580
>>     90pct: 330.003
>>       Max: 411.145
>>
>> script configuring qdiscs on flows raw
>>
>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>> 78.145.32.1
>> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
>> Download:  6.75 Mbps
>>    Upload:  0.59 Mbps
>>   Latency: (in msec, 59 pings, 0.00% packet loss)
>>       Min: 23.605
>>     10pct: 169.789
>>    Median: 282.155
>>       Avg: 267.099
>>     90pct: 333.283
>>       Max: 376.509
>>
>> script configuring qdiscs and overhead 36 on
>>
>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>> 80.44.96.1
>> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
>> Download:  6.56 Mbps
>>    Upload:  0.59 Mbps
>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>       Min: 22.975
>>     10pct: 195.473
>>    Median: 281.756
>>       Avg: 271.609
>>     90pct: 342.130
>>       Max: 398.573
>>
>>
>> On 10/07/15 16:19, Alan Jenkins wrote:
>>> I'm glad to hear there's a working version (even if it's not in the current build :).
>>>
>>> Do you have measurable improvements with overhead configured (v.s. unconfigured)?
>>>
>>> I've used netperfrunner from CeroWrtScripts, e.g.
>>>
>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>>>
>>> I believe accounting for overhead helps on this two-way test, because a) it saturates the uplink b) about half that bandwidth is tiny ack packets (depending on bandwidth asymmetry).  And small packets have proportionally high overhead.
>>>
>>> (But it seems to only make a small difference for me, which always surprises Seb).
>>>
>>> Alan
>>>
>>> On 10/07/15 15:52, Fred Stratton wrote:
>>>> You are absolutely correct.
>>>>
>>>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>>>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>>>> undeclared version 2. Everything works as stated.
>>>>
>>>> On lupin undeclared version 4, the current release based on r46117, the
>>>> values were not recognised.
>>>>
>>>> Thank you.
>>>>
>>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>>> build. Unfortunately this was bricked by attempts to get homenet
>>>> working, so I have nothing to report about gateway usage at present.
>>>>
>>>>
>>>>
>>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>>> You're already using correct syntax - I've written it to be quite
>>>>> lenient and use sensible defaults for missing information. There are
>>>>> several sets of keywords and parameters which are mutually orthogonal,
>>>>> and don't depend on each other, so "besteffort" has nothing to do with
>>>>> "overhead" or "atm".
>>>>>
>>>>> What's probably happening is that you're using a slightly old version
>>>>> of the cake kernel module which lacks the overhead parameter entirely,
>>>>> but a more up to date tc which does support it. We've seen this
>>>>> combination crop up ourselves recently.
>>>>>
>>>>> - Jonathan Morton
>>>>>
>> _______________________________________________
>> Cerowrt-devel mailing list
>> Cerowrt-devel@lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/cerowrt-devel


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 19:14           ` Fred Stratton
@ 2015-07-10 19:15             ` Dave Taht
  2015-07-10 19:18             ` Jonathan Morton
  2015-07-10 19:27             ` Sebastian Moeller
  2 siblings, 0 replies; 30+ messages in thread
From: Dave Taht @ 2015-07-10 19:15 UTC (permalink / raw)
  To: Fred Stratton; +Cc: cerowrt-devel

enabled 1

is needed

On Fri, Jul 10, 2015 at 12:14 PM, Fred Stratton <fredstratton@imap.cc> wrote:
>
>
> On 10/07/15 19:46, Sebastian Moeller wrote:
>>
>> Hi Fred,
>>
>> your results seem to indicate that cake is not active at all, as the
>> latency under load is abysmal (a quick check is to look at the median in
>> relation to the min and the 90% number, in your examples all of these are
>> terrible). Could you please post the result of the following commands on
>> your router:
>> 1) cat /etc/config/sqm
>
> config queue 'eth1'
>     option qdisc 'fq_codel'
>     option script 'simple.qos'
>     option qdisc_advanced '0'
>     option linklayer 'none'
>     option enabled '0'
>     option interface 'eth1'
>     option download '0'
>     option upload '0'
>
>
>> 2) tc -d qdisc
>
> qdisc fq_codel 0: dev eth0 root refcnt 2 limit 1024p flows 1024 quantum 300
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 root refcnt 2 limit 1024p flows 1024 quantum 300
> target 5.0ms interval 100.0ms ecn
> qdisc mq 0: dev wlan1 root
> qdisc fq_codel 0: dev wlan1 parent :1 limit 1024p flows 1024 quantum 300
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev wlan1 parent :2 limit 1024p flows 1024 quantum 300
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev wlan1 parent :3 limit 1024p flows 1024 quantum 300
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev wlan1 parent :4 limit 1024p flows 1024 quantum 300
> target 5.0ms interval 100.0ms ecn
> qdisc mq 0: dev wlan0 root
> qdisc fq_codel 0: dev wlan0 parent :1 limit 1024p flows 1024 quantum 300
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev wlan0 parent :2 limit 1024p flows 1024 quantum 300
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev wlan0 parent :3 limit 1024p flows 1024 quantum 300
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev wlan0 parent :4 limit 1024p flows 1024 quantum 300
> target 5.0ms interval 100.0ms ecn
> qdisc cake 8002: dev pppoe-wan root refcnt 2 bandwidth 850Kbit besteffort
> flows raw
> qdisc ingress ffff: dev pppoe-wan parent ffff:fff1 ----------------
> qdisc cake 8001: dev ifb4pppoe-wan root refcnt 2 bandwidth 11500Kbit
> besteffort flows atm overhead 40
>
>> 3) tc -d class show dev pppoe-wan
>
> class cake 8002:2fa parent 8002:
>
>
>> 4) tc -d class show dev ifb4pppoe-wqn
>
>
> class cake 8001:6e parent 8001:
>>
>> 5) /etc/init.d/sqm stop
>
> SQM: Trying to start/stop SQM on all interfaces.
> SQM: run.sh stop
> SQM: /usr/lib/sqm/run.sh SQM for interface eth1 is not enabled, skipping
> over...
>>
>> 6) /etc/init.d/sqm start
>
> /etc/init.d/sqm start
> SQM: Trying to start/stop SQM on all interfaces.
> SQM: /usr/lib/sqm/run.sh SQM for interface eth1 is not enabled, skipping
> over...
>
>>
>> hopefully these give some insight what might have happened.
>>
>> And finally I would love to learn the output of:
>> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p
>> netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H
>> netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
>
>
> betterspeedtest.sh not installed
>
> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.ne
> t -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H
> netperf-
> eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
> sh: can't open 'betterspeedtest.sh'
> 2015-07-10 20:10:55 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams
> down and up while pinging netperf-eu.bufferbloat.net. Takes about 150
> seconds.
>  Download:  6.8 Mbps
>    Upload:  0.59 Mbps
>   Latency: (in msec, 152 pings, 0.00% packet loss)
>       Min: 73.911
>     10pct: 232.211
>    Median: 308.556
>       Avg: 305.686
>     90pct: 376.183
>       Max: 412.553
>
>
>>
>>
>> Many Thanks & Best Regards
>>         Sebastian
>>
>> On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> wrote:
>>
>>> By your command
>>> Rebooted to rerun qdisc script, rather than changing qdiscs from the
>>> command-line, so suboptimal process as end-point changed.
>>>
>>> script configuring qdiscs and overhead 40 on
>>>
>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
>>> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4
>>> streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
>>> Download:  6.73 Mbps
>>>    Upload:  0.58 Mbps
>>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>>       Min: 24.094
>>>     10pct: 172.654
>>>    Median: 260.563
>>>       Avg: 253.580
>>>     90pct: 330.003
>>>       Max: 411.145
>>>
>>> script configuring qdiscs on flows raw
>>>
>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>> 78.145.32.1
>>> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4
>>> streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
>>> Download:  6.75 Mbps
>>>    Upload:  0.59 Mbps
>>>   Latency: (in msec, 59 pings, 0.00% packet loss)
>>>       Min: 23.605
>>>     10pct: 169.789
>>>    Median: 282.155
>>>       Avg: 267.099
>>>     90pct: 333.283
>>>       Max: 376.509
>>>
>>> script configuring qdiscs and overhead 36 on
>>>
>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>> 80.44.96.1
>>> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4
>>> streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
>>> Download:  6.56 Mbps
>>>    Upload:  0.59 Mbps
>>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>>       Min: 22.975
>>>     10pct: 195.473
>>>    Median: 281.756
>>>       Avg: 271.609
>>>     90pct: 342.130
>>>       Max: 398.573
>>>
>>>
>>> On 10/07/15 16:19, Alan Jenkins wrote:
>>>>
>>>> I'm glad to hear there's a working version (even if it's not in the
>>>> current build :).
>>>>
>>>> Do you have measurable improvements with overhead configured (v.s.
>>>> unconfigured)?
>>>>
>>>> I've used netperfrunner from CeroWrtScripts, e.g.
>>>>
>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>>>>
>>>> I believe accounting for overhead helps on this two-way test, because a)
>>>> it saturates the uplink b) about half that bandwidth is tiny ack packets
>>>> (depending on bandwidth asymmetry).  And small packets have proportionally
>>>> high overhead.
>>>>
>>>> (But it seems to only make a small difference for me, which always
>>>> surprises Seb).
>>>>
>>>> Alan
>>>>
>>>> On 10/07/15 15:52, Fred Stratton wrote:
>>>>>
>>>>> You are absolutely correct.
>>>>>
>>>>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>>>>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>>>>> undeclared version 2. Everything works as stated.
>>>>>
>>>>> On lupin undeclared version 4, the current release based on r46117, the
>>>>> values were not recognised.
>>>>>
>>>>> Thank you.
>>>>>
>>>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>>>> build. Unfortunately this was bricked by attempts to get homenet
>>>>> working, so I have nothing to report about gateway usage at present.
>>>>>
>>>>>
>>>>>
>>>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>>>>
>>>>>> You're already using correct syntax - I've written it to be quite
>>>>>> lenient and use sensible defaults for missing information. There are
>>>>>> several sets of keywords and parameters which are mutually orthogonal,
>>>>>> and don't depend on each other, so "besteffort" has nothing to do with
>>>>>> "overhead" or "atm".
>>>>>>
>>>>>> What's probably happening is that you're using a slightly old version
>>>>>> of the cake kernel module which lacks the overhead parameter entirely,
>>>>>> but a more up to date tc which does support it. We've seen this
>>>>>> combination crop up ourselves recently.
>>>>>>
>>>>>> - Jonathan Morton
>>>>>>
>>> _______________________________________________
>>> Cerowrt-devel mailing list
>>> Cerowrt-devel@lists.bufferbloat.net
>>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
>
>
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel



-- 
Dave Täht
worldwide bufferbloat report:
http://www.dslreports.com/speedtest/results/bufferbloat
And:
What will it take to vastly improve wifi for everyone?
https://plus.google.com/u/0/explore/makewififast

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 18:25       ` Fred Stratton
  2015-07-10 18:46         ` Sebastian Moeller
@ 2015-07-10 19:17         ` Alan Jenkins
  1 sibling, 0 replies; 30+ messages in thread
From: Alan Jenkins @ 2015-07-10 19:17 UTC (permalink / raw)
  To: Fred Stratton, cerowrt-devel

On 10/07/15 19:25, Fred Stratton wrote:
> By your command
> Rebooted to rerun qdisc script, rather than changing qdiscs from the 
> command-line, so suboptimal process as end-point changed.

Assuming you use sqm-scripts, you can restart SQM manually. 
"/etc/init.d/sqm restart".


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 19:14           ` Fred Stratton
  2015-07-10 19:15             ` Dave Taht
@ 2015-07-10 19:18             ` Jonathan Morton
  2015-07-10 19:30               ` Sebastian Moeller
  2015-07-10 19:27             ` Sebastian Moeller
  2 siblings, 1 reply; 30+ messages in thread
From: Jonathan Morton @ 2015-07-10 19:18 UTC (permalink / raw)
  To: Fred Stratton; +Cc: cerowrt-devel

> qdisc cake 8002: dev pppoe-wan root refcnt 2 bandwidth 850Kbit besteffort flows raw

> qdisc cake 8001: dev ifb4pppoe-wan root refcnt 2 bandwidth 11500Kbit besteffort flows atm overhead 40

> Download:  6.8 Mbps
>   Upload:  0.59 Mbps

Does anyone else see the discrepancy here?

Simply put, if the shaper isn’t set to a lower bandwidth than the link rate, it won’t control the queue.

 - Jonathan Morton


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 19:14           ` Fred Stratton
  2015-07-10 19:15             ` Dave Taht
  2015-07-10 19:18             ` Jonathan Morton
@ 2015-07-10 19:27             ` Sebastian Moeller
  2 siblings, 0 replies; 30+ messages in thread
From: Sebastian Moeller @ 2015-07-10 19:27 UTC (permalink / raw)
  To: Fred Stratton; +Cc: cerowrt-devel

[-- Attachment #1: Type: text/plain, Size: 3300 bytes --]

Hi Fred,

On Jul 10, 2015, at 21:14 , Fred Stratton <fredstratton@imap.cc> wrote:

> 
> 
> On 10/07/15 19:46, Sebastian Moeller wrote:
>> Hi Fred,
>> 
>> your results seem to indicate that cake is not active at all, as the latency under load is abysmal (a quick check is to look at the median in relation to the min and the 90% number, in your examples all of these are terrible). Could you please post the result of the following commands on your router:
>> 1) cat /etc/config/sqm
> config queue 'eth1'
>    option qdisc 'fq_codel'
>    option script 'simple.qos'
>    option qdisc_advanced '0'
>    option linklayer ‘none'

	For an ADSL link I could swear link layer ‘none’ is not optimal ;)

>    option enabled '0'
>    option interface 'eth1'
>    option download '0'
>    option upload ‘0'

	Not that it matters as you do not use the sqm-scripts machinery.

> 
> 
>> 2) tc -d qdisc
> qdisc fq_codel 0: dev eth0 root refcnt 2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 root refcnt 2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc mq 0: dev wlan1 root
> qdisc fq_codel 0: dev wlan1 parent :1 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev wlan1 parent :2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev wlan1 parent :3 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev wlan1 parent :4 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc mq 0: dev wlan0 root
> qdisc fq_codel 0: dev wlan0 parent :1 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev wlan0 parent :2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev wlan0 parent :3 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev wlan0 parent :4 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc cake 8002: dev pppoe-wan root refcnt 2 bandwidth 850Kbit besteffort flows raw

	You should enable the atm link layer accounting on both ingress (ifb4pppoe-wan) and egress (pppoe-wan).

> qdisc ingress ffff: dev pppoe-wan parent ffff:fff1 ----------------
> qdisc cake 8001: dev ifb4pppoe-wan root refcnt 2 bandwidth 11500Kbit besteffort flows atm overhead 40
> 
>> 3) tc -d class show dev pppoe-wan
> class cake 8002:2fa parent 8002:
> 
> 
>> 4) tc -d class show dev ifb4pppoe-wqn
> 
> class cake 8001:6e parent 8001:
>> 5) /etc/init.d/sqm stop
> SQM: Trying to start/stop SQM on all interfaces.
> SQM: run.sh stop
> SQM: /usr/lib/sqm/run.sh SQM for interface eth1 is not enabled, skipping over...
>> 6) /etc/init.d/sqm start
> /etc/init.d/sqm start
> SQM: Trying to start/stop SQM on all interfaces.
> SQM: /usr/lib/sqm/run.sh SQM for interface eth1 is not enabled, skipping over…

	Alas, not activated so this does not give any diagnostic output… Newer sqm-scripts should work with cake and luci-app-sqm also works well to set up cake. Please find the most recent files for sqm-scripts attached. The content of the sqm folder should replace the content of /usr/lib/sqm on your router.

[-- Attachment #2: sqm.zip --]
[-- Type: application/zip, Size: 21639 bytes --]

[-- Attachment #3: Type: text/plain, Size: 75 bytes --]

 The content of sqm.lua should replace /usr/lib/lua/luci/model/cbi/sqm.lua 

[-- Attachment #4: sqm.lua --]
[-- Type: application/octet-stream, Size: 9571 bytes --]

--[[
LuCI - Lua Configuration Interface

Copyright 2014 Steven Barth <steven@midlink.org>
Copyright 2014 Dave Taht <dave.taht@bufferbloat.net>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

	http://www.apache.org/licenses/LICENSE-2.0

$Id$
]]--

local wa = require "luci.tools.webadmin"
local fs = require "nixio.fs"
local net = require "luci.model.network".init()
local sys = require "luci.sys"
--local ifaces = net:get_interfaces()
local ifaces = sys.net:devices()
local path = "/usr/lib/sqm"

m = Map("sqm", translate("Smart Queue Management"),
	translate("With <abbr title=\"Smart Queue Management\">SQM</abbr> you " ..
		"can enable traffic shaping, better mixing (Fair Queueing)," ..
		" active queue length management (AQM) " ..
		" and prioritisation on one " ..
		"network interface."))

s = m:section(TypedSection, "queue", translate("Queues"))
s:tab("tab_basic", translate("Basic Settings"))
s:tab("tab_qdisc", translate("Queue Discipline"))
s:tab("tab_linklayer", translate("Link Layer Adaptation"))
s.addremove = true -- set to true to allow adding SQM instances in the GUI
s.anonymous = true

-- BASIC
e = s:taboption("tab_basic", Flag, "enabled", translate("Enable this SQM instance."))
e.rmempty = false

-- sm: following jow's advise, be helpful to the user and enable
--     sqm's init script if even a single sm instance/interface
--     is enabled; this is unexpected in that the init script gets
--     enabled as soon as at least one sqm instance is enabled
--     and that state is saved, so it does not require "Save & Apply"
--     to effect the init scripts.
--     the implementation was inpired/lifted from 
--     https://github.com/openwrt/luci/blob/master/applications/luci-app-minidlna/luasrc/model/cbi/minidlna.lua
function e.write(self, section, value)
    if value == "1" then
	luci.sys.init.enable("sqm")
	m.message = translate("The SQM GUI has just enabled the sqm initscript on your behalf. Remember to disable the sqm initscript manually under System Startup menu in case this change was not wished for.")
--	luci.sys.call("/etc/init.d/sqm start >/dev/null")
--    else
--	luci.sys.call("/etc/init.d/sqm stop >/dev/null")
--	luci.sys.init.disable("sqm")
    end
    return Flag.write(self, section, value)
end
-- TODO: inform the user what we just did...

n = s:taboption("tab_basic", ListValue, "interface", translate("Interface name"))
-- sm lifted from luci-app-wol, the original implementation failed to show pppoe-ge00 type interface names
for _, iface in ipairs(ifaces) do
--     if iface:is_up() then
--	n:value(iface:name())
--     end
	if iface ~= "lo" then 
		n:value(iface) 
	end
end
n.rmempty = false


dl = s:taboption("tab_basic", Value, "download", translate("Download speed (kbit/s) (ingress) set to 0 to selectively disable ingress shaping:"))
dl.datatype = "and(uinteger,min(0))"
dl.rmempty = false

ul = s:taboption("tab_basic", Value, "upload", translate("Upload speed (kbit/s) (egress) set to 0 to selectively disable egress shaping:"))
ul.datatype = "and(uinteger,min(0))"
ul.rmempty = false

-- QDISC

c = s:taboption("tab_qdisc", ListValue, "qdisc", translate("Queueing discipline"))
c:value("fq_codel", "fq_codel ("..translate("default")..")")
c:value("efq_codel")
c:value("nfq_codel")
c:value("sfq")
c:value("codel")
c:value("ns2_codel")
c:value("pie")
c:value("sfq")
c:value("cake")
c.default = "fq_codel"
c.rmempty = false

local qos_desc = ""
sc = s:taboption("tab_qdisc", ListValue, "script", translate("Queue setup script"))
for file in fs.dir(path) do
  if string.find(file, ".qos$") then
    sc:value(file)
  end
  if string.find(file, ".qos.help$") then
    fh = io.open(path .. "/" .. file, "r")
    qos_desc = qos_desc .. "<p><b>" .. file:gsub(".help$", "") .. ":</b><br />" .. fh:read("*a") .. "</p>"
  end
end
sc.default = "simple.qos"
sc.rmempty = false
sc.description = qos_desc

ad = s:taboption("tab_qdisc", Flag, "qdisc_advanced", translate("Show and Use Advanced Configuration. Advanced options will only be used as long as this box is checked."))
ad.default = false
ad.rmempty = true

squash_dscp  = s:taboption("tab_qdisc", ListValue, "squash_dscp", translate("Squash DSCP on inbound packets (ingress):"))
squash_dscp:value("1", "SQUASH")
squash_dscp:value("0", "DO NOT SQUASH")
squash_dscp.default = "1"
squash_dscp.rmempty = true
squash_dscp:depends("qdisc_advanced", "1")

squash_ingress = s:taboption("tab_qdisc", ListValue, "squash_ingress", translate("Ignore DSCP on ingress:"))
squash_ingress:value("1", "Ignore")
squash_ingress:value("0", "Allow")
squash_ingress.default = "1"
squash_ingress.rmempty = true
squash_ingress:depends("qdisc_advanced", "1")

iecn = s:taboption("tab_qdisc", ListValue, "ingress_ecn", translate("Explicit congestion notification (ECN) status on inbound packets (ingress):"))
iecn:value("ECN", "ECN ("..translate("default")..")")
iecn:value("NOECN")
iecn.default = "ECN"
iecn.rmempty = true
iecn:depends("qdisc_advanced", "1")

eecn = s:taboption("tab_qdisc", ListValue, "egress_ecn", translate("Explicit congestion notification (ECN) status on outbound packets (egress)."))
eecn:value("NOECN", "NOECN ("..translate("default")..")")
eecn:value("ECN")
eecn.default = "NOECN"
eecn.rmempty = true
eecn:depends("qdisc_advanced", "1")

ad2 = s:taboption("tab_qdisc", Flag, "qdisc_really_really_advanced", translate("Show and Use Dangerous Configuration. Dangerous options will only be used as long as this box is checked."))
ad2.default = false
ad2.rmempty = true
ad2:depends("qdisc_advanced", "1")

ilim = s:taboption("tab_qdisc", Value, "ilimit", translate("Hard limit on ingress queues; leave empty for default."))
-- ilim.default = 1000
ilim.isnumber = true
ilim.datatype = "and(uinteger,min(0))"
ilim.rmempty = true
ilim:depends("qdisc_really_really_advanced", "1")

elim = s:taboption("tab_qdisc", Value, "elimit", translate("Hard limit on egress queues; leave empty for default."))
-- elim.default = 1000
elim.datatype = "and(uinteger,min(0))"
elim.rmempty = true
elim:depends("qdisc_really_really_advanced", "1")


itarg = s:taboption("tab_qdisc", Value, "itarget", translate("Latency target for ingress, e.g 5ms [units: s, ms, or  us]; leave empty for automatic selection, put in the word default for the qdisc's default."))
itarg.datatype = "string"
itarg.rmempty = true
itarg:depends("qdisc_really_really_advanced", "1")

etarg = s:taboption("tab_qdisc", Value, "etarget", translate("Latency target for egress, e.g. 5ms [units: s, ms, or  us]; leave empty for automatic selection, put in the word default for the qdisc's default."))
etarg.datatype = "string"
etarg.rmempty = true
etarg:depends("qdisc_really_really_advanced", "1")



iqdisc_opts = s:taboption("tab_qdisc", Value, "iqdisc_opts", translate("Advanced option string to pass to the ingress queueing disciplines; no error checking, use very carefully."))
iqdisc_opts.rmempty = true
iqdisc_opts:depends("qdisc_really_really_advanced", "1")

eqdisc_opts = s:taboption("tab_qdisc", Value, "eqdisc_opts", translate("Advanced option string to pass to the egress queueing disciplines; no error checking, use very carefully."))
eqdisc_opts.rmempty = true
eqdisc_opts:depends("qdisc_really_really_advanced", "1")

-- LINKLAYER
ll = s:taboption("tab_linklayer", ListValue, "linklayer", translate("Which link layer to account for:"))
ll:value("none", "none ("..translate("default")..")")
ll:value("ethernet", "Ethernet with overhead: select for e.g. VDSL2.")
ll:value("atm", "ATM: select for e.g. ADSL1, ADSL2, ADSL2+.")
-- ll:value("adsl")	-- reduce the options
ll.default = "none"

po = s:taboption("tab_linklayer", Value, "overhead", translate("Per Packet Overhead (byte):"))
po.datatype = "and(integer,min(-1500))"
po.default = 0
po.isnumber = true
po.rmempty = true
po:depends("linklayer", "ethernet")
-- po:depends("linklayer", "adsl")
po:depends("linklayer", "atm")


adll = s:taboption("tab_linklayer", Flag, "linklayer_advanced", translate("Show Advanced Linklayer Options, (only needed if MTU > 1500). Advanced options will only be used as long as this box is checked."))
adll.rmempty = true
adll:depends("linklayer", "ethernet")
-- adll:depends("linklayer", "adsl")
adll:depends("linklayer", "atm")

smtu = s:taboption("tab_linklayer", Value, "tcMTU", translate("Maximal Size for size and rate calculations, tcMTU (byte); needs to be >= interface MTU + overhead:"))
smtu.datatype = "and(uinteger,min(0))"
smtu.default = 2047
smtu.isnumber = true
smtu.rmempty = true
smtu:depends("linklayer_advanced", "1")

stsize = s:taboption("tab_linklayer", Value, "tcTSIZE", translate("Number of entries in size/rate tables, TSIZE; for ATM choose TSIZE = (tcMTU + 1) / 16:"))
stsize.datatype = "and(uinteger,min(0))"
stsize.default = 128
stsize.isnumber = true
stsize.rmempty = true
stsize:depends("linklayer_advanced", "1")

smpu = s:taboption("tab_linklayer", Value, "tcMPU", translate("Minimal packet size, MPU (byte); needs to be > 0 for ethernet size tables:"))
smpu.datatype = "and(uinteger,min(0))"
smpu.default = 0
smpu.isnumber = true
smpu.rmempty = true
smpu:depends("linklayer_advanced", "1")

lla = s:taboption("tab_linklayer", ListValue, "linklayer_adaptation_mechanism", translate("Which linklayer adaptation mechanism to use; for testing only"))
lla:value("cake")
lla:value("htb_private")
lla:value("tc_stab", "tc_stab ("..translate("default")..")")
lla.default = "tc_stab"
lla.rmempty = true
lla:depends("linklayer_advanced", "1")

-- PRORITIES?

return m

[-- Attachment #5: Type: text/plain, Size: 5696 bytes --]

. These should allow you to set up cake from inside the sqm gui (but it is only lightly tested).


> 
>> 
>> hopefully these give some insight what might have happened.
>> 
>> And finally I would love to learn the output of:
>> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
> 
> betterspeedtest.sh not installed

	Too bad, this would be nice as it measures downlink and uplink sequentially instead of simultaneously so it can help figure out if only one direction is improperly shaped. Could I convince you to install Rich’s betterspeedtest.sh script as well, it should be in the same repository as netperfrunner.sh?

> 
> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.ne
> t -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H netperf-
> eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
> sh: can't open 'betterspeedtest.sh'
> 2015-07-10 20:10:55 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging netperf-eu.bufferbloat.net. Takes about 150 seconds.
> Download:  6.8 Mbps
>   Upload:  0.59 Mbps
>  Latency: (in msec, 152 pings, 0.00% packet loss)
>      Min: 73.911
>    10pct: 232.211
>   Median: 308.556
>      Avg: 305.686
>    90pct: 376.183
>      Max: 412.553

	This just shows that latency still is bounded badly...

> 
>> 
>> 
>> Many Thanks & Best Regards
>> 	Sebastian
>> 
>> On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> wrote:
>> 
>>> By your command
>>> Rebooted to rerun qdisc script, rather than changing qdiscs from the command-line, so suboptimal process as end-point changed.
>>> 
>>> script configuring qdiscs and overhead 40 on
>>> 
>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
>>> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
>>> Download:  6.73 Mbps
>>>   Upload:  0.58 Mbps
>>>  Latency: (in msec, 62 pings, 0.00% packet loss)
>>>      Min: 24.094
>>>    10pct: 172.654
>>>   Median: 260.563
>>>      Avg: 253.580
>>>    90pct: 330.003
>>>      Max: 411.145
>>> 
>>> script configuring qdiscs on flows raw
>>> 
>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>> 78.145.32.1
>>> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
>>> Download:  6.75 Mbps
>>>   Upload:  0.59 Mbps
>>>  Latency: (in msec, 59 pings, 0.00% packet loss)
>>>      Min: 23.605
>>>    10pct: 169.789
>>>   Median: 282.155
>>>      Avg: 267.099
>>>    90pct: 333.283
>>>      Max: 376.509
>>> 
>>> script configuring qdiscs and overhead 36 on
>>> 
>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>> 80.44.96.1
>>> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
>>> Download:  6.56 Mbps
>>>   Upload:  0.59 Mbps
>>>  Latency: (in msec, 62 pings, 0.00% packet loss)
>>>      Min: 22.975
>>>    10pct: 195.473
>>>   Median: 281.756
>>>      Avg: 271.609
>>>    90pct: 342.130
>>>      Max: 398.573
>>> 
>>> 
>>> On 10/07/15 16:19, Alan Jenkins wrote:
>>>> I'm glad to hear there's a working version (even if it's not in the current build :).
>>>> 
>>>> Do you have measurable improvements with overhead configured (v.s. unconfigured)?
>>>> 
>>>> I've used netperfrunner from CeroWrtScripts, e.g.
>>>> 
>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>>>> 
>>>> I believe accounting for overhead helps on this two-way test, because a) it saturates the uplink b) about half that bandwidth is tiny ack packets (depending on bandwidth asymmetry).  And small packets have proportionally high overhead.
>>>> 
>>>> (But it seems to only make a small difference for me, which always surprises Seb).
>>>> 
>>>> Alan
>>>> 
>>>> On 10/07/15 15:52, Fred Stratton wrote:
>>>>> You are absolutely correct.
>>>>> 
>>>>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>>>>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>>>>> undeclared version 2. Everything works as stated.
>>>>> 
>>>>> On lupin undeclared version 4, the current release based on r46117, the
>>>>> values were not recognised.
>>>>> 
>>>>> Thank you.
>>>>> 
>>>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>>>> build. Unfortunately this was bricked by attempts to get homenet
>>>>> working, so I have nothing to report about gateway usage at present.
>>>>> 
>>>>> 
>>>>> 
>>>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>>>> You're already using correct syntax - I've written it to be quite
>>>>>> lenient and use sensible defaults for missing information. There are
>>>>>> several sets of keywords and parameters which are mutually orthogonal,
>>>>>> and don't depend on each other, so "besteffort" has nothing to do with
>>>>>> "overhead" or "atm".
>>>>>> 
>>>>>> What's probably happening is that you're using a slightly old version
>>>>>> of the cake kernel module which lacks the overhead parameter entirely,
>>>>>> but a more up to date tc which does support it. We've seen this
>>>>>> combination crop up ourselves recently.
>>>>>> 
>>>>>> - Jonathan Morton
>>>>>> 
>>> _______________________________________________
>>> Cerowrt-devel mailing list
>>> Cerowrt-devel@lists.bufferbloat.net
>>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
> 


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 19:18             ` Jonathan Morton
@ 2015-07-10 19:30               ` Sebastian Moeller
  0 siblings, 0 replies; 30+ messages in thread
From: Sebastian Moeller @ 2015-07-10 19:30 UTC (permalink / raw)
  To: Jonathan Morton; +Cc: cerowrt-devel

Hi Jonathan, hi Fred,

On Jul 10, 2015, at 21:18 , Jonathan Morton <chromatix99@gmail.com> wrote:

>> qdisc cake 8002: dev pppoe-wan root refcnt 2 bandwidth 850Kbit besteffort flows raw
> 
>> qdisc cake 8001: dev ifb4pppoe-wan root refcnt 2 bandwidth 11500Kbit besteffort flows atm overhead 40
> 
>> Download:  6.8 Mbps
>>  Upload:  0.59 Mbps
> 
> Does anyone else see the discrepancy here?
> 
> Simply put, if the shaper isn’t set to a lower bandwidth than the link rate, it won’t control the queue.

	Good point. @Fred what are the current sync rates as reported  your modem?

Best Regards
	Sebastian

> 
> - Jonathan Morton
> 


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 18:46         ` Sebastian Moeller
  2015-07-10 19:14           ` Fred Stratton
@ 2015-07-10 19:34           ` Fred Stratton
  2015-07-10 19:40             ` Sebastian Moeller
  2015-07-10 19:41             ` Alan Jenkins
  1 sibling, 2 replies; 30+ messages in thread
From: Fred Stratton @ 2015-07-10 19:34 UTC (permalink / raw)
  To: Sebastian Moeller, cerowrt-devel

bridge sync is circa 10 000 kbit/s

with the cake option in sqm enabled

config queue 'eth1'
     option qdisc_advanced '0'
     option enabled '1'
     option interface 'pppoe-wan'
     option upload '850'
     option qdisc 'cake'
     option script 'simple_pppoe.qos'
     option linklayer 'atm'
     option overhead '40'
     option download '8500'

tc -s qdisc show dev pppoe-wan
qdisc htb 1: root refcnt 2 r2q 10 default 12 direct_packets_stat 0 
direct_qlen 3
  Sent 101336 bytes 440 pkt (dropped 2, overlimits 66 requeues 0)
  backlog 0b 0p requeues 0
qdisc cake 110: parent 1:11 unlimited diffserv4 flows raw
  Sent 4399 bytes 25 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
            Class 0     Class 1     Class 2     Class 3
   rate          0bit        0bit        0bit        0bit
   target       5.0ms       5.0ms       5.0ms       5.0ms
interval     100.0ms     100.0ms     100.0ms     100.0ms
Pk delay         0us         0us         7us         2us
Av delay         0us         0us         0us         0us
Sp delay         0us         0us         0us         0us
   pkts             0           0          22           3
way inds           0           0           0           0
way miss           0           0          22           2
way cols           0           0           0           0
   bytes            0           0        3392        1007
   drops            0           0           0           0
   marks            0           0           0           0
qdisc cake 120: parent 1:12 unlimited diffserv4 flows raw
  Sent 96937 bytes 415 pkt (dropped 2, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
            Class 0     Class 1     Class 2     Class 3
   rate          0bit        0bit        0bit        0bit
   target       5.0ms       5.0ms       5.0ms       5.0ms
interval     100.0ms     100.0ms     100.0ms     100.0ms
Pk delay         0us      28.0ms         0us         0us
Av delay         0us       1.2ms         0us         0us
Sp delay         0us         4us         0us         0us
   pkts             0         417           0           0
way inds           0           0           0           0
way miss           0          23           0           0
way cols           0           0           0           0
   bytes            0       98951           0           0
   drops            0           2           0           0
   marks            0           0           0           0
qdisc cake 130: parent 1:13 unlimited diffserv4 flows raw
  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
            Class 0     Class 1     Class 2     Class 3
   rate          0bit        0bit        0bit        0bit
   target       5.0ms       5.0ms       5.0ms       5.0ms
interval     100.0ms     100.0ms     100.0ms     100.0ms
Pk delay         0us         0us         0us         0us
Av delay         0us         0us         0us         0us
Sp delay         0us         0us         0us         0us
   pkts             0           0           0           0
way inds           0           0           0           0
way miss           0           0           0           0
way cols           0           0           0           0
   bytes            0           0           0           0
   drops            0           0           0           0
   marks            0           0           0           0
qdisc cake 140: parent 1:14 unlimited diffserv4 flows raw
  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
            Class 0     Class 1     Class 2     Class 3
   rate          0bit        0bit        0bit        0bit
   target       5.0ms       5.0ms       5.0ms       5.0ms
interval     100.0ms     100.0ms     100.0ms     100.0ms
Pk delay         0us         0us         0us         0us
Av delay         0us         0us         0us         0us
Sp delay         0us         0us         0us         0us
   pkts             0           0           0           0
way inds           0           0           0           0
way miss           0           0           0           0
way cols           0           0           0           0
   bytes            0           0           0           0
   drops            0           0           0           0
   marks            0           0           0           0
qdisc ingress ffff: parent ffff:fff1 ----------------
  Sent 273341 bytes 435 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0




On 10/07/15 19:46, Sebastian Moeller wrote:
> Hi Fred,
>
> your results seem to indicate that cake is not active at all, as the latency under load is abysmal (a quick check is to look at the median in relation to the min and the 90% number, in your examples all of these are terrible). Could you please post the result of the following commands on your router:
> 1) cat /etc/config/sqm
> 2) tc -d qdisc
> 3) tc -d class show dev pppoe-wan
> 4) tc -d class show dev ifb4pppoe-wqn
> 5) /etc/init.d/sqm stop
> 6) /etc/init.d/sqm start
>
> hopefully these give some insight what might have happened.
>
> And finally I would love to learn the output of:
> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
>
>
> Many Thanks & Best Regards
> 	Sebastian
>
> On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> wrote:
>
>> By your command
>> Rebooted to rerun qdisc script, rather than changing qdiscs from the command-line, so suboptimal process as end-point changed.
>>
>> script configuring qdiscs and overhead 40 on
>>
>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
>> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
>> Download:  6.73 Mbps
>>    Upload:  0.58 Mbps
>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>       Min: 24.094
>>     10pct: 172.654
>>    Median: 260.563
>>       Avg: 253.580
>>     90pct: 330.003
>>       Max: 411.145
>>
>> script configuring qdiscs on flows raw
>>
>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>> 78.145.32.1
>> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
>> Download:  6.75 Mbps
>>    Upload:  0.59 Mbps
>>   Latency: (in msec, 59 pings, 0.00% packet loss)
>>       Min: 23.605
>>     10pct: 169.789
>>    Median: 282.155
>>       Avg: 267.099
>>     90pct: 333.283
>>       Max: 376.509
>>
>> script configuring qdiscs and overhead 36 on
>>
>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>> 80.44.96.1
>> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
>> Download:  6.56 Mbps
>>    Upload:  0.59 Mbps
>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>       Min: 22.975
>>     10pct: 195.473
>>    Median: 281.756
>>       Avg: 271.609
>>     90pct: 342.130
>>       Max: 398.573
>>
>>
>> On 10/07/15 16:19, Alan Jenkins wrote:
>>> I'm glad to hear there's a working version (even if it's not in the current build :).
>>>
>>> Do you have measurable improvements with overhead configured (v.s. unconfigured)?
>>>
>>> I've used netperfrunner from CeroWrtScripts, e.g.
>>>
>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>>>
>>> I believe accounting for overhead helps on this two-way test, because a) it saturates the uplink b) about half that bandwidth is tiny ack packets (depending on bandwidth asymmetry).  And small packets have proportionally high overhead.
>>>
>>> (But it seems to only make a small difference for me, which always surprises Seb).
>>>
>>> Alan
>>>
>>> On 10/07/15 15:52, Fred Stratton wrote:
>>>> You are absolutely correct.
>>>>
>>>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>>>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>>>> undeclared version 2. Everything works as stated.
>>>>
>>>> On lupin undeclared version 4, the current release based on r46117, the
>>>> values were not recognised.
>>>>
>>>> Thank you.
>>>>
>>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>>> build. Unfortunately this was bricked by attempts to get homenet
>>>> working, so I have nothing to report about gateway usage at present.
>>>>
>>>>
>>>>
>>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>>> You're already using correct syntax - I've written it to be quite
>>>>> lenient and use sensible defaults for missing information. There are
>>>>> several sets of keywords and parameters which are mutually orthogonal,
>>>>> and don't depend on each other, so "besteffort" has nothing to do with
>>>>> "overhead" or "atm".
>>>>>
>>>>> What's probably happening is that you're using a slightly old version
>>>>> of the cake kernel module which lacks the overhead parameter entirely,
>>>>> but a more up to date tc which does support it. We've seen this
>>>>> combination crop up ourselves recently.
>>>>>
>>>>> - Jonathan Morton
>>>>>
>> _______________________________________________
>> Cerowrt-devel mailing list
>> Cerowrt-devel@lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/cerowrt-devel


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 19:34           ` Fred Stratton
@ 2015-07-10 19:40             ` Sebastian Moeller
  2015-07-10 19:45               ` Fred Stratton
  2015-07-10 19:41             ` Alan Jenkins
  1 sibling, 1 reply; 30+ messages in thread
From: Sebastian Moeller @ 2015-07-10 19:40 UTC (permalink / raw)
  To: Fred Stratton; +Cc: cerowrt-devel

Hi Fred,


On Jul 10, 2015, at 21:34 , Fred Stratton <fredstratton@imap.cc> wrote:

> bridge sync is circa 10 000 kbit/s
> 
> with the cake option in sqm enabled
> 
> config queue 'eth1'
>    option qdisc_advanced '0'
>    option enabled '1'
>    option interface 'pppoe-wan'
>    option upload '850'
>    option qdisc 'cake'
>    option script 'simple_pppoe.qos'
>    option linklayer 'atm'
>    option overhead '40'
>    option download ‘8500'

	So this looks reasonable. Then again, if the DSLAM is under provisioned/oversubscribed (= congested) shaping uypur DSL link might not fix all buffer bloat..

> 
> tc -s qdisc show dev pppoe-wan
> qdisc htb 1: root refcnt 2 r2q 10 default 12 direct_packets_stat 0 direct_qlen 3
> Sent 101336 bytes 440 pkt (dropped 2, overlimits 66 requeues 0)
> backlog 0b 0p requeues 0
> qdisc cake 110: parent 1:11 unlimited diffserv4 flows raw
> Sent 4399 bytes 25 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>           Class 0     Class 1     Class 2     Class 3
>  rate          0bit        0bit        0bit        0bit
>  target       5.0ms       5.0ms       5.0ms       5.0ms
> interval     100.0ms     100.0ms     100.0ms     100.0ms
> Pk delay         0us         0us         7us         2us
> Av delay         0us         0us         0us         0us
> Sp delay         0us         0us         0us         0us
>  pkts             0           0          22           3
> way inds           0           0           0           0
> way miss           0           0          22           2
> way cols           0           0           0           0
>  bytes            0           0        3392        1007
>  drops            0           0           0           0
>  marks            0           0           0           0
> qdisc cake 120: parent 1:12 unlimited diffserv4 flows raw
> Sent 96937 bytes 415 pkt (dropped 2, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>           Class 0     Class 1     Class 2     Class 3
>  rate          0bit        0bit        0bit        0bit
>  target       5.0ms       5.0ms       5.0ms       5.0ms
> interval     100.0ms     100.0ms     100.0ms     100.0ms
> Pk delay         0us      28.0ms         0us         0us
> Av delay         0us       1.2ms         0us         0us
> Sp delay         0us         4us         0us         0us
>  pkts             0         417           0           0
> way inds           0           0           0           0
> way miss           0          23           0           0
> way cols           0           0           0           0
>  bytes            0       98951           0           0
>  drops            0           2           0           0
>  marks            0           0           0           0
> qdisc cake 130: parent 1:13 unlimited diffserv4 flows raw
> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>           Class 0     Class 1     Class 2     Class 3
>  rate          0bit        0bit        0bit        0bit
>  target       5.0ms       5.0ms       5.0ms       5.0ms
> interval     100.0ms     100.0ms     100.0ms     100.0ms
> Pk delay         0us         0us         0us         0us
> Av delay         0us         0us         0us         0us
> Sp delay         0us         0us         0us         0us
>  pkts             0           0           0           0
> way inds           0           0           0           0
> way miss           0           0           0           0
> way cols           0           0           0           0
>  bytes            0           0           0           0
>  drops            0           0           0           0
>  marks            0           0           0           0
> qdisc cake 140: parent 1:14 unlimited diffserv4 flows raw
> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>           Class 0     Class 1     Class 2     Class 3
>  rate          0bit        0bit        0bit        0bit
>  target       5.0ms       5.0ms       5.0ms       5.0ms
> interval     100.0ms     100.0ms     100.0ms     100.0ms
> Pk delay         0us         0us         0us         0us
> Av delay         0us         0us         0us         0us
> Sp delay         0us         0us         0us         0us
>  pkts             0           0           0           0
> way inds           0           0           0           0
> way miss           0           0           0           0
> way cols           0           0           0           0
>  bytes            0           0           0           0
>  drops            0           0           0           0
>  marks            0           0           0           0
> qdisc ingress ffff: parent ffff:fff1 ----------------
> Sent 273341 bytes 435 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0

	But this is the hallmark of out of date sqm-scripts, this just uses cake as leaf qdisc and keeps HTB as the main shaper; a configuration that is useful for testing. I assume this is the old set of sqm-scripts not the update I just sent as attachment? If so could you retry with the newer scripts, please?

Best Regards
	Sebastian

> 
> 
> 
> 
> On 10/07/15 19:46, Sebastian Moeller wrote:
>> Hi Fred,
>> 
>> your results seem to indicate that cake is not active at all, as the latency under load is abysmal (a quick check is to look at the median in relation to the min and the 90% number, in your examples all of these are terrible). Could you please post the result of the following commands on your router:
>> 1) cat /etc/config/sqm
>> 2) tc -d qdisc
>> 3) tc -d class show dev pppoe-wan
>> 4) tc -d class show dev ifb4pppoe-wqn
>> 5) /etc/init.d/sqm stop
>> 6) /etc/init.d/sqm start
>> 
>> hopefully these give some insight what might have happened.
>> 
>> And finally I would love to learn the output of:
>> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
>> 
>> 
>> Many Thanks & Best Regards
>> 	Sebastian
>> 
>> On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> wrote:
>> 
>>> By your command
>>> Rebooted to rerun qdisc script, rather than changing qdiscs from the command-line, so suboptimal process as end-point changed.
>>> 
>>> script configuring qdiscs and overhead 40 on
>>> 
>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
>>> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
>>> Download:  6.73 Mbps
>>>   Upload:  0.58 Mbps
>>>  Latency: (in msec, 62 pings, 0.00% packet loss)
>>>      Min: 24.094
>>>    10pct: 172.654
>>>   Median: 260.563
>>>      Avg: 253.580
>>>    90pct: 330.003
>>>      Max: 411.145
>>> 
>>> script configuring qdiscs on flows raw
>>> 
>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>> 78.145.32.1
>>> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
>>> Download:  6.75 Mbps
>>>   Upload:  0.59 Mbps
>>>  Latency: (in msec, 59 pings, 0.00% packet loss)
>>>      Min: 23.605
>>>    10pct: 169.789
>>>   Median: 282.155
>>>      Avg: 267.099
>>>    90pct: 333.283
>>>      Max: 376.509
>>> 
>>> script configuring qdiscs and overhead 36 on
>>> 
>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>> 80.44.96.1
>>> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
>>> Download:  6.56 Mbps
>>>   Upload:  0.59 Mbps
>>>  Latency: (in msec, 62 pings, 0.00% packet loss)
>>>      Min: 22.975
>>>    10pct: 195.473
>>>   Median: 281.756
>>>      Avg: 271.609
>>>    90pct: 342.130
>>>      Max: 398.573
>>> 
>>> 
>>> On 10/07/15 16:19, Alan Jenkins wrote:
>>>> I'm glad to hear there's a working version (even if it's not in the current build :).
>>>> 
>>>> Do you have measurable improvements with overhead configured (v.s. unconfigured)?
>>>> 
>>>> I've used netperfrunner from CeroWrtScripts, e.g.
>>>> 
>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>>>> 
>>>> I believe accounting for overhead helps on this two-way test, because a) it saturates the uplink b) about half that bandwidth is tiny ack packets (depending on bandwidth asymmetry).  And small packets have proportionally high overhead.
>>>> 
>>>> (But it seems to only make a small difference for me, which always surprises Seb).
>>>> 
>>>> Alan
>>>> 
>>>> On 10/07/15 15:52, Fred Stratton wrote:
>>>>> You are absolutely correct.
>>>>> 
>>>>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>>>>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>>>>> undeclared version 2. Everything works as stated.
>>>>> 
>>>>> On lupin undeclared version 4, the current release based on r46117, the
>>>>> values were not recognised.
>>>>> 
>>>>> Thank you.
>>>>> 
>>>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>>>> build. Unfortunately this was bricked by attempts to get homenet
>>>>> working, so I have nothing to report about gateway usage at present.
>>>>> 
>>>>> 
>>>>> 
>>>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>>>> You're already using correct syntax - I've written it to be quite
>>>>>> lenient and use sensible defaults for missing information. There are
>>>>>> several sets of keywords and parameters which are mutually orthogonal,
>>>>>> and don't depend on each other, so "besteffort" has nothing to do with
>>>>>> "overhead" or "atm".
>>>>>> 
>>>>>> What's probably happening is that you're using a slightly old version
>>>>>> of the cake kernel module which lacks the overhead parameter entirely,
>>>>>> but a more up to date tc which does support it. We've seen this
>>>>>> combination crop up ourselves recently.
>>>>>> 
>>>>>> - Jonathan Morton
>>>>>> 
>>> _______________________________________________
>>> Cerowrt-devel mailing list
>>> Cerowrt-devel@lists.bufferbloat.net
>>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
> 


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 19:34           ` Fred Stratton
  2015-07-10 19:40             ` Sebastian Moeller
@ 2015-07-10 19:41             ` Alan Jenkins
  2015-07-10 19:43               ` Sebastian Moeller
  1 sibling, 1 reply; 30+ messages in thread
From: Alan Jenkins @ 2015-07-10 19:41 UTC (permalink / raw)
  To: Fred Stratton, Sebastian Moeller, cerowrt-devel

On 10/07/15 20:34, Fred Stratton wrote:
> bridge sync is circa 10 000 kbit/s
>
> with the cake option in sqm enabled
>
> config queue 'eth1'
>     option qdisc_advanced '0'
>     option enabled '1'
>     option interface 'pppoe-wan'
>     option upload '850'
>     option qdisc 'cake'
>     option script 'simple_pppoe.qos'

Sorry, you want simple.qos.  simple_pppoe is for if you had set 
interface to the corresponding ethX.  I think Seb said there's not much 
reason to do that anymore, now we correctly handle interfaces going up 
and down.  ("hotplug").

> option linklayer 'atm'
>     option overhead '40'
>     option download '8500'
>
> tc -s qdisc show dev pppoe-wan
> qdisc htb 1: root refcnt 2 r2q 10 default 12 direct_packets_stat 0 
> direct_qlen 3
>  Sent 101336 bytes 440 pkt (dropped 2, overlimits 66 requeues 0)
>  backlog 0b 0p requeues 0
> qdisc cake 110: parent 1:11 unlimited diffserv4 flows raw
>  Sent 4399 bytes 25 pkt (dropped 0, overlimits 0 requeues 0)
>  backlog 0b 0p requeues 0
>            Class 0     Class 1     Class 2     Class 3
>   rate          0bit        0bit        0bit        0bit
>   target       5.0ms       5.0ms       5.0ms       5.0ms
> interval     100.0ms     100.0ms     100.0ms     100.0ms
> Pk delay         0us         0us         7us         2us
> Av delay         0us         0us         0us         0us
> Sp delay         0us         0us         0us         0us
>   pkts             0           0          22           3
> way inds           0           0           0           0
> way miss           0           0          22           2
> way cols           0           0           0           0
>   bytes            0           0        3392        1007
>   drops            0           0           0           0
>   marks            0           0           0           0
> qdisc cake 120: parent 1:12 unlimited diffserv4 flows raw
>  Sent 96937 bytes 415 pkt (dropped 2, overlimits 0 requeues 0)
>  backlog 0b 0p requeues 0
>            Class 0     Class 1     Class 2     Class 3
>   rate          0bit        0bit        0bit        0bit
>   target       5.0ms       5.0ms       5.0ms       5.0ms
> interval     100.0ms     100.0ms     100.0ms     100.0ms
> Pk delay         0us      28.0ms         0us         0us
> Av delay         0us       1.2ms         0us         0us
> Sp delay         0us         4us         0us         0us
>   pkts             0         417           0           0
> way inds           0           0           0           0
> way miss           0          23           0           0
> way cols           0           0           0           0
>   bytes            0       98951           0           0
>   drops            0           2           0           0
>   marks            0           0           0           0
> qdisc cake 130: parent 1:13 unlimited diffserv4 flows raw
>  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>  backlog 0b 0p requeues 0
>            Class 0     Class 1     Class 2     Class 3
>   rate          0bit        0bit        0bit        0bit
>   target       5.0ms       5.0ms       5.0ms       5.0ms
> interval     100.0ms     100.0ms     100.0ms     100.0ms
> Pk delay         0us         0us         0us         0us
> Av delay         0us         0us         0us         0us
> Sp delay         0us         0us         0us         0us
>   pkts             0           0           0           0
> way inds           0           0           0           0
> way miss           0           0           0           0
> way cols           0           0           0           0
>   bytes            0           0           0           0
>   drops            0           0           0           0
>   marks            0           0           0           0
> qdisc cake 140: parent 1:14 unlimited diffserv4 flows raw
>  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>  backlog 0b 0p requeues 0
>            Class 0     Class 1     Class 2     Class 3
>   rate          0bit        0bit        0bit        0bit
>   target       5.0ms       5.0ms       5.0ms       5.0ms
> interval     100.0ms     100.0ms     100.0ms     100.0ms
> Pk delay         0us         0us         0us         0us
> Av delay         0us         0us         0us         0us
> Sp delay         0us         0us         0us         0us
>   pkts             0           0           0           0
> way inds           0           0           0           0
> way miss           0           0           0           0
> way cols           0           0           0           0
>   bytes            0           0           0           0
>   drops            0           0           0           0
>   marks            0           0           0           0
> qdisc ingress ffff: parent ffff:fff1 ----------------
>  Sent 273341 bytes 435 pkt (dropped 0, overlimits 0 requeues 0)
>  backlog 0b 0p requeues 0
>
>
>
>
> On 10/07/15 19:46, Sebastian Moeller wrote:
>> Hi Fred,
>>
>> your results seem to indicate that cake is not active at all, as the 
>> latency under load is abysmal (a quick check is to look at the median 
>> in relation to the min and the 90% number, in your examples all of 
>> these are terrible). Could you please post the result of the 
>> following commands on your router:
>> 1) cat /etc/config/sqm
>> 2) tc -d qdisc
>> 3) tc -d class show dev pppoe-wan
>> 4) tc -d class show dev ifb4pppoe-wqn
>> 5) /etc/init.d/sqm stop
>> 6) /etc/init.d/sqm start
>>
>> hopefully these give some insight what might have happened.
>>
>> And finally I would love to learn the output of:
>> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p 
>> netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H 
>> netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
>>
>>
>> Many Thanks & Best Regards
>>     Sebastian
>>
>> On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> wrote:
>>
>>> By your command
>>> Rebooted to rerun qdisc script, rather than changing qdiscs from the 
>>> command-line, so suboptimal process as end-point changed.
>>>
>>> script configuring qdiscs and overhead 40 on
>>>
>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
>>> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4 
>>> streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
>>> Download:  6.73 Mbps
>>>    Upload:  0.58 Mbps
>>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>>       Min: 24.094
>>>     10pct: 172.654
>>>    Median: 260.563
>>>       Avg: 253.580
>>>     90pct: 330.003
>>>       Max: 411.145
>>>
>>> script configuring qdiscs on flows raw
>>>
>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>> 78.145.32.1
>>> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 
>>> streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
>>> Download:  6.75 Mbps
>>>    Upload:  0.59 Mbps
>>>   Latency: (in msec, 59 pings, 0.00% packet loss)
>>>       Min: 23.605
>>>     10pct: 169.789
>>>    Median: 282.155
>>>       Avg: 267.099
>>>     90pct: 333.283
>>>       Max: 376.509
>>>
>>> script configuring qdiscs and overhead 36 on
>>>
>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>> 80.44.96.1
>>> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4 
>>> streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
>>> Download:  6.56 Mbps
>>>    Upload:  0.59 Mbps
>>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>>       Min: 22.975
>>>     10pct: 195.473
>>>    Median: 281.756
>>>       Avg: 271.609
>>>     90pct: 342.130
>>>       Max: 398.573
>>>
>>>
>>> On 10/07/15 16:19, Alan Jenkins wrote:
>>>> I'm glad to hear there's a working version (even if it's not in the 
>>>> current build :).
>>>>
>>>> Do you have measurable improvements with overhead configured (v.s. 
>>>> unconfigured)?
>>>>
>>>> I've used netperfrunner from CeroWrtScripts, e.g.
>>>>
>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>>>>
>>>> I believe accounting for overhead helps on this two-way test, 
>>>> because a) it saturates the uplink b) about half that bandwidth is 
>>>> tiny ack packets (depending on bandwidth asymmetry).  And small 
>>>> packets have proportionally high overhead.
>>>>
>>>> (But it seems to only make a small difference for me, which always 
>>>> surprises Seb).
>>>>
>>>> Alan
>>>>
>>>> On 10/07/15 15:52, Fred Stratton wrote:
>>>>> You are absolutely correct.
>>>>>
>>>>> I tried both a numeric overhead value, and alternatively 
>>>>> 'pppoe-vcmux'
>>>>> and 'ether-fcs' in the build I crafted based on r46006, which is 
>>>>> lupin
>>>>> undeclared version 2. Everything works as stated.
>>>>>
>>>>> On lupin undeclared version 4, the current release based on 
>>>>> r46117, the
>>>>> values were not recognised.
>>>>>
>>>>> Thank you.
>>>>>
>>>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>>>> build. Unfortunately this was bricked by attempts to get homenet
>>>>> working, so I have nothing to report about gateway usage at present.
>>>>>
>>>>>
>>>>>
>>>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>>>> You're already using correct syntax - I've written it to be quite
>>>>>> lenient and use sensible defaults for missing information. There are
>>>>>> several sets of keywords and parameters which are mutually 
>>>>>> orthogonal,
>>>>>> and don't depend on each other, so "besteffort" has nothing to do 
>>>>>> with
>>>>>> "overhead" or "atm".
>>>>>>
>>>>>> What's probably happening is that you're using a slightly old 
>>>>>> version
>>>>>> of the cake kernel module which lacks the overhead parameter 
>>>>>> entirely,
>>>>>> but a more up to date tc which does support it. We've seen this
>>>>>> combination crop up ourselves recently.
>>>>>>
>>>>>> - Jonathan Morton
>>>>>>
>>> _______________________________________________
>>> Cerowrt-devel mailing list
>>> Cerowrt-devel@lists.bufferbloat.net
>>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
>
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 19:41             ` Alan Jenkins
@ 2015-07-10 19:43               ` Sebastian Moeller
  0 siblings, 0 replies; 30+ messages in thread
From: Sebastian Moeller @ 2015-07-10 19:43 UTC (permalink / raw)
  To: Alan Jenkins; +Cc: cerowrt-devel

Hi Alan,

On Jul 10, 2015, at 21:41 , Alan Jenkins <alan.christopher.jenkins@gmail.com> wrote:

> On 10/07/15 20:34, Fred Stratton wrote:
>> bridge sync is circa 10 000 kbit/s
>> 
>> with the cake option in sqm enabled
>> 
>> config queue 'eth1'
>>    option qdisc_advanced '0'
>>    option enabled '1'
>>    option interface 'pppoe-wan'
>>    option upload '850'
>>    option qdisc 'cake'
>>    option script 'simple_pppoe.qos'
> 
> Sorry, you want simple.qos.  simple_pppoe is for if you had set interface to the corresponding ethX.  

	This is correct.

> I think Seb said there's not much reason to do that anymore, now we correctly handle interfaces going up and down.  ("hotplug”).

	I should delete it one of those days, it is still in to remind me to finally switch the tc filters to hashes to see how this improves the speed…

Best Regards
	Sebastian

> 
>> option linklayer 'atm'
>>    option overhead '40'
>>    option download '8500'
>> 
>> tc -s qdisc show dev pppoe-wan
>> qdisc htb 1: root refcnt 2 r2q 10 default 12 direct_packets_stat 0 direct_qlen 3
>> Sent 101336 bytes 440 pkt (dropped 2, overlimits 66 requeues 0)
>> backlog 0b 0p requeues 0
>> qdisc cake 110: parent 1:11 unlimited diffserv4 flows raw
>> Sent 4399 bytes 25 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>           Class 0     Class 1     Class 2     Class 3
>>  rate          0bit        0bit        0bit        0bit
>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>> Pk delay         0us         0us         7us         2us
>> Av delay         0us         0us         0us         0us
>> Sp delay         0us         0us         0us         0us
>>  pkts             0           0          22           3
>> way inds           0           0           0           0
>> way miss           0           0          22           2
>> way cols           0           0           0           0
>>  bytes            0           0        3392        1007
>>  drops            0           0           0           0
>>  marks            0           0           0           0
>> qdisc cake 120: parent 1:12 unlimited diffserv4 flows raw
>> Sent 96937 bytes 415 pkt (dropped 2, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>           Class 0     Class 1     Class 2     Class 3
>>  rate          0bit        0bit        0bit        0bit
>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>> Pk delay         0us      28.0ms         0us         0us
>> Av delay         0us       1.2ms         0us         0us
>> Sp delay         0us         4us         0us         0us
>>  pkts             0         417           0           0
>> way inds           0           0           0           0
>> way miss           0          23           0           0
>> way cols           0           0           0           0
>>  bytes            0       98951           0           0
>>  drops            0           2           0           0
>>  marks            0           0           0           0
>> qdisc cake 130: parent 1:13 unlimited diffserv4 flows raw
>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>           Class 0     Class 1     Class 2     Class 3
>>  rate          0bit        0bit        0bit        0bit
>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>> Pk delay         0us         0us         0us         0us
>> Av delay         0us         0us         0us         0us
>> Sp delay         0us         0us         0us         0us
>>  pkts             0           0           0           0
>> way inds           0           0           0           0
>> way miss           0           0           0           0
>> way cols           0           0           0           0
>>  bytes            0           0           0           0
>>  drops            0           0           0           0
>>  marks            0           0           0           0
>> qdisc cake 140: parent 1:14 unlimited diffserv4 flows raw
>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>           Class 0     Class 1     Class 2     Class 3
>>  rate          0bit        0bit        0bit        0bit
>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>> Pk delay         0us         0us         0us         0us
>> Av delay         0us         0us         0us         0us
>> Sp delay         0us         0us         0us         0us
>>  pkts             0           0           0           0
>> way inds           0           0           0           0
>> way miss           0           0           0           0
>> way cols           0           0           0           0
>>  bytes            0           0           0           0
>>  drops            0           0           0           0
>>  marks            0           0           0           0
>> qdisc ingress ffff: parent ffff:fff1 ----------------
>> Sent 273341 bytes 435 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>> 
>> 
>> 
>> 
>> On 10/07/15 19:46, Sebastian Moeller wrote:
>>> Hi Fred,
>>> 
>>> your results seem to indicate that cake is not active at all, as the latency under load is abysmal (a quick check is to look at the median in relation to the min and the 90% number, in your examples all of these are terrible). Could you please post the result of the following commands on your router:
>>> 1) cat /etc/config/sqm
>>> 2) tc -d qdisc
>>> 3) tc -d class show dev pppoe-wan
>>> 4) tc -d class show dev ifb4pppoe-wqn
>>> 5) /etc/init.d/sqm stop
>>> 6) /etc/init.d/sqm start
>>> 
>>> hopefully these give some insight what might have happened.
>>> 
>>> And finally I would love to learn the output of:
>>> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
>>> 
>>> 
>>> Many Thanks & Best Regards
>>>    Sebastian
>>> 
>>> On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> wrote:
>>> 
>>>> By your command
>>>> Rebooted to rerun qdisc script, rather than changing qdiscs from the command-line, so suboptimal process as end-point changed.
>>>> 
>>>> script configuring qdiscs and overhead 40 on
>>>> 
>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
>>>> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
>>>> Download:  6.73 Mbps
>>>>   Upload:  0.58 Mbps
>>>>  Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>      Min: 24.094
>>>>    10pct: 172.654
>>>>   Median: 260.563
>>>>      Avg: 253.580
>>>>    90pct: 330.003
>>>>      Max: 411.145
>>>> 
>>>> script configuring qdiscs on flows raw
>>>> 
>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>> 78.145.32.1
>>>> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
>>>> Download:  6.75 Mbps
>>>>   Upload:  0.59 Mbps
>>>>  Latency: (in msec, 59 pings, 0.00% packet loss)
>>>>      Min: 23.605
>>>>    10pct: 169.789
>>>>   Median: 282.155
>>>>      Avg: 267.099
>>>>    90pct: 333.283
>>>>      Max: 376.509
>>>> 
>>>> script configuring qdiscs and overhead 36 on
>>>> 
>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>> 80.44.96.1
>>>> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
>>>> Download:  6.56 Mbps
>>>>   Upload:  0.59 Mbps
>>>>  Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>      Min: 22.975
>>>>    10pct: 195.473
>>>>   Median: 281.756
>>>>      Avg: 271.609
>>>>    90pct: 342.130
>>>>      Max: 398.573
>>>> 
>>>> 
>>>> On 10/07/15 16:19, Alan Jenkins wrote:
>>>>> I'm glad to hear there's a working version (even if it's not in the current build :).
>>>>> 
>>>>> Do you have measurable improvements with overhead configured (v.s. unconfigured)?
>>>>> 
>>>>> I've used netperfrunner from CeroWrtScripts, e.g.
>>>>> 
>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>>>>> 
>>>>> I believe accounting for overhead helps on this two-way test, because a) it saturates the uplink b) about half that bandwidth is tiny ack packets (depending on bandwidth asymmetry).  And small packets have proportionally high overhead.
>>>>> 
>>>>> (But it seems to only make a small difference for me, which always surprises Seb).
>>>>> 
>>>>> Alan
>>>>> 
>>>>> On 10/07/15 15:52, Fred Stratton wrote:
>>>>>> You are absolutely correct.
>>>>>> 
>>>>>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>>>>>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>>>>>> undeclared version 2. Everything works as stated.
>>>>>> 
>>>>>> On lupin undeclared version 4, the current release based on r46117, the
>>>>>> values were not recognised.
>>>>>> 
>>>>>> Thank you.
>>>>>> 
>>>>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>>>>> build. Unfortunately this was bricked by attempts to get homenet
>>>>>> working, so I have nothing to report about gateway usage at present.
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>>>>> You're already using correct syntax - I've written it to be quite
>>>>>>> lenient and use sensible defaults for missing information. There are
>>>>>>> several sets of keywords and parameters which are mutually orthogonal,
>>>>>>> and don't depend on each other, so "besteffort" has nothing to do with
>>>>>>> "overhead" or "atm".
>>>>>>> 
>>>>>>> What's probably happening is that you're using a slightly old version
>>>>>>> of the cake kernel module which lacks the overhead parameter entirely,
>>>>>>> but a more up to date tc which does support it. We've seen this
>>>>>>> combination crop up ourselves recently.
>>>>>>> 
>>>>>>> - Jonathan Morton
>>>>>>> 
>>>> _______________________________________________
>>>> Cerowrt-devel mailing list
>>>> Cerowrt-devel@lists.bufferbloat.net
>>>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
>> 
>> _______________________________________________
>> Cerowrt-devel mailing list
>> Cerowrt-devel@lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/cerowrt-devel


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 19:40             ` Sebastian Moeller
@ 2015-07-10 19:45               ` Fred Stratton
  2015-07-10 19:49                 ` Alan Jenkins
  2015-07-10 19:50                 ` Sebastian Moeller
  0 siblings, 2 replies; 30+ messages in thread
From: Fred Stratton @ 2015-07-10 19:45 UTC (permalink / raw)
  To: Sebastian Moeller, cerowrt-devel

These are the latest scripts,  AFAIK

no overhead allowance. I note.



On 10/07/15 20:40, Sebastian Moeller wrote:
> Hi Fred,
>
>
> On Jul 10, 2015, at 21:34 , Fred Stratton <fredstratton@imap.cc> wrote:
>
>> bridge sync is circa 10 000 kbit/s
>>
>> with the cake option in sqm enabled
>>
>> config queue 'eth1'
>>     option qdisc_advanced '0'
>>     option enabled '1'
>>     option interface 'pppoe-wan'
>>     option upload '850'
>>     option qdisc 'cake'
>>     option script 'simple_pppoe.qos'
>>     option linklayer 'atm'
>>     option overhead '40'
>>     option download ‘8500'
> 	So this looks reasonable. Then again, if the DSLAM is under provisioned/oversubscribed (= congested) shaping uypur DSL link might not fix all buffer bloat..
>
>> tc -s qdisc show dev pppoe-wan
>> qdisc htb 1: root refcnt 2 r2q 10 default 12 direct_packets_stat 0 direct_qlen 3
>> Sent 101336 bytes 440 pkt (dropped 2, overlimits 66 requeues 0)
>> backlog 0b 0p requeues 0
>> qdisc cake 110: parent 1:11 unlimited diffserv4 flows raw
>> Sent 4399 bytes 25 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>            Class 0     Class 1     Class 2     Class 3
>>   rate          0bit        0bit        0bit        0bit
>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>> Pk delay         0us         0us         7us         2us
>> Av delay         0us         0us         0us         0us
>> Sp delay         0us         0us         0us         0us
>>   pkts             0           0          22           3
>> way inds           0           0           0           0
>> way miss           0           0          22           2
>> way cols           0           0           0           0
>>   bytes            0           0        3392        1007
>>   drops            0           0           0           0
>>   marks            0           0           0           0
>> qdisc cake 120: parent 1:12 unlimited diffserv4 flows raw
>> Sent 96937 bytes 415 pkt (dropped 2, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>            Class 0     Class 1     Class 2     Class 3
>>   rate          0bit        0bit        0bit        0bit
>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>> Pk delay         0us      28.0ms         0us         0us
>> Av delay         0us       1.2ms         0us         0us
>> Sp delay         0us         4us         0us         0us
>>   pkts             0         417           0           0
>> way inds           0           0           0           0
>> way miss           0          23           0           0
>> way cols           0           0           0           0
>>   bytes            0       98951           0           0
>>   drops            0           2           0           0
>>   marks            0           0           0           0
>> qdisc cake 130: parent 1:13 unlimited diffserv4 flows raw
>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>            Class 0     Class 1     Class 2     Class 3
>>   rate          0bit        0bit        0bit        0bit
>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>> Pk delay         0us         0us         0us         0us
>> Av delay         0us         0us         0us         0us
>> Sp delay         0us         0us         0us         0us
>>   pkts             0           0           0           0
>> way inds           0           0           0           0
>> way miss           0           0           0           0
>> way cols           0           0           0           0
>>   bytes            0           0           0           0
>>   drops            0           0           0           0
>>   marks            0           0           0           0
>> qdisc cake 140: parent 1:14 unlimited diffserv4 flows raw
>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>            Class 0     Class 1     Class 2     Class 3
>>   rate          0bit        0bit        0bit        0bit
>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>> Pk delay         0us         0us         0us         0us
>> Av delay         0us         0us         0us         0us
>> Sp delay         0us         0us         0us         0us
>>   pkts             0           0           0           0
>> way inds           0           0           0           0
>> way miss           0           0           0           0
>> way cols           0           0           0           0
>>   bytes            0           0           0           0
>>   drops            0           0           0           0
>>   marks            0           0           0           0
>> qdisc ingress ffff: parent ffff:fff1 ----------------
>> Sent 273341 bytes 435 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
> 	But this is the hallmark of out of date sqm-scripts, this just uses cake as leaf qdisc and keeps HTB as the main shaper; a configuration that is useful for testing. I assume this is the old set of sqm-scripts not the update I just sent as attachment? If so could you retry with the newer scripts, please?
>
> Best Regards
> 	Sebastian
>
>>
>>
>>
>> On 10/07/15 19:46, Sebastian Moeller wrote:
>>> Hi Fred,
>>>
>>> your results seem to indicate that cake is not active at all, as the latency under load is abysmal (a quick check is to look at the median in relation to the min and the 90% number, in your examples all of these are terrible). Could you please post the result of the following commands on your router:
>>> 1) cat /etc/config/sqm
>>> 2) tc -d qdisc
>>> 3) tc -d class show dev pppoe-wan
>>> 4) tc -d class show dev ifb4pppoe-wqn
>>> 5) /etc/init.d/sqm stop
>>> 6) /etc/init.d/sqm start
>>>
>>> hopefully these give some insight what might have happened.
>>>
>>> And finally I would love to learn the output of:
>>> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
>>>
>>>
>>> Many Thanks & Best Regards
>>> 	Sebastian
>>>
>>> On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> wrote:
>>>
>>>> By your command
>>>> Rebooted to rerun qdisc script, rather than changing qdiscs from the command-line, so suboptimal process as end-point changed.
>>>>
>>>> script configuring qdiscs and overhead 40 on
>>>>
>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
>>>> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
>>>> Download:  6.73 Mbps
>>>>    Upload:  0.58 Mbps
>>>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>       Min: 24.094
>>>>     10pct: 172.654
>>>>    Median: 260.563
>>>>       Avg: 253.580
>>>>     90pct: 330.003
>>>>       Max: 411.145
>>>>
>>>> script configuring qdiscs on flows raw
>>>>
>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>> 78.145.32.1
>>>> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
>>>> Download:  6.75 Mbps
>>>>    Upload:  0.59 Mbps
>>>>   Latency: (in msec, 59 pings, 0.00% packet loss)
>>>>       Min: 23.605
>>>>     10pct: 169.789
>>>>    Median: 282.155
>>>>       Avg: 267.099
>>>>     90pct: 333.283
>>>>       Max: 376.509
>>>>
>>>> script configuring qdiscs and overhead 36 on
>>>>
>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>> 80.44.96.1
>>>> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
>>>> Download:  6.56 Mbps
>>>>    Upload:  0.59 Mbps
>>>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>       Min: 22.975
>>>>     10pct: 195.473
>>>>    Median: 281.756
>>>>       Avg: 271.609
>>>>     90pct: 342.130
>>>>       Max: 398.573
>>>>
>>>>
>>>> On 10/07/15 16:19, Alan Jenkins wrote:
>>>>> I'm glad to hear there's a working version (even if it's not in the current build :).
>>>>>
>>>>> Do you have measurable improvements with overhead configured (v.s. unconfigured)?
>>>>>
>>>>> I've used netperfrunner from CeroWrtScripts, e.g.
>>>>>
>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>>>>>
>>>>> I believe accounting for overhead helps on this two-way test, because a) it saturates the uplink b) about half that bandwidth is tiny ack packets (depending on bandwidth asymmetry).  And small packets have proportionally high overhead.
>>>>>
>>>>> (But it seems to only make a small difference for me, which always surprises Seb).
>>>>>
>>>>> Alan
>>>>>
>>>>> On 10/07/15 15:52, Fred Stratton wrote:
>>>>>> You are absolutely correct.
>>>>>>
>>>>>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>>>>>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>>>>>> undeclared version 2. Everything works as stated.
>>>>>>
>>>>>> On lupin undeclared version 4, the current release based on r46117, the
>>>>>> values were not recognised.
>>>>>>
>>>>>> Thank you.
>>>>>>
>>>>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>>>>> build. Unfortunately this was bricked by attempts to get homenet
>>>>>> working, so I have nothing to report about gateway usage at present.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>>>>> You're already using correct syntax - I've written it to be quite
>>>>>>> lenient and use sensible defaults for missing information. There are
>>>>>>> several sets of keywords and parameters which are mutually orthogonal,
>>>>>>> and don't depend on each other, so "besteffort" has nothing to do with
>>>>>>> "overhead" or "atm".
>>>>>>>
>>>>>>> What's probably happening is that you're using a slightly old version
>>>>>>> of the cake kernel module which lacks the overhead parameter entirely,
>>>>>>> but a more up to date tc which does support it. We've seen this
>>>>>>> combination crop up ourselves recently.
>>>>>>>
>>>>>>> - Jonathan Morton
>>>>>>>
>>>> _______________________________________________
>>>> Cerowrt-devel mailing list
>>>> Cerowrt-devel@lists.bufferbloat.net
>>>> https://lists.bufferbloat.net/listinfo/cerowrt-devel


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 19:45               ` Fred Stratton
@ 2015-07-10 19:49                 ` Alan Jenkins
  2015-07-10 19:50                 ` Sebastian Moeller
  1 sibling, 0 replies; 30+ messages in thread
From: Alan Jenkins @ 2015-07-10 19:49 UTC (permalink / raw)
  To: Fred Stratton, Sebastian Moeller, cerowrt-devel



On 10/07/15 20:45, Fred Stratton wrote:
> These are the latest scripts,  AFAIK
>
> no overhead allowance. I note.
>

Excellent point.  There is, but SQM uses "tc stab" for it by default, 
and there's no way to read that out.

To test using the overhead code in cake, add

     option linklayer_adaptation_mechanism 'cake'

>
>
> On 10/07/15 20:40, Sebastian Moeller wrote:
>> Hi Fred,
>>
>>
>> On Jul 10, 2015, at 21:34 , Fred Stratton <fredstratton@imap.cc> wrote:
>>
>>> bridge sync is circa 10 000 kbit/s
>>>
>>> with the cake option in sqm enabled
>>>
>>> config queue 'eth1'
>>>     option qdisc_advanced '0'
>>>     option enabled '1'
>>>     option interface 'pppoe-wan'
>>>     option upload '850'
>>>     option qdisc 'cake'
>>>     option script 'simple_pppoe.qos'
>>>     option linklayer 'atm'
>>>     option overhead '40'
>>>     option download ‘8500'
>>     So this looks reasonable. Then again, if the DSLAM is under 
>> provisioned/oversubscribed (= congested) shaping uypur DSL link might 
>> not fix all buffer bloat..
>>
>>> tc -s qdisc show dev pppoe-wan
>>> qdisc htb 1: root refcnt 2 r2q 10 default 12 direct_packets_stat 0 
>>> direct_qlen 3
>>> Sent 101336 bytes 440 pkt (dropped 2, overlimits 66 requeues 0)
>>> backlog 0b 0p requeues 0
>>> qdisc cake 110: parent 1:11 unlimited diffserv4 flows raw
>>> Sent 4399 bytes 25 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>            Class 0     Class 1     Class 2     Class 3
>>>   rate          0bit        0bit        0bit        0bit
>>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>> Pk delay         0us         0us         7us         2us
>>> Av delay         0us         0us         0us         0us
>>> Sp delay         0us         0us         0us         0us
>>>   pkts             0           0          22           3
>>> way inds           0           0           0           0
>>> way miss           0           0          22           2
>>> way cols           0           0           0           0
>>>   bytes            0           0        3392        1007
>>>   drops            0           0           0           0
>>>   marks            0           0           0           0
>>> qdisc cake 120: parent 1:12 unlimited diffserv4 flows raw
>>> Sent 96937 bytes 415 pkt (dropped 2, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>            Class 0     Class 1     Class 2     Class 3
>>>   rate          0bit        0bit        0bit        0bit
>>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>> Pk delay         0us      28.0ms         0us         0us
>>> Av delay         0us       1.2ms         0us         0us
>>> Sp delay         0us         4us         0us         0us
>>>   pkts             0         417           0           0
>>> way inds           0           0           0           0
>>> way miss           0          23           0           0
>>> way cols           0           0           0           0
>>>   bytes            0       98951           0           0
>>>   drops            0           2           0           0
>>>   marks            0           0           0           0
>>> qdisc cake 130: parent 1:13 unlimited diffserv4 flows raw
>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>            Class 0     Class 1     Class 2     Class 3
>>>   rate          0bit        0bit        0bit        0bit
>>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>> Pk delay         0us         0us         0us         0us
>>> Av delay         0us         0us         0us         0us
>>> Sp delay         0us         0us         0us         0us
>>>   pkts             0           0           0           0
>>> way inds           0           0           0           0
>>> way miss           0           0           0           0
>>> way cols           0           0           0           0
>>>   bytes            0           0           0           0
>>>   drops            0           0           0           0
>>>   marks            0           0           0           0
>>> qdisc cake 140: parent 1:14 unlimited diffserv4 flows raw
>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>            Class 0     Class 1     Class 2     Class 3
>>>   rate          0bit        0bit        0bit        0bit
>>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>> Pk delay         0us         0us         0us         0us
>>> Av delay         0us         0us         0us         0us
>>> Sp delay         0us         0us         0us         0us
>>>   pkts             0           0           0           0
>>> way inds           0           0           0           0
>>> way miss           0           0           0           0
>>> way cols           0           0           0           0
>>>   bytes            0           0           0           0
>>>   drops            0           0           0           0
>>>   marks            0           0           0           0
>>> qdisc ingress ffff: parent ffff:fff1 ----------------
>>> Sent 273341 bytes 435 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>     But this is the hallmark of out of date sqm-scripts, this just 
>> uses cake as leaf qdisc and keeps HTB as the main shaper; a 
>> configuration that is useful for testing. I assume this is the old 
>> set of sqm-scripts not the update I just sent as attachment? If so 
>> could you retry with the newer scripts, please?
>>
>> Best Regards
>>     Sebastian
>>
>>>
>>>
>>>
>>> On 10/07/15 19:46, Sebastian Moeller wrote:
>>>> Hi Fred,
>>>>
>>>> your results seem to indicate that cake is not active at all, as 
>>>> the latency under load is abysmal (a quick check is to look at the 
>>>> median in relation to the min and the 90% number, in your examples 
>>>> all of these are terrible). Could you please post the result of the 
>>>> following commands on your router:
>>>> 1) cat /etc/config/sqm
>>>> 2) tc -d qdisc
>>>> 3) tc -d class show dev pppoe-wan
>>>> 4) tc -d class show dev ifb4pppoe-wqn
>>>> 5) /etc/init.d/sqm stop
>>>> 6) /etc/init.d/sqm start
>>>>
>>>> hopefully these give some insight what might have happened.
>>>>
>>>> And finally I would love to learn the output of:
>>>> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p 
>>>> netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H 
>>>> netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
>>>>
>>>>
>>>> Many Thanks & Best Regards
>>>>     Sebastian
>>>>
>>>> On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> 
>>>> wrote:
>>>>
>>>>> By your command
>>>>> Rebooted to rerun qdisc script, rather than changing qdiscs from 
>>>>> the command-line, so suboptimal process as end-point changed.
>>>>>
>>>>> script configuring qdiscs and overhead 40 on
>>>>>
>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
>>>>> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 
>>>>> 4 streams down and up while pinging 2.96.48.1. Takes about 60 
>>>>> seconds.
>>>>> Download:  6.73 Mbps
>>>>>    Upload:  0.58 Mbps
>>>>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>>       Min: 24.094
>>>>>     10pct: 172.654
>>>>>    Median: 260.563
>>>>>       Avg: 253.580
>>>>>     90pct: 330.003
>>>>>       Max: 411.145
>>>>>
>>>>> script configuring qdiscs on flows raw
>>>>>
>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>>> 78.145.32.1
>>>>> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 
>>>>> 4 streams down and up while pinging 78.145.32.1. Takes about 60 
>>>>> seconds.
>>>>> Download:  6.75 Mbps
>>>>>    Upload:  0.59 Mbps
>>>>>   Latency: (in msec, 59 pings, 0.00% packet loss)
>>>>>       Min: 23.605
>>>>>     10pct: 169.789
>>>>>    Median: 282.155
>>>>>       Avg: 267.099
>>>>>     90pct: 333.283
>>>>>       Max: 376.509
>>>>>
>>>>> script configuring qdiscs and overhead 36 on
>>>>>
>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>>> 80.44.96.1
>>>>> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 
>>>>> 4 streams down and up while pinging 80.44.96.1. Takes about 60 
>>>>> seconds.
>>>>> Download:  6.56 Mbps
>>>>>    Upload:  0.59 Mbps
>>>>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>>       Min: 22.975
>>>>>     10pct: 195.473
>>>>>    Median: 281.756
>>>>>       Avg: 271.609
>>>>>     90pct: 342.130
>>>>>       Max: 398.573
>>>>>
>>>>>
>>>>> On 10/07/15 16:19, Alan Jenkins wrote:
>>>>>> I'm glad to hear there's a working version (even if it's not in 
>>>>>> the current build :).
>>>>>>
>>>>>> Do you have measurable improvements with overhead configured 
>>>>>> (v.s. unconfigured)?
>>>>>>
>>>>>> I've used netperfrunner from CeroWrtScripts, e.g.
>>>>>>
>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>>>>>>
>>>>>> I believe accounting for overhead helps on this two-way test, 
>>>>>> because a) it saturates the uplink b) about half that bandwidth 
>>>>>> is tiny ack packets (depending on bandwidth asymmetry).  And 
>>>>>> small packets have proportionally high overhead.
>>>>>>
>>>>>> (But it seems to only make a small difference for me, which 
>>>>>> always surprises Seb).
>>>>>>
>>>>>> Alan
>>>>>>
>>>>>> On 10/07/15 15:52, Fred Stratton wrote:
>>>>>>> You are absolutely correct.
>>>>>>>
>>>>>>> I tried both a numeric overhead value, and alternatively 
>>>>>>> 'pppoe-vcmux'
>>>>>>> and 'ether-fcs' in the build I crafted based on r46006, which is 
>>>>>>> lupin
>>>>>>> undeclared version 2. Everything works as stated.
>>>>>>>
>>>>>>> On lupin undeclared version 4, the current release based on 
>>>>>>> r46117, the
>>>>>>> values were not recognised.
>>>>>>>
>>>>>>> Thank you.
>>>>>>>
>>>>>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>>>>>> build. Unfortunately this was bricked by attempts to get homenet
>>>>>>> working, so I have nothing to report about gateway usage at 
>>>>>>> present.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>>>>>> You're already using correct syntax - I've written it to be quite
>>>>>>>> lenient and use sensible defaults for missing information. 
>>>>>>>> There are
>>>>>>>> several sets of keywords and parameters which are mutually 
>>>>>>>> orthogonal,
>>>>>>>> and don't depend on each other, so "besteffort" has nothing to 
>>>>>>>> do with
>>>>>>>> "overhead" or "atm".
>>>>>>>>
>>>>>>>> What's probably happening is that you're using a slightly old 
>>>>>>>> version
>>>>>>>> of the cake kernel module which lacks the overhead parameter 
>>>>>>>> entirely,
>>>>>>>> but a more up to date tc which does support it. We've seen this
>>>>>>>> combination crop up ourselves recently.
>>>>>>>>
>>>>>>>> - Jonathan Morton
>>>>>>>>
>>>>> _______________________________________________
>>>>> Cerowrt-devel mailing list
>>>>> Cerowrt-devel@lists.bufferbloat.net
>>>>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
>
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 19:45               ` Fred Stratton
  2015-07-10 19:49                 ` Alan Jenkins
@ 2015-07-10 19:50                 ` Sebastian Moeller
  2015-07-10 20:07                   ` Fred Stratton
  1 sibling, 1 reply; 30+ messages in thread
From: Sebastian Moeller @ 2015-07-10 19:50 UTC (permalink / raw)
  To: Fred Stratton; +Cc: cerowrt-devel

Hi Fred,

On Jul 10, 2015, at 21:45 , Fred Stratton <fredstratton@imap.cc> wrote:

> These are the latest scripts,  AFAIK

	Let me repeat my question: are these the scripts I attached in one of the last mails, or the most recent scripts from ceropackages-3.10? The version in the openwrt repository is NOT recent, yet. Pushing the latest verso into openwrt is on my todo list but that will need a bit more changes, so please try the files I attached which should work (unless I screwed up and attached the wrong version). Also I have no working cake on my router and hence require help for testing and that means there might be some undiscovered bugs in there.

> 
> no overhead allowance. I note.

	Well, that should work with the most recent version

Best Regards
	Sebastian

> 
> 
> 
> On 10/07/15 20:40, Sebastian Moeller wrote:
>> Hi Fred,
>> 
>> 
>> On Jul 10, 2015, at 21:34 , Fred Stratton <fredstratton@imap.cc> wrote:
>> 
>>> bridge sync is circa 10 000 kbit/s
>>> 
>>> with the cake option in sqm enabled
>>> 
>>> config queue 'eth1'
>>>    option qdisc_advanced '0'
>>>    option enabled '1'
>>>    option interface 'pppoe-wan'
>>>    option upload '850'
>>>    option qdisc 'cake'
>>>    option script 'simple_pppoe.qos'
>>>    option linklayer 'atm'
>>>    option overhead '40'
>>>    option download ‘8500'
>> 	So this looks reasonable. Then again, if the DSLAM is under provisioned/oversubscribed (= congested) shaping uypur DSL link might not fix all buffer bloat..
>> 
>>> tc -s qdisc show dev pppoe-wan
>>> qdisc htb 1: root refcnt 2 r2q 10 default 12 direct_packets_stat 0 direct_qlen 3
>>> Sent 101336 bytes 440 pkt (dropped 2, overlimits 66 requeues 0)
>>> backlog 0b 0p requeues 0
>>> qdisc cake 110: parent 1:11 unlimited diffserv4 flows raw
>>> Sent 4399 bytes 25 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>           Class 0     Class 1     Class 2     Class 3
>>>  rate          0bit        0bit        0bit        0bit
>>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>> Pk delay         0us         0us         7us         2us
>>> Av delay         0us         0us         0us         0us
>>> Sp delay         0us         0us         0us         0us
>>>  pkts             0           0          22           3
>>> way inds           0           0           0           0
>>> way miss           0           0          22           2
>>> way cols           0           0           0           0
>>>  bytes            0           0        3392        1007
>>>  drops            0           0           0           0
>>>  marks            0           0           0           0
>>> qdisc cake 120: parent 1:12 unlimited diffserv4 flows raw
>>> Sent 96937 bytes 415 pkt (dropped 2, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>           Class 0     Class 1     Class 2     Class 3
>>>  rate          0bit        0bit        0bit        0bit
>>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>> Pk delay         0us      28.0ms         0us         0us
>>> Av delay         0us       1.2ms         0us         0us
>>> Sp delay         0us         4us         0us         0us
>>>  pkts             0         417           0           0
>>> way inds           0           0           0           0
>>> way miss           0          23           0           0
>>> way cols           0           0           0           0
>>>  bytes            0       98951           0           0
>>>  drops            0           2           0           0
>>>  marks            0           0           0           0
>>> qdisc cake 130: parent 1:13 unlimited diffserv4 flows raw
>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>           Class 0     Class 1     Class 2     Class 3
>>>  rate          0bit        0bit        0bit        0bit
>>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>> Pk delay         0us         0us         0us         0us
>>> Av delay         0us         0us         0us         0us
>>> Sp delay         0us         0us         0us         0us
>>>  pkts             0           0           0           0
>>> way inds           0           0           0           0
>>> way miss           0           0           0           0
>>> way cols           0           0           0           0
>>>  bytes            0           0           0           0
>>>  drops            0           0           0           0
>>>  marks            0           0           0           0
>>> qdisc cake 140: parent 1:14 unlimited diffserv4 flows raw
>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>           Class 0     Class 1     Class 2     Class 3
>>>  rate          0bit        0bit        0bit        0bit
>>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>> Pk delay         0us         0us         0us         0us
>>> Av delay         0us         0us         0us         0us
>>> Sp delay         0us         0us         0us         0us
>>>  pkts             0           0           0           0
>>> way inds           0           0           0           0
>>> way miss           0           0           0           0
>>> way cols           0           0           0           0
>>>  bytes            0           0           0           0
>>>  drops            0           0           0           0
>>>  marks            0           0           0           0
>>> qdisc ingress ffff: parent ffff:fff1 ----------------
>>> Sent 273341 bytes 435 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>> 	But this is the hallmark of out of date sqm-scripts, this just uses cake as leaf qdisc and keeps HTB as the main shaper; a configuration that is useful for testing. I assume this is the old set of sqm-scripts not the update I just sent as attachment? If so could you retry with the newer scripts, please?
>> 
>> Best Regards
>> 	Sebastian
>> 
>>> 
>>> 
>>> 
>>> On 10/07/15 19:46, Sebastian Moeller wrote:
>>>> Hi Fred,
>>>> 
>>>> your results seem to indicate that cake is not active at all, as the latency under load is abysmal (a quick check is to look at the median in relation to the min and the 90% number, in your examples all of these are terrible). Could you please post the result of the following commands on your router:
>>>> 1) cat /etc/config/sqm
>>>> 2) tc -d qdisc
>>>> 3) tc -d class show dev pppoe-wan
>>>> 4) tc -d class show dev ifb4pppoe-wqn
>>>> 5) /etc/init.d/sqm stop
>>>> 6) /etc/init.d/sqm start
>>>> 
>>>> hopefully these give some insight what might have happened.
>>>> 
>>>> And finally I would love to learn the output of:
>>>> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
>>>> 
>>>> 
>>>> Many Thanks & Best Regards
>>>> 	Sebastian
>>>> 
>>>> On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> wrote:
>>>> 
>>>>> By your command
>>>>> Rebooted to rerun qdisc script, rather than changing qdiscs from the command-line, so suboptimal process as end-point changed.
>>>>> 
>>>>> script configuring qdiscs and overhead 40 on
>>>>> 
>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
>>>>> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
>>>>> Download:  6.73 Mbps
>>>>>   Upload:  0.58 Mbps
>>>>>  Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>>      Min: 24.094
>>>>>    10pct: 172.654
>>>>>   Median: 260.563
>>>>>      Avg: 253.580
>>>>>    90pct: 330.003
>>>>>      Max: 411.145
>>>>> 
>>>>> script configuring qdiscs on flows raw
>>>>> 
>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>>> 78.145.32.1
>>>>> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
>>>>> Download:  6.75 Mbps
>>>>>   Upload:  0.59 Mbps
>>>>>  Latency: (in msec, 59 pings, 0.00% packet loss)
>>>>>      Min: 23.605
>>>>>    10pct: 169.789
>>>>>   Median: 282.155
>>>>>      Avg: 267.099
>>>>>    90pct: 333.283
>>>>>      Max: 376.509
>>>>> 
>>>>> script configuring qdiscs and overhead 36 on
>>>>> 
>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>>> 80.44.96.1
>>>>> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
>>>>> Download:  6.56 Mbps
>>>>>   Upload:  0.59 Mbps
>>>>>  Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>>      Min: 22.975
>>>>>    10pct: 195.473
>>>>>   Median: 281.756
>>>>>      Avg: 271.609
>>>>>    90pct: 342.130
>>>>>      Max: 398.573
>>>>> 
>>>>> 
>>>>> On 10/07/15 16:19, Alan Jenkins wrote:
>>>>>> I'm glad to hear there's a working version (even if it's not in the current build :).
>>>>>> 
>>>>>> Do you have measurable improvements with overhead configured (v.s. unconfigured)?
>>>>>> 
>>>>>> I've used netperfrunner from CeroWrtScripts, e.g.
>>>>>> 
>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>>>>>> 
>>>>>> I believe accounting for overhead helps on this two-way test, because a) it saturates the uplink b) about half that bandwidth is tiny ack packets (depending on bandwidth asymmetry).  And small packets have proportionally high overhead.
>>>>>> 
>>>>>> (But it seems to only make a small difference for me, which always surprises Seb).
>>>>>> 
>>>>>> Alan
>>>>>> 
>>>>>> On 10/07/15 15:52, Fred Stratton wrote:
>>>>>>> You are absolutely correct.
>>>>>>> 
>>>>>>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>>>>>>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>>>>>>> undeclared version 2. Everything works as stated.
>>>>>>> 
>>>>>>> On lupin undeclared version 4, the current release based on r46117, the
>>>>>>> values were not recognised.
>>>>>>> 
>>>>>>> Thank you.
>>>>>>> 
>>>>>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>>>>>> build. Unfortunately this was bricked by attempts to get homenet
>>>>>>> working, so I have nothing to report about gateway usage at present.
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>>>>>> You're already using correct syntax - I've written it to be quite
>>>>>>>> lenient and use sensible defaults for missing information. There are
>>>>>>>> several sets of keywords and parameters which are mutually orthogonal,
>>>>>>>> and don't depend on each other, so "besteffort" has nothing to do with
>>>>>>>> "overhead" or "atm".
>>>>>>>> 
>>>>>>>> What's probably happening is that you're using a slightly old version
>>>>>>>> of the cake kernel module which lacks the overhead parameter entirely,
>>>>>>>> but a more up to date tc which does support it. We've seen this
>>>>>>>> combination crop up ourselves recently.
>>>>>>>> 
>>>>>>>> - Jonathan Morton
>>>>>>>> 
>>>>> _______________________________________________
>>>>> Cerowrt-devel mailing list
>>>>> Cerowrt-devel@lists.bufferbloat.net
>>>>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
> 


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 19:50                 ` Sebastian Moeller
@ 2015-07-10 20:07                   ` Fred Stratton
  2015-07-10 20:12                     ` Sebastian Moeller
  0 siblings, 1 reply; 30+ messages in thread
From: Fred Stratton @ 2015-07-10 20:07 UTC (permalink / raw)
  To: Sebastian Moeller, cerowrt-devel

replaced /usr/lib/sqm as ordered

cat /etc/config/sqm

config queue 'eth1'
     option qdisc_advanced '0'
     option enabled '1'
     option interface 'pppoe-wan'
     option upload '850'
     option qdisc 'cake'
     option linklayer 'atm'
     option overhead '40'
     option download '8500'
     option script 'simple.qos'
     option linklayer_advanced '1'
     option tcMTU '2047'
     option tcTSIZE '128'
     option tcMPU '0'
     option linklayer_adaptation_mechanism 'cake'

root@OpenWrt:~# tc -s qdisc show
qdisc fq_codel 0: dev eth0 root refcnt 2 limit 1024p flows 1024 quantum 
300 target 5.0ms interval 100.0ms ecn
  Sent 5904206 bytes 10771 pkt (dropped 0, overlimits 0 requeues 1)
  backlog 0b 0p requeues 1
   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
   new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev eth1 root refcnt 2 limit 1024p flows 1024 quantum 
300 target 5.0ms interval 100.0ms ecn
  Sent 903154 bytes 7941 pkt (dropped 0, overlimits 0 requeues 2)
  backlog 0b 0p requeues 2
   maxpacket 1322 drop_overlimit 0 new_flow_count 1 ecn_mark 0
   new_flows_len 0 old_flows_len 0
qdisc mq 0: dev wlan0 root
  Sent 198495 bytes 816 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
qdisc fq_codel 0: dev wlan0 parent :1 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
  Sent 3709 bytes 19 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
   new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev wlan0 parent :2 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
  Sent 112 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
   new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev wlan0 parent :3 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
  Sent 194674 bytes 796 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
   new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev wlan0 parent :4 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
   new_flows_len 0 old_flows_len 0
qdisc mq 0: dev wlan1 root
  Sent 53249 bytes 323 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
qdisc fq_codel 0: dev wlan1 parent :1 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
  Sent 1337 bytes 9 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
   new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev wlan1 parent :2 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
   new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev wlan1 parent :3 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
  Sent 51912 bytes 314 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
   new_flows_len 0 old_flows_len 0
qdisc fq_codel 0: dev wlan1 parent :4 limit 1024p flows 1024 quantum 300 
target 5.0ms interval 100.0ms ecn
  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
   new_flows_len 0 old_flows_len 0
qdisc cake 8009: dev pppoe-wan root refcnt 2 bandwidth 850Kbit diffserv4 
flows atm overhead 40
  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
            Class 0     Class 1     Class 2     Class 3
   rate       850Kbit   796880bit   637504bit   212496bit
   target      21.3ms      22.7ms      28.3ms      85.0ms
interval     170.1ms     181.4ms     226.8ms     680.4ms
Pk delay         0us         0us         0us         0us
Av delay         0us         0us         0us         0us
Sp delay         0us         0us         0us         0us
   pkts             0           0           0           0
way inds           0           0           0           0
way miss           0           0           0           0
way cols           0           0           0           0
   bytes            0           0           0           0
   drops            0           0           0           0
   marks            0           0           0           0
qdisc ingress ffff: dev pppoe-wan parent ffff:fff1 ----------------
  Sent 68 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
qdisc cake 800a: dev ifb4pppoe-wan root refcnt 2 bandwidth 8500Kbit 
besteffort flows atm overhead 40
  Sent 90 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
            Class 0
   rate      8500Kbit
   target       5.0ms
interval     100.0ms
Pk delay         0us
Av delay         0us
Sp delay         0us
   pkts             1
way inds           0
way miss           1
way cols           0
   bytes           90
   drops            0
   marks            0



On 10/07/15 20:50, Sebastian Moeller wrote:
> Hi Fred,
>
> On Jul 10, 2015, at 21:45 , Fred Stratton <fredstratton@imap.cc> wrote:
>
>> These are the latest scripts,  AFAIK
> 	Let me repeat my question: are these the scripts I attached in one of the last mails, or the most recent scripts from ceropackages-3.10? The version in the openwrt repository is NOT recent, yet. Pushing the latest verso into openwrt is on my todo list but that will need a bit more changes, so please try the files I attached which should work (unless I screwed up and attached the wrong version). Also I have no working cake on my router and hence require help for testing and that means there might be some undiscovered bugs in there.
>
>> no overhead allowance. I note.
> 	Well, that should work with the most recent version
>
> Best Regards
> 	Sebastian
>
>>
>>
>> On 10/07/15 20:40, Sebastian Moeller wrote:
>>> Hi Fred,
>>>
>>>
>>> On Jul 10, 2015, at 21:34 , Fred Stratton <fredstratton@imap.cc> wrote:
>>>
>>>> bridge sync is circa 10 000 kbit/s
>>>>
>>>> with the cake option in sqm enabled
>>>>
>>>> config queue 'eth1'
>>>>     option qdisc_advanced '0'
>>>>     option enabled '1'
>>>>     option interface 'pppoe-wan'
>>>>     option upload '850'
>>>>     option qdisc 'cake'
>>>>     option script 'simple_pppoe.qos'
>>>>     option linklayer 'atm'
>>>>     option overhead '40'
>>>>     option download ‘8500'
>>> 	So this looks reasonable. Then again, if the DSLAM is under provisioned/oversubscribed (= congested) shaping uypur DSL link might not fix all buffer bloat..
>>>
>>>> tc -s qdisc show dev pppoe-wan
>>>> qdisc htb 1: root refcnt 2 r2q 10 default 12 direct_packets_stat 0 direct_qlen 3
>>>> Sent 101336 bytes 440 pkt (dropped 2, overlimits 66 requeues 0)
>>>> backlog 0b 0p requeues 0
>>>> qdisc cake 110: parent 1:11 unlimited diffserv4 flows raw
>>>> Sent 4399 bytes 25 pkt (dropped 0, overlimits 0 requeues 0)
>>>> backlog 0b 0p requeues 0
>>>>            Class 0     Class 1     Class 2     Class 3
>>>>   rate          0bit        0bit        0bit        0bit
>>>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>> Pk delay         0us         0us         7us         2us
>>>> Av delay         0us         0us         0us         0us
>>>> Sp delay         0us         0us         0us         0us
>>>>   pkts             0           0          22           3
>>>> way inds           0           0           0           0
>>>> way miss           0           0          22           2
>>>> way cols           0           0           0           0
>>>>   bytes            0           0        3392        1007
>>>>   drops            0           0           0           0
>>>>   marks            0           0           0           0
>>>> qdisc cake 120: parent 1:12 unlimited diffserv4 flows raw
>>>> Sent 96937 bytes 415 pkt (dropped 2, overlimits 0 requeues 0)
>>>> backlog 0b 0p requeues 0
>>>>            Class 0     Class 1     Class 2     Class 3
>>>>   rate          0bit        0bit        0bit        0bit
>>>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>> Pk delay         0us      28.0ms         0us         0us
>>>> Av delay         0us       1.2ms         0us         0us
>>>> Sp delay         0us         4us         0us         0us
>>>>   pkts             0         417           0           0
>>>> way inds           0           0           0           0
>>>> way miss           0          23           0           0
>>>> way cols           0           0           0           0
>>>>   bytes            0       98951           0           0
>>>>   drops            0           2           0           0
>>>>   marks            0           0           0           0
>>>> qdisc cake 130: parent 1:13 unlimited diffserv4 flows raw
>>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>>> backlog 0b 0p requeues 0
>>>>            Class 0     Class 1     Class 2     Class 3
>>>>   rate          0bit        0bit        0bit        0bit
>>>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>> Pk delay         0us         0us         0us         0us
>>>> Av delay         0us         0us         0us         0us
>>>> Sp delay         0us         0us         0us         0us
>>>>   pkts             0           0           0           0
>>>> way inds           0           0           0           0
>>>> way miss           0           0           0           0
>>>> way cols           0           0           0           0
>>>>   bytes            0           0           0           0
>>>>   drops            0           0           0           0
>>>>   marks            0           0           0           0
>>>> qdisc cake 140: parent 1:14 unlimited diffserv4 flows raw
>>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>>> backlog 0b 0p requeues 0
>>>>            Class 0     Class 1     Class 2     Class 3
>>>>   rate          0bit        0bit        0bit        0bit
>>>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>> Pk delay         0us         0us         0us         0us
>>>> Av delay         0us         0us         0us         0us
>>>> Sp delay         0us         0us         0us         0us
>>>>   pkts             0           0           0           0
>>>> way inds           0           0           0           0
>>>> way miss           0           0           0           0
>>>> way cols           0           0           0           0
>>>>   bytes            0           0           0           0
>>>>   drops            0           0           0           0
>>>>   marks            0           0           0           0
>>>> qdisc ingress ffff: parent ffff:fff1 ----------------
>>>> Sent 273341 bytes 435 pkt (dropped 0, overlimits 0 requeues 0)
>>>> backlog 0b 0p requeues 0
>>> 	But this is the hallmark of out of date sqm-scripts, this just uses cake as leaf qdisc and keeps HTB as the main shaper; a configuration that is useful for testing. I assume this is the old set of sqm-scripts not the update I just sent as attachment? If so could you retry with the newer scripts, please?
>>>
>>> Best Regards
>>> 	Sebastian
>>>
>>>>
>>>>
>>>> On 10/07/15 19:46, Sebastian Moeller wrote:
>>>>> Hi Fred,
>>>>>
>>>>> your results seem to indicate that cake is not active at all, as the latency under load is abysmal (a quick check is to look at the median in relation to the min and the 90% number, in your examples all of these are terrible). Could you please post the result of the following commands on your router:
>>>>> 1) cat /etc/config/sqm
>>>>> 2) tc -d qdisc
>>>>> 3) tc -d class show dev pppoe-wan
>>>>> 4) tc -d class show dev ifb4pppoe-wqn
>>>>> 5) /etc/init.d/sqm stop
>>>>> 6) /etc/init.d/sqm start
>>>>>
>>>>> hopefully these give some insight what might have happened.
>>>>>
>>>>> And finally I would love to learn the output of:
>>>>> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
>>>>>
>>>>>
>>>>> Many Thanks & Best Regards
>>>>> 	Sebastian
>>>>>
>>>>> On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> wrote:
>>>>>
>>>>>> By your command
>>>>>> Rebooted to rerun qdisc script, rather than changing qdiscs from the command-line, so suboptimal process as end-point changed.
>>>>>>
>>>>>> script configuring qdiscs and overhead 40 on
>>>>>>
>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
>>>>>> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
>>>>>> Download:  6.73 Mbps
>>>>>>    Upload:  0.58 Mbps
>>>>>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>>>       Min: 24.094
>>>>>>     10pct: 172.654
>>>>>>    Median: 260.563
>>>>>>       Avg: 253.580
>>>>>>     90pct: 330.003
>>>>>>       Max: 411.145
>>>>>>
>>>>>> script configuring qdiscs on flows raw
>>>>>>
>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>>>> 78.145.32.1
>>>>>> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
>>>>>> Download:  6.75 Mbps
>>>>>>    Upload:  0.59 Mbps
>>>>>>   Latency: (in msec, 59 pings, 0.00% packet loss)
>>>>>>       Min: 23.605
>>>>>>     10pct: 169.789
>>>>>>    Median: 282.155
>>>>>>       Avg: 267.099
>>>>>>     90pct: 333.283
>>>>>>       Max: 376.509
>>>>>>
>>>>>> script configuring qdiscs and overhead 36 on
>>>>>>
>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>>>> 80.44.96.1
>>>>>> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
>>>>>> Download:  6.56 Mbps
>>>>>>    Upload:  0.59 Mbps
>>>>>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>>>       Min: 22.975
>>>>>>     10pct: 195.473
>>>>>>    Median: 281.756
>>>>>>       Avg: 271.609
>>>>>>     90pct: 342.130
>>>>>>       Max: 398.573
>>>>>>
>>>>>>
>>>>>> On 10/07/15 16:19, Alan Jenkins wrote:
>>>>>>> I'm glad to hear there's a working version (even if it's not in the current build :).
>>>>>>>
>>>>>>> Do you have measurable improvements with overhead configured (v.s. unconfigured)?
>>>>>>>
>>>>>>> I've used netperfrunner from CeroWrtScripts, e.g.
>>>>>>>
>>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>>>>>>>
>>>>>>> I believe accounting for overhead helps on this two-way test, because a) it saturates the uplink b) about half that bandwidth is tiny ack packets (depending on bandwidth asymmetry).  And small packets have proportionally high overhead.
>>>>>>>
>>>>>>> (But it seems to only make a small difference for me, which always surprises Seb).
>>>>>>>
>>>>>>> Alan
>>>>>>>
>>>>>>> On 10/07/15 15:52, Fred Stratton wrote:
>>>>>>>> You are absolutely correct.
>>>>>>>>
>>>>>>>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>>>>>>>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>>>>>>>> undeclared version 2. Everything works as stated.
>>>>>>>>
>>>>>>>> On lupin undeclared version 4, the current release based on r46117, the
>>>>>>>> values were not recognised.
>>>>>>>>
>>>>>>>> Thank you.
>>>>>>>>
>>>>>>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>>>>>>> build. Unfortunately this was bricked by attempts to get homenet
>>>>>>>> working, so I have nothing to report about gateway usage at present.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>>>>>>> You're already using correct syntax - I've written it to be quite
>>>>>>>>> lenient and use sensible defaults for missing information. There are
>>>>>>>>> several sets of keywords and parameters which are mutually orthogonal,
>>>>>>>>> and don't depend on each other, so "besteffort" has nothing to do with
>>>>>>>>> "overhead" or "atm".
>>>>>>>>>
>>>>>>>>> What's probably happening is that you're using a slightly old version
>>>>>>>>> of the cake kernel module which lacks the overhead parameter entirely,
>>>>>>>>> but a more up to date tc which does support it. We've seen this
>>>>>>>>> combination crop up ourselves recently.
>>>>>>>>>
>>>>>>>>> - Jonathan Morton
>>>>>>>>>
>>>>>> _______________________________________________
>>>>>> Cerowrt-devel mailing list
>>>>>> Cerowrt-devel@lists.bufferbloat.net
>>>>>> https://lists.bufferbloat.net/listinfo/cerowrt-devel


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 20:07                   ` Fred Stratton
@ 2015-07-10 20:12                     ` Sebastian Moeller
  2015-07-10 20:24                       ` Fred Stratton
  0 siblings, 1 reply; 30+ messages in thread
From: Sebastian Moeller @ 2015-07-10 20:12 UTC (permalink / raw)
  To: Fred Stratton; +Cc: cerowrt-devel

Hi Fred,

On Jul 10, 2015, at 22:07 , Fred Stratton <fredstratton@imap.cc> wrote:

> replaced /usr/lib/sqm as ordered

	Thanks.

> 
> cat /etc/config/sqm
> 
> config queue 'eth1'
>    option qdisc_advanced '0'
>    option enabled '1'
>    option interface 'pppoe-wan'
>    option upload '850'
>    option qdisc 'cake'
>    option linklayer 'atm'
>    option overhead '40'
>    option download '8500'
>    option script 'simple.qos'
>    option linklayer_advanced '1'
>    option tcMTU '2047'
>    option tcTSIZE '128'
>    option tcMPU '0'
>    option linklayer_adaptation_mechanism ‘cake'

	Looks reasonable.

> 
> root@OpenWrt:~# tc -s qdisc show
> qdisc fq_codel 0: dev eth0 root refcnt 2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> Sent 5904206 bytes 10771 pkt (dropped 0, overlimits 0 requeues 1)
> backlog 0b 0p requeues 1
>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>  new_flows_len 0 old_flows_len 0
> qdisc fq_codel 0: dev eth1 root refcnt 2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> Sent 903154 bytes 7941 pkt (dropped 0, overlimits 0 requeues 2)
> backlog 0b 0p requeues 2
>  maxpacket 1322 drop_overlimit 0 new_flow_count 1 ecn_mark 0
>  new_flows_len 0 old_flows_len 0
> qdisc mq 0: dev wlan0 root
> Sent 198495 bytes 816 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
> qdisc fq_codel 0: dev wlan0 parent :1 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> Sent 3709 bytes 19 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>  new_flows_len 0 old_flows_len 0
> qdisc fq_codel 0: dev wlan0 parent :2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> Sent 112 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>  new_flows_len 0 old_flows_len 0
> qdisc fq_codel 0: dev wlan0 parent :3 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> Sent 194674 bytes 796 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>  new_flows_len 0 old_flows_len 0
> qdisc fq_codel 0: dev wlan0 parent :4 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>  new_flows_len 0 old_flows_len 0
> qdisc mq 0: dev wlan1 root
> Sent 53249 bytes 323 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
> qdisc fq_codel 0: dev wlan1 parent :1 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> Sent 1337 bytes 9 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>  new_flows_len 0 old_flows_len 0
> qdisc fq_codel 0: dev wlan1 parent :2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>  new_flows_len 0 old_flows_len 0
> qdisc fq_codel 0: dev wlan1 parent :3 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> Sent 51912 bytes 314 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>  new_flows_len 0 old_flows_len 0
> qdisc fq_codel 0: dev wlan1 parent :4 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>  new_flows_len 0 old_flows_len 0
> qdisc cake 8009: dev pppoe-wan root refcnt 2 bandwidth 850Kbit diffserv4 flows atm overhead 40

	Good, egress accounts for the link layer adaptation.

> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>           Class 0     Class 1     Class 2     Class 3
>  rate       850Kbit   796880bit   637504bit   212496bit
>  target      21.3ms      22.7ms      28.3ms      85.0ms
> interval     170.1ms     181.4ms     226.8ms     680.4ms
> Pk delay         0us         0us         0us         0us
> Av delay         0us         0us         0us         0us
> Sp delay         0us         0us         0us         0us
>  pkts             0           0           0           0
> way inds           0           0           0           0
> way miss           0           0           0           0
> way cols           0           0           0           0
>  bytes            0           0           0           0
>  drops            0           0           0           0
>  marks            0           0           0           0
> qdisc ingress ffff: dev pppoe-wan parent ffff:fff1 ----------------
> Sent 68 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
> qdisc cake 800a: dev ifb4pppoe-wan root refcnt 2 bandwidth 8500Kbit besteffort flows atm overhead 40

	So, I would be interested to learn how this now performs with netperfrunner and/or betterspeedtest.sh


Best Regards
	Sebastian


> Sent 90 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>           Class 0
>  rate      8500Kbit
>  target       5.0ms
> interval     100.0ms
> Pk delay         0us
> Av delay         0us
> Sp delay         0us
>  pkts             1
> way inds           0
> way miss           1
> way cols           0
>  bytes           90
>  drops            0
>  marks            0
> 
> 
> 
> On 10/07/15 20:50, Sebastian Moeller wrote:
>> Hi Fred,
>> 
>> On Jul 10, 2015, at 21:45 , Fred Stratton <fredstratton@imap.cc> wrote:
>> 
>>> These are the latest scripts,  AFAIK
>> 	Let me repeat my question: are these the scripts I attached in one of the last mails, or the most recent scripts from ceropackages-3.10? The version in the openwrt repository is NOT recent, yet. Pushing the latest verso into openwrt is on my todo list but that will need a bit more changes, so please try the files I attached which should work (unless I screwed up and attached the wrong version). Also I have no working cake on my router and hence require help for testing and that means there might be some undiscovered bugs in there.
>> 
>>> no overhead allowance. I note.
>> 	Well, that should work with the most recent version
>> 
>> Best Regards
>> 	Sebastian
>> 
>>> 
>>> 
>>> On 10/07/15 20:40, Sebastian Moeller wrote:
>>>> Hi Fred,
>>>> 
>>>> 
>>>> On Jul 10, 2015, at 21:34 , Fred Stratton <fredstratton@imap.cc> wrote:
>>>> 
>>>>> bridge sync is circa 10 000 kbit/s
>>>>> 
>>>>> with the cake option in sqm enabled
>>>>> 
>>>>> config queue 'eth1'
>>>>>    option qdisc_advanced '0'
>>>>>    option enabled '1'
>>>>>    option interface 'pppoe-wan'
>>>>>    option upload '850'
>>>>>    option qdisc 'cake'
>>>>>    option script 'simple_pppoe.qos'
>>>>>    option linklayer 'atm'
>>>>>    option overhead '40'
>>>>>    option download ‘8500'
>>>> 	So this looks reasonable. Then again, if the DSLAM is under provisioned/oversubscribed (= congested) shaping uypur DSL link might not fix all buffer bloat..
>>>> 
>>>>> tc -s qdisc show dev pppoe-wan
>>>>> qdisc htb 1: root refcnt 2 r2q 10 default 12 direct_packets_stat 0 direct_qlen 3
>>>>> Sent 101336 bytes 440 pkt (dropped 2, overlimits 66 requeues 0)
>>>>> backlog 0b 0p requeues 0
>>>>> qdisc cake 110: parent 1:11 unlimited diffserv4 flows raw
>>>>> Sent 4399 bytes 25 pkt (dropped 0, overlimits 0 requeues 0)
>>>>> backlog 0b 0p requeues 0
>>>>>           Class 0     Class 1     Class 2     Class 3
>>>>>  rate          0bit        0bit        0bit        0bit
>>>>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>>> Pk delay         0us         0us         7us         2us
>>>>> Av delay         0us         0us         0us         0us
>>>>> Sp delay         0us         0us         0us         0us
>>>>>  pkts             0           0          22           3
>>>>> way inds           0           0           0           0
>>>>> way miss           0           0          22           2
>>>>> way cols           0           0           0           0
>>>>>  bytes            0           0        3392        1007
>>>>>  drops            0           0           0           0
>>>>>  marks            0           0           0           0
>>>>> qdisc cake 120: parent 1:12 unlimited diffserv4 flows raw
>>>>> Sent 96937 bytes 415 pkt (dropped 2, overlimits 0 requeues 0)
>>>>> backlog 0b 0p requeues 0
>>>>>           Class 0     Class 1     Class 2     Class 3
>>>>>  rate          0bit        0bit        0bit        0bit
>>>>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>>> Pk delay         0us      28.0ms         0us         0us
>>>>> Av delay         0us       1.2ms         0us         0us
>>>>> Sp delay         0us         4us         0us         0us
>>>>>  pkts             0         417           0           0
>>>>> way inds           0           0           0           0
>>>>> way miss           0          23           0           0
>>>>> way cols           0           0           0           0
>>>>>  bytes            0       98951           0           0
>>>>>  drops            0           2           0           0
>>>>>  marks            0           0           0           0
>>>>> qdisc cake 130: parent 1:13 unlimited diffserv4 flows raw
>>>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>>>> backlog 0b 0p requeues 0
>>>>>           Class 0     Class 1     Class 2     Class 3
>>>>>  rate          0bit        0bit        0bit        0bit
>>>>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>>> Pk delay         0us         0us         0us         0us
>>>>> Av delay         0us         0us         0us         0us
>>>>> Sp delay         0us         0us         0us         0us
>>>>>  pkts             0           0           0           0
>>>>> way inds           0           0           0           0
>>>>> way miss           0           0           0           0
>>>>> way cols           0           0           0           0
>>>>>  bytes            0           0           0           0
>>>>>  drops            0           0           0           0
>>>>>  marks            0           0           0           0
>>>>> qdisc cake 140: parent 1:14 unlimited diffserv4 flows raw
>>>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>>>> backlog 0b 0p requeues 0
>>>>>           Class 0     Class 1     Class 2     Class 3
>>>>>  rate          0bit        0bit        0bit        0bit
>>>>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>>> Pk delay         0us         0us         0us         0us
>>>>> Av delay         0us         0us         0us         0us
>>>>> Sp delay         0us         0us         0us         0us
>>>>>  pkts             0           0           0           0
>>>>> way inds           0           0           0           0
>>>>> way miss           0           0           0           0
>>>>> way cols           0           0           0           0
>>>>>  bytes            0           0           0           0
>>>>>  drops            0           0           0           0
>>>>>  marks            0           0           0           0
>>>>> qdisc ingress ffff: parent ffff:fff1 ----------------
>>>>> Sent 273341 bytes 435 pkt (dropped 0, overlimits 0 requeues 0)
>>>>> backlog 0b 0p requeues 0
>>>> 	But this is the hallmark of out of date sqm-scripts, this just uses cake as leaf qdisc and keeps HTB as the main shaper; a configuration that is useful for testing. I assume this is the old set of sqm-scripts not the update I just sent as attachment? If so could you retry with the newer scripts, please?
>>>> 
>>>> Best Regards
>>>> 	Sebastian
>>>> 
>>>>> 
>>>>> 
>>>>> On 10/07/15 19:46, Sebastian Moeller wrote:
>>>>>> Hi Fred,
>>>>>> 
>>>>>> your results seem to indicate that cake is not active at all, as the latency under load is abysmal (a quick check is to look at the median in relation to the min and the 90% number, in your examples all of these are terrible). Could you please post the result of the following commands on your router:
>>>>>> 1) cat /etc/config/sqm
>>>>>> 2) tc -d qdisc
>>>>>> 3) tc -d class show dev pppoe-wan
>>>>>> 4) tc -d class show dev ifb4pppoe-wqn
>>>>>> 5) /etc/init.d/sqm stop
>>>>>> 6) /etc/init.d/sqm start
>>>>>> 
>>>>>> hopefully these give some insight what might have happened.
>>>>>> 
>>>>>> And finally I would love to learn the output of:
>>>>>> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
>>>>>> 
>>>>>> 
>>>>>> Many Thanks & Best Regards
>>>>>> 	Sebastian
>>>>>> 
>>>>>> On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> wrote:
>>>>>> 
>>>>>>> By your command
>>>>>>> Rebooted to rerun qdisc script, rather than changing qdiscs from the command-line, so suboptimal process as end-point changed.
>>>>>>> 
>>>>>>> script configuring qdiscs and overhead 40 on
>>>>>>> 
>>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
>>>>>>> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
>>>>>>> Download:  6.73 Mbps
>>>>>>>   Upload:  0.58 Mbps
>>>>>>>  Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>>>>      Min: 24.094
>>>>>>>    10pct: 172.654
>>>>>>>   Median: 260.563
>>>>>>>      Avg: 253.580
>>>>>>>    90pct: 330.003
>>>>>>>      Max: 411.145
>>>>>>> 
>>>>>>> script configuring qdiscs on flows raw
>>>>>>> 
>>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>>>>> 78.145.32.1
>>>>>>> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
>>>>>>> Download:  6.75 Mbps
>>>>>>>   Upload:  0.59 Mbps
>>>>>>>  Latency: (in msec, 59 pings, 0.00% packet loss)
>>>>>>>      Min: 23.605
>>>>>>>    10pct: 169.789
>>>>>>>   Median: 282.155
>>>>>>>      Avg: 267.099
>>>>>>>    90pct: 333.283
>>>>>>>      Max: 376.509
>>>>>>> 
>>>>>>> script configuring qdiscs and overhead 36 on
>>>>>>> 
>>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>>>>> 80.44.96.1
>>>>>>> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
>>>>>>> Download:  6.56 Mbps
>>>>>>>   Upload:  0.59 Mbps
>>>>>>>  Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>>>>      Min: 22.975
>>>>>>>    10pct: 195.473
>>>>>>>   Median: 281.756
>>>>>>>      Avg: 271.609
>>>>>>>    90pct: 342.130
>>>>>>>      Max: 398.573
>>>>>>> 
>>>>>>> 
>>>>>>> On 10/07/15 16:19, Alan Jenkins wrote:
>>>>>>>> I'm glad to hear there's a working version (even if it's not in the current build :).
>>>>>>>> 
>>>>>>>> Do you have measurable improvements with overhead configured (v.s. unconfigured)?
>>>>>>>> 
>>>>>>>> I've used netperfrunner from CeroWrtScripts, e.g.
>>>>>>>> 
>>>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>>>>>>>> 
>>>>>>>> I believe accounting for overhead helps on this two-way test, because a) it saturates the uplink b) about half that bandwidth is tiny ack packets (depending on bandwidth asymmetry).  And small packets have proportionally high overhead.
>>>>>>>> 
>>>>>>>> (But it seems to only make a small difference for me, which always surprises Seb).
>>>>>>>> 
>>>>>>>> Alan
>>>>>>>> 
>>>>>>>> On 10/07/15 15:52, Fred Stratton wrote:
>>>>>>>>> You are absolutely correct.
>>>>>>>>> 
>>>>>>>>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>>>>>>>>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>>>>>>>>> undeclared version 2. Everything works as stated.
>>>>>>>>> 
>>>>>>>>> On lupin undeclared version 4, the current release based on r46117, the
>>>>>>>>> values were not recognised.
>>>>>>>>> 
>>>>>>>>> Thank you.
>>>>>>>>> 
>>>>>>>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>>>>>>>> build. Unfortunately this was bricked by attempts to get homenet
>>>>>>>>> working, so I have nothing to report about gateway usage at present.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>>>>>>>> You're already using correct syntax - I've written it to be quite
>>>>>>>>>> lenient and use sensible defaults for missing information. There are
>>>>>>>>>> several sets of keywords and parameters which are mutually orthogonal,
>>>>>>>>>> and don't depend on each other, so "besteffort" has nothing to do with
>>>>>>>>>> "overhead" or "atm".
>>>>>>>>>> 
>>>>>>>>>> What's probably happening is that you're using a slightly old version
>>>>>>>>>> of the cake kernel module which lacks the overhead parameter entirely,
>>>>>>>>>> but a more up to date tc which does support it. We've seen this
>>>>>>>>>> combination crop up ourselves recently.
>>>>>>>>>> 
>>>>>>>>>> - Jonathan Morton
>>>>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> Cerowrt-devel mailing list
>>>>>>> Cerowrt-devel@lists.bufferbloat.net
>>>>>>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
> 


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 20:12                     ` Sebastian Moeller
@ 2015-07-10 20:24                       ` Fred Stratton
  2015-07-10 20:34                         ` Sebastian Moeller
  0 siblings, 1 reply; 30+ messages in thread
From: Fred Stratton @ 2015-07-10 20:24 UTC (permalink / raw)
  To: Sebastian Moeller, cerowrt-devel

sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.ne
t -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H 
netperf-
eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
2015-07-10 21:15:19 Testing against netperf-eu.bufferbloat.net (ipv4) 
with 4 simultaneous sessions while pinging netperf-eu.bufferbloat.net 
(150 seconds in each direction)
......................................................................................................................................................
  Download:  6.8 Mbps
   Latency: (in msec, 151 pings, 0.00% packet loss)
       Min: 69.125
     10pct: 72.299
    Median: 75.077
       Avg: 75.613
     90pct: 79.014
       Max: 89.825
.......................................................................................................................................................
    Upload:  0.72 Mbps
   Latency: (in msec, 152 pings, 0.00% packet loss)
       Min: 68.691
     10pct: 72.506
    Median: 79.447
       Avg: 79.654
     90pct: 86.369
       Max: 95.037
2015-07-10 21:20:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 
streams down and up while pinging netperf-eu.bufferbloat.net. Takes 
about 150 seconds.
  Download:  5.92 Mbps
    Upload:  0.46 Mbps
   Latency: (in msec, 152 pings, 0.00% packet loss)
       Min: 71.877
     10pct: 76.197
    Median: 85.051
       Avg: 84.838
     90pct: 92.105
       Max: 109.600


On 10/07/15 21:12, Sebastian Moeller wrote:
> Hi Fred,
>
> On Jul 10, 2015, at 22:07 , Fred Stratton <fredstratton@imap.cc> wrote:
>
>> replaced /usr/lib/sqm as ordered
> 	Thanks.
>
>> cat /etc/config/sqm
>>
>> config queue 'eth1'
>>     option qdisc_advanced '0'
>>     option enabled '1'
>>     option interface 'pppoe-wan'
>>     option upload '850'
>>     option qdisc 'cake'
>>     option linklayer 'atm'
>>     option overhead '40'
>>     option download '8500'
>>     option script 'simple.qos'
>>     option linklayer_advanced '1'
>>     option tcMTU '2047'
>>     option tcTSIZE '128'
>>     option tcMPU '0'
>>     option linklayer_adaptation_mechanism ‘cake'
> 	Looks reasonable.
>
>> root@OpenWrt:~# tc -s qdisc show
>> qdisc fq_codel 0: dev eth0 root refcnt 2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>> Sent 5904206 bytes 10771 pkt (dropped 0, overlimits 0 requeues 1)
>> backlog 0b 0p requeues 1
>>   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>   new_flows_len 0 old_flows_len 0
>> qdisc fq_codel 0: dev eth1 root refcnt 2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>> Sent 903154 bytes 7941 pkt (dropped 0, overlimits 0 requeues 2)
>> backlog 0b 0p requeues 2
>>   maxpacket 1322 drop_overlimit 0 new_flow_count 1 ecn_mark 0
>>   new_flows_len 0 old_flows_len 0
>> qdisc mq 0: dev wlan0 root
>> Sent 198495 bytes 816 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>> qdisc fq_codel 0: dev wlan0 parent :1 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>> Sent 3709 bytes 19 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>   new_flows_len 0 old_flows_len 0
>> qdisc fq_codel 0: dev wlan0 parent :2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>> Sent 112 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>   new_flows_len 0 old_flows_len 0
>> qdisc fq_codel 0: dev wlan0 parent :3 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>> Sent 194674 bytes 796 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>   new_flows_len 0 old_flows_len 0
>> qdisc fq_codel 0: dev wlan0 parent :4 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>   new_flows_len 0 old_flows_len 0
>> qdisc mq 0: dev wlan1 root
>> Sent 53249 bytes 323 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>> qdisc fq_codel 0: dev wlan1 parent :1 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>> Sent 1337 bytes 9 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>   new_flows_len 0 old_flows_len 0
>> qdisc fq_codel 0: dev wlan1 parent :2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>   new_flows_len 0 old_flows_len 0
>> qdisc fq_codel 0: dev wlan1 parent :3 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>> Sent 51912 bytes 314 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>   new_flows_len 0 old_flows_len 0
>> qdisc fq_codel 0: dev wlan1 parent :4 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>   maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>   new_flows_len 0 old_flows_len 0
>> qdisc cake 8009: dev pppoe-wan root refcnt 2 bandwidth 850Kbit diffserv4 flows atm overhead 40
> 	Good, egress accounts for the link layer adaptation.
>
>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>            Class 0     Class 1     Class 2     Class 3
>>   rate       850Kbit   796880bit   637504bit   212496bit
>>   target      21.3ms      22.7ms      28.3ms      85.0ms
>> interval     170.1ms     181.4ms     226.8ms     680.4ms
>> Pk delay         0us         0us         0us         0us
>> Av delay         0us         0us         0us         0us
>> Sp delay         0us         0us         0us         0us
>>   pkts             0           0           0           0
>> way inds           0           0           0           0
>> way miss           0           0           0           0
>> way cols           0           0           0           0
>>   bytes            0           0           0           0
>>   drops            0           0           0           0
>>   marks            0           0           0           0
>> qdisc ingress ffff: dev pppoe-wan parent ffff:fff1 ----------------
>> Sent 68 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>> qdisc cake 800a: dev ifb4pppoe-wan root refcnt 2 bandwidth 8500Kbit besteffort flows atm overhead 40
> 	So, I would be interested to learn how this now performs with netperfrunner and/or betterspeedtest.sh
>
>
> Best Regards
> 	Sebastian
>
>
>> Sent 90 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
>> backlog 0b 0p requeues 0
>>            Class 0
>>   rate      8500Kbit
>>   target       5.0ms
>> interval     100.0ms
>> Pk delay         0us
>> Av delay         0us
>> Sp delay         0us
>>   pkts             1
>> way inds           0
>> way miss           1
>> way cols           0
>>   bytes           90
>>   drops            0
>>   marks            0
>>
>>
>>
>> On 10/07/15 20:50, Sebastian Moeller wrote:
>>> Hi Fred,
>>>
>>> On Jul 10, 2015, at 21:45 , Fred Stratton <fredstratton@imap.cc> wrote:
>>>
>>>> These are the latest scripts,  AFAIK
>>> 	Let me repeat my question: are these the scripts I attached in one of the last mails, or the most recent scripts from ceropackages-3.10? The version in the openwrt repository is NOT recent, yet. Pushing the latest verso into openwrt is on my todo list but that will need a bit more changes, so please try the files I attached which should work (unless I screwed up and attached the wrong version). Also I have no working cake on my router and hence require help for testing and that means there might be some undiscovered bugs in there.
>>>
>>>> no overhead allowance. I note.
>>> 	Well, that should work with the most recent version
>>>
>>> Best Regards
>>> 	Sebastian
>>>
>>>>
>>>> On 10/07/15 20:40, Sebastian Moeller wrote:
>>>>> Hi Fred,
>>>>>
>>>>>
>>>>> On Jul 10, 2015, at 21:34 , Fred Stratton <fredstratton@imap.cc> wrote:
>>>>>
>>>>>> bridge sync is circa 10 000 kbit/s
>>>>>>
>>>>>> with the cake option in sqm enabled
>>>>>>
>>>>>> config queue 'eth1'
>>>>>>     option qdisc_advanced '0'
>>>>>>     option enabled '1'
>>>>>>     option interface 'pppoe-wan'
>>>>>>     option upload '850'
>>>>>>     option qdisc 'cake'
>>>>>>     option script 'simple_pppoe.qos'
>>>>>>     option linklayer 'atm'
>>>>>>     option overhead '40'
>>>>>>     option download ‘8500'
>>>>> 	So this looks reasonable. Then again, if the DSLAM is under provisioned/oversubscribed (= congested) shaping uypur DSL link might not fix all buffer bloat..
>>>>>
>>>>>> tc -s qdisc show dev pppoe-wan
>>>>>> qdisc htb 1: root refcnt 2 r2q 10 default 12 direct_packets_stat 0 direct_qlen 3
>>>>>> Sent 101336 bytes 440 pkt (dropped 2, overlimits 66 requeues 0)
>>>>>> backlog 0b 0p requeues 0
>>>>>> qdisc cake 110: parent 1:11 unlimited diffserv4 flows raw
>>>>>> Sent 4399 bytes 25 pkt (dropped 0, overlimits 0 requeues 0)
>>>>>> backlog 0b 0p requeues 0
>>>>>>            Class 0     Class 1     Class 2     Class 3
>>>>>>   rate          0bit        0bit        0bit        0bit
>>>>>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>>>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>>>> Pk delay         0us         0us         7us         2us
>>>>>> Av delay         0us         0us         0us         0us
>>>>>> Sp delay         0us         0us         0us         0us
>>>>>>   pkts             0           0          22           3
>>>>>> way inds           0           0           0           0
>>>>>> way miss           0           0          22           2
>>>>>> way cols           0           0           0           0
>>>>>>   bytes            0           0        3392        1007
>>>>>>   drops            0           0           0           0
>>>>>>   marks            0           0           0           0
>>>>>> qdisc cake 120: parent 1:12 unlimited diffserv4 flows raw
>>>>>> Sent 96937 bytes 415 pkt (dropped 2, overlimits 0 requeues 0)
>>>>>> backlog 0b 0p requeues 0
>>>>>>            Class 0     Class 1     Class 2     Class 3
>>>>>>   rate          0bit        0bit        0bit        0bit
>>>>>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>>>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>>>> Pk delay         0us      28.0ms         0us         0us
>>>>>> Av delay         0us       1.2ms         0us         0us
>>>>>> Sp delay         0us         4us         0us         0us
>>>>>>   pkts             0         417           0           0
>>>>>> way inds           0           0           0           0
>>>>>> way miss           0          23           0           0
>>>>>> way cols           0           0           0           0
>>>>>>   bytes            0       98951           0           0
>>>>>>   drops            0           2           0           0
>>>>>>   marks            0           0           0           0
>>>>>> qdisc cake 130: parent 1:13 unlimited diffserv4 flows raw
>>>>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>>>>> backlog 0b 0p requeues 0
>>>>>>            Class 0     Class 1     Class 2     Class 3
>>>>>>   rate          0bit        0bit        0bit        0bit
>>>>>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>>>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>>>> Pk delay         0us         0us         0us         0us
>>>>>> Av delay         0us         0us         0us         0us
>>>>>> Sp delay         0us         0us         0us         0us
>>>>>>   pkts             0           0           0           0
>>>>>> way inds           0           0           0           0
>>>>>> way miss           0           0           0           0
>>>>>> way cols           0           0           0           0
>>>>>>   bytes            0           0           0           0
>>>>>>   drops            0           0           0           0
>>>>>>   marks            0           0           0           0
>>>>>> qdisc cake 140: parent 1:14 unlimited diffserv4 flows raw
>>>>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>>>>> backlog 0b 0p requeues 0
>>>>>>            Class 0     Class 1     Class 2     Class 3
>>>>>>   rate          0bit        0bit        0bit        0bit
>>>>>>   target       5.0ms       5.0ms       5.0ms       5.0ms
>>>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>>>> Pk delay         0us         0us         0us         0us
>>>>>> Av delay         0us         0us         0us         0us
>>>>>> Sp delay         0us         0us         0us         0us
>>>>>>   pkts             0           0           0           0
>>>>>> way inds           0           0           0           0
>>>>>> way miss           0           0           0           0
>>>>>> way cols           0           0           0           0
>>>>>>   bytes            0           0           0           0
>>>>>>   drops            0           0           0           0
>>>>>>   marks            0           0           0           0
>>>>>> qdisc ingress ffff: parent ffff:fff1 ----------------
>>>>>> Sent 273341 bytes 435 pkt (dropped 0, overlimits 0 requeues 0)
>>>>>> backlog 0b 0p requeues 0
>>>>> 	But this is the hallmark of out of date sqm-scripts, this just uses cake as leaf qdisc and keeps HTB as the main shaper; a configuration that is useful for testing. I assume this is the old set of sqm-scripts not the update I just sent as attachment? If so could you retry with the newer scripts, please?
>>>>>
>>>>> Best Regards
>>>>> 	Sebastian
>>>>>
>>>>>>
>>>>>> On 10/07/15 19:46, Sebastian Moeller wrote:
>>>>>>> Hi Fred,
>>>>>>>
>>>>>>> your results seem to indicate that cake is not active at all, as the latency under load is abysmal (a quick check is to look at the median in relation to the min and the 90% number, in your examples all of these are terrible). Could you please post the result of the following commands on your router:
>>>>>>> 1) cat /etc/config/sqm
>>>>>>> 2) tc -d qdisc
>>>>>>> 3) tc -d class show dev pppoe-wan
>>>>>>> 4) tc -d class show dev ifb4pppoe-wqn
>>>>>>> 5) /etc/init.d/sqm stop
>>>>>>> 6) /etc/init.d/sqm start
>>>>>>>
>>>>>>> hopefully these give some insight what might have happened.
>>>>>>>
>>>>>>> And finally I would love to learn the output of:
>>>>>>> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
>>>>>>>
>>>>>>>
>>>>>>> Many Thanks & Best Regards
>>>>>>> 	Sebastian
>>>>>>>
>>>>>>> On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> wrote:
>>>>>>>
>>>>>>>> By your command
>>>>>>>> Rebooted to rerun qdisc script, rather than changing qdiscs from the command-line, so suboptimal process as end-point changed.
>>>>>>>>
>>>>>>>> script configuring qdiscs and overhead 40 on
>>>>>>>>
>>>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
>>>>>>>> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
>>>>>>>> Download:  6.73 Mbps
>>>>>>>>    Upload:  0.58 Mbps
>>>>>>>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>>>>>       Min: 24.094
>>>>>>>>     10pct: 172.654
>>>>>>>>    Median: 260.563
>>>>>>>>       Avg: 253.580
>>>>>>>>     90pct: 330.003
>>>>>>>>       Max: 411.145
>>>>>>>>
>>>>>>>> script configuring qdiscs on flows raw
>>>>>>>>
>>>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>>>>>> 78.145.32.1
>>>>>>>> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
>>>>>>>> Download:  6.75 Mbps
>>>>>>>>    Upload:  0.59 Mbps
>>>>>>>>   Latency: (in msec, 59 pings, 0.00% packet loss)
>>>>>>>>       Min: 23.605
>>>>>>>>     10pct: 169.789
>>>>>>>>    Median: 282.155
>>>>>>>>       Avg: 267.099
>>>>>>>>     90pct: 333.283
>>>>>>>>       Max: 376.509
>>>>>>>>
>>>>>>>> script configuring qdiscs and overhead 36 on
>>>>>>>>
>>>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>>>>>> 80.44.96.1
>>>>>>>> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
>>>>>>>> Download:  6.56 Mbps
>>>>>>>>    Upload:  0.59 Mbps
>>>>>>>>   Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>>>>>       Min: 22.975
>>>>>>>>     10pct: 195.473
>>>>>>>>    Median: 281.756
>>>>>>>>       Avg: 271.609
>>>>>>>>     90pct: 342.130
>>>>>>>>       Max: 398.573
>>>>>>>>
>>>>>>>>
>>>>>>>> On 10/07/15 16:19, Alan Jenkins wrote:
>>>>>>>>> I'm glad to hear there's a working version (even if it's not in the current build :).
>>>>>>>>>
>>>>>>>>> Do you have measurable improvements with overhead configured (v.s. unconfigured)?
>>>>>>>>>
>>>>>>>>> I've used netperfrunner from CeroWrtScripts, e.g.
>>>>>>>>>
>>>>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>>>>>>>>>
>>>>>>>>> I believe accounting for overhead helps on this two-way test, because a) it saturates the uplink b) about half that bandwidth is tiny ack packets (depending on bandwidth asymmetry).  And small packets have proportionally high overhead.
>>>>>>>>>
>>>>>>>>> (But it seems to only make a small difference for me, which always surprises Seb).
>>>>>>>>>
>>>>>>>>> Alan
>>>>>>>>>
>>>>>>>>> On 10/07/15 15:52, Fred Stratton wrote:
>>>>>>>>>> You are absolutely correct.
>>>>>>>>>>
>>>>>>>>>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>>>>>>>>>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>>>>>>>>>> undeclared version 2. Everything works as stated.
>>>>>>>>>>
>>>>>>>>>> On lupin undeclared version 4, the current release based on r46117, the
>>>>>>>>>> values were not recognised.
>>>>>>>>>>
>>>>>>>>>> Thank you.
>>>>>>>>>>
>>>>>>>>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>>>>>>>>> build. Unfortunately this was bricked by attempts to get homenet
>>>>>>>>>> working, so I have nothing to report about gateway usage at present.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>>>>>>>>> You're already using correct syntax - I've written it to be quite
>>>>>>>>>>> lenient and use sensible defaults for missing information. There are
>>>>>>>>>>> several sets of keywords and parameters which are mutually orthogonal,
>>>>>>>>>>> and don't depend on each other, so "besteffort" has nothing to do with
>>>>>>>>>>> "overhead" or "atm".
>>>>>>>>>>>
>>>>>>>>>>> What's probably happening is that you're using a slightly old version
>>>>>>>>>>> of the cake kernel module which lacks the overhead parameter entirely,
>>>>>>>>>>> but a more up to date tc which does support it. We've seen this
>>>>>>>>>>> combination crop up ourselves recently.
>>>>>>>>>>>
>>>>>>>>>>> - Jonathan Morton
>>>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Cerowrt-devel mailing list
>>>>>>>> Cerowrt-devel@lists.bufferbloat.net
>>>>>>>> https://lists.bufferbloat.net/listinfo/cerowrt-devel


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] Correct syntax for cake commands and atm issues.
  2015-07-10 20:24                       ` Fred Stratton
@ 2015-07-10 20:34                         ` Sebastian Moeller
  0 siblings, 0 replies; 30+ messages in thread
From: Sebastian Moeller @ 2015-07-10 20:34 UTC (permalink / raw)
  To: Fred Stratton; +Cc: cerowrt-devel

Hi Fred,

and now the values look decent, the latency under load increase is bounded to 38ms worst case, not bad at all for am ADSL line.

Best Regards
	Sebastian


On Jul 10, 2015, at 22:24 , Fred Stratton <fredstratton@imap.cc> wrote:

> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.ne
> t -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H netperf-
> eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
> 2015-07-10 21:15:19 Testing against netperf-eu.bufferbloat.net (ipv4) with 4 simultaneous sessions while pinging netperf-eu.bufferbloat.net (150 seconds in each direction)
> ......................................................................................................................................................
> Download:  6.8 Mbps
>  Latency: (in msec, 151 pings, 0.00% packet loss)
>      Min: 69.125
>    10pct: 72.299
>   Median: 75.077
>      Avg: 75.613
>    90pct: 79.014
>      Max: 89.825
> .......................................................................................................................................................
>   Upload:  0.72 Mbps
>  Latency: (in msec, 152 pings, 0.00% packet loss)
>      Min: 68.691
>    10pct: 72.506
>   Median: 79.447
>      Avg: 79.654
>    90pct: 86.369
>      Max: 95.037
> 2015-07-10 21:20:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging netperf-eu.bufferbloat.net. Takes about 150 seconds.
> Download:  5.92 Mbps
>   Upload:  0.46 Mbps
>  Latency: (in msec, 152 pings, 0.00% packet loss)
>      Min: 71.877
>    10pct: 76.197
>   Median: 85.051
>      Avg: 84.838
>    90pct: 92.105
>      Max: 109.600
> 
> 
> On 10/07/15 21:12, Sebastian Moeller wrote:
>> Hi Fred,
>> 
>> On Jul 10, 2015, at 22:07 , Fred Stratton <fredstratton@imap.cc> wrote:
>> 
>>> replaced /usr/lib/sqm as ordered
>> 	Thanks.
>> 
>>> cat /etc/config/sqm
>>> 
>>> config queue 'eth1'
>>>    option qdisc_advanced '0'
>>>    option enabled '1'
>>>    option interface 'pppoe-wan'
>>>    option upload '850'
>>>    option qdisc 'cake'
>>>    option linklayer 'atm'
>>>    option overhead '40'
>>>    option download '8500'
>>>    option script 'simple.qos'
>>>    option linklayer_advanced '1'
>>>    option tcMTU '2047'
>>>    option tcTSIZE '128'
>>>    option tcMPU '0'
>>>    option linklayer_adaptation_mechanism ‘cake'
>> 	Looks reasonable.
>> 
>>> root@OpenWrt:~# tc -s qdisc show
>>> qdisc fq_codel 0: dev eth0 root refcnt 2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>>> Sent 5904206 bytes 10771 pkt (dropped 0, overlimits 0 requeues 1)
>>> backlog 0b 0p requeues 1
>>>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>>  new_flows_len 0 old_flows_len 0
>>> qdisc fq_codel 0: dev eth1 root refcnt 2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>>> Sent 903154 bytes 7941 pkt (dropped 0, overlimits 0 requeues 2)
>>> backlog 0b 0p requeues 2
>>>  maxpacket 1322 drop_overlimit 0 new_flow_count 1 ecn_mark 0
>>>  new_flows_len 0 old_flows_len 0
>>> qdisc mq 0: dev wlan0 root
>>> Sent 198495 bytes 816 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>> qdisc fq_codel 0: dev wlan0 parent :1 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>>> Sent 3709 bytes 19 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>>  new_flows_len 0 old_flows_len 0
>>> qdisc fq_codel 0: dev wlan0 parent :2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>>> Sent 112 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>>  new_flows_len 0 old_flows_len 0
>>> qdisc fq_codel 0: dev wlan0 parent :3 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>>> Sent 194674 bytes 796 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>>  new_flows_len 0 old_flows_len 0
>>> qdisc fq_codel 0: dev wlan0 parent :4 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>>  new_flows_len 0 old_flows_len 0
>>> qdisc mq 0: dev wlan1 root
>>> Sent 53249 bytes 323 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>> qdisc fq_codel 0: dev wlan1 parent :1 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>>> Sent 1337 bytes 9 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>>  new_flows_len 0 old_flows_len 0
>>> qdisc fq_codel 0: dev wlan1 parent :2 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>>  new_flows_len 0 old_flows_len 0
>>> qdisc fq_codel 0: dev wlan1 parent :3 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>>> Sent 51912 bytes 314 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>>  new_flows_len 0 old_flows_len 0
>>> qdisc fq_codel 0: dev wlan1 parent :4 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>  maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
>>>  new_flows_len 0 old_flows_len 0
>>> qdisc cake 8009: dev pppoe-wan root refcnt 2 bandwidth 850Kbit diffserv4 flows atm overhead 40
>> 	Good, egress accounts for the link layer adaptation.
>> 
>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>           Class 0     Class 1     Class 2     Class 3
>>>  rate       850Kbit   796880bit   637504bit   212496bit
>>>  target      21.3ms      22.7ms      28.3ms      85.0ms
>>> interval     170.1ms     181.4ms     226.8ms     680.4ms
>>> Pk delay         0us         0us         0us         0us
>>> Av delay         0us         0us         0us         0us
>>> Sp delay         0us         0us         0us         0us
>>>  pkts             0           0           0           0
>>> way inds           0           0           0           0
>>> way miss           0           0           0           0
>>> way cols           0           0           0           0
>>>  bytes            0           0           0           0
>>>  drops            0           0           0           0
>>>  marks            0           0           0           0
>>> qdisc ingress ffff: dev pppoe-wan parent ffff:fff1 ----------------
>>> Sent 68 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>> qdisc cake 800a: dev ifb4pppoe-wan root refcnt 2 bandwidth 8500Kbit besteffort flows atm overhead 40
>> 	So, I would be interested to learn how this now performs with netperfrunner and/or betterspeedtest.sh
>> 
>> 
>> Best Regards
>> 	Sebastian
>> 
>> 
>>> Sent 90 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
>>> backlog 0b 0p requeues 0
>>>           Class 0
>>>  rate      8500Kbit
>>>  target       5.0ms
>>> interval     100.0ms
>>> Pk delay         0us
>>> Av delay         0us
>>> Sp delay         0us
>>>  pkts             1
>>> way inds           0
>>> way miss           1
>>> way cols           0
>>>  bytes           90
>>>  drops            0
>>>  marks            0
>>> 
>>> 
>>> 
>>> On 10/07/15 20:50, Sebastian Moeller wrote:
>>>> Hi Fred,
>>>> 
>>>> On Jul 10, 2015, at 21:45 , Fred Stratton <fredstratton@imap.cc> wrote:
>>>> 
>>>>> These are the latest scripts,  AFAIK
>>>> 	Let me repeat my question: are these the scripts I attached in one of the last mails, or the most recent scripts from ceropackages-3.10? The version in the openwrt repository is NOT recent, yet. Pushing the latest verso into openwrt is on my todo list but that will need a bit more changes, so please try the files I attached which should work (unless I screwed up and attached the wrong version). Also I have no working cake on my router and hence require help for testing and that means there might be some undiscovered bugs in there.
>>>> 
>>>>> no overhead allowance. I note.
>>>> 	Well, that should work with the most recent version
>>>> 
>>>> Best Regards
>>>> 	Sebastian
>>>> 
>>>>> 
>>>>> On 10/07/15 20:40, Sebastian Moeller wrote:
>>>>>> Hi Fred,
>>>>>> 
>>>>>> 
>>>>>> On Jul 10, 2015, at 21:34 , Fred Stratton <fredstratton@imap.cc> wrote:
>>>>>> 
>>>>>>> bridge sync is circa 10 000 kbit/s
>>>>>>> 
>>>>>>> with the cake option in sqm enabled
>>>>>>> 
>>>>>>> config queue 'eth1'
>>>>>>>    option qdisc_advanced '0'
>>>>>>>    option enabled '1'
>>>>>>>    option interface 'pppoe-wan'
>>>>>>>    option upload '850'
>>>>>>>    option qdisc 'cake'
>>>>>>>    option script 'simple_pppoe.qos'
>>>>>>>    option linklayer 'atm'
>>>>>>>    option overhead '40'
>>>>>>>    option download ‘8500'
>>>>>> 	So this looks reasonable. Then again, if the DSLAM is under provisioned/oversubscribed (= congested) shaping uypur DSL link might not fix all buffer bloat..
>>>>>> 
>>>>>>> tc -s qdisc show dev pppoe-wan
>>>>>>> qdisc htb 1: root refcnt 2 r2q 10 default 12 direct_packets_stat 0 direct_qlen 3
>>>>>>> Sent 101336 bytes 440 pkt (dropped 2, overlimits 66 requeues 0)
>>>>>>> backlog 0b 0p requeues 0
>>>>>>> qdisc cake 110: parent 1:11 unlimited diffserv4 flows raw
>>>>>>> Sent 4399 bytes 25 pkt (dropped 0, overlimits 0 requeues 0)
>>>>>>> backlog 0b 0p requeues 0
>>>>>>>           Class 0     Class 1     Class 2     Class 3
>>>>>>>  rate          0bit        0bit        0bit        0bit
>>>>>>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>>>>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>>>>> Pk delay         0us         0us         7us         2us
>>>>>>> Av delay         0us         0us         0us         0us
>>>>>>> Sp delay         0us         0us         0us         0us
>>>>>>>  pkts             0           0          22           3
>>>>>>> way inds           0           0           0           0
>>>>>>> way miss           0           0          22           2
>>>>>>> way cols           0           0           0           0
>>>>>>>  bytes            0           0        3392        1007
>>>>>>>  drops            0           0           0           0
>>>>>>>  marks            0           0           0           0
>>>>>>> qdisc cake 120: parent 1:12 unlimited diffserv4 flows raw
>>>>>>> Sent 96937 bytes 415 pkt (dropped 2, overlimits 0 requeues 0)
>>>>>>> backlog 0b 0p requeues 0
>>>>>>>           Class 0     Class 1     Class 2     Class 3
>>>>>>>  rate          0bit        0bit        0bit        0bit
>>>>>>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>>>>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>>>>> Pk delay         0us      28.0ms         0us         0us
>>>>>>> Av delay         0us       1.2ms         0us         0us
>>>>>>> Sp delay         0us         4us         0us         0us
>>>>>>>  pkts             0         417           0           0
>>>>>>> way inds           0           0           0           0
>>>>>>> way miss           0          23           0           0
>>>>>>> way cols           0           0           0           0
>>>>>>>  bytes            0       98951           0           0
>>>>>>>  drops            0           2           0           0
>>>>>>>  marks            0           0           0           0
>>>>>>> qdisc cake 130: parent 1:13 unlimited diffserv4 flows raw
>>>>>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>>>>>> backlog 0b 0p requeues 0
>>>>>>>           Class 0     Class 1     Class 2     Class 3
>>>>>>>  rate          0bit        0bit        0bit        0bit
>>>>>>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>>>>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>>>>> Pk delay         0us         0us         0us         0us
>>>>>>> Av delay         0us         0us         0us         0us
>>>>>>> Sp delay         0us         0us         0us         0us
>>>>>>>  pkts             0           0           0           0
>>>>>>> way inds           0           0           0           0
>>>>>>> way miss           0           0           0           0
>>>>>>> way cols           0           0           0           0
>>>>>>>  bytes            0           0           0           0
>>>>>>>  drops            0           0           0           0
>>>>>>>  marks            0           0           0           0
>>>>>>> qdisc cake 140: parent 1:14 unlimited diffserv4 flows raw
>>>>>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>>>>>> backlog 0b 0p requeues 0
>>>>>>>           Class 0     Class 1     Class 2     Class 3
>>>>>>>  rate          0bit        0bit        0bit        0bit
>>>>>>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>>>>>>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>>>>>>> Pk delay         0us         0us         0us         0us
>>>>>>> Av delay         0us         0us         0us         0us
>>>>>>> Sp delay         0us         0us         0us         0us
>>>>>>>  pkts             0           0           0           0
>>>>>>> way inds           0           0           0           0
>>>>>>> way miss           0           0           0           0
>>>>>>> way cols           0           0           0           0
>>>>>>>  bytes            0           0           0           0
>>>>>>>  drops            0           0           0           0
>>>>>>>  marks            0           0           0           0
>>>>>>> qdisc ingress ffff: parent ffff:fff1 ----------------
>>>>>>> Sent 273341 bytes 435 pkt (dropped 0, overlimits 0 requeues 0)
>>>>>>> backlog 0b 0p requeues 0
>>>>>> 	But this is the hallmark of out of date sqm-scripts, this just uses cake as leaf qdisc and keeps HTB as the main shaper; a configuration that is useful for testing. I assume this is the old set of sqm-scripts not the update I just sent as attachment? If so could you retry with the newer scripts, please?
>>>>>> 
>>>>>> Best Regards
>>>>>> 	Sebastian
>>>>>> 
>>>>>>> 
>>>>>>> On 10/07/15 19:46, Sebastian Moeller wrote:
>>>>>>>> Hi Fred,
>>>>>>>> 
>>>>>>>> your results seem to indicate that cake is not active at all, as the latency under load is abysmal (a quick check is to look at the median in relation to the min and the 90% number, in your examples all of these are terrible). Could you please post the result of the following commands on your router:
>>>>>>>> 1) cat /etc/config/sqm
>>>>>>>> 2) tc -d qdisc
>>>>>>>> 3) tc -d class show dev pppoe-wan
>>>>>>>> 4) tc -d class show dev ifb4pppoe-wqn
>>>>>>>> 5) /etc/init.d/sqm stop
>>>>>>>> 6) /etc/init.d/sqm start
>>>>>>>> 
>>>>>>>> hopefully these give some insight what might have happened.
>>>>>>>> 
>>>>>>>> And finally I would love to learn the output of:
>>>>>>>> sh betterspeedtest.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4 ; sh netperfrunner.sh -4 -H netperf-eu.bufferbloat.net -t 150 -p netperf-eu.bufferbloat.net -n 4
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Many Thanks & Best Regards
>>>>>>>> 	Sebastian
>>>>>>>> 
>>>>>>>> On Jul 10, 2015, at 20:25 , Fred Stratton <fredstratton@imap.cc> wrote:
>>>>>>>> 
>>>>>>>>> By your command
>>>>>>>>> Rebooted to rerun qdisc script, rather than changing qdiscs from the command-line, so suboptimal process as end-point changed.
>>>>>>>>> 
>>>>>>>>> script configuring qdiscs and overhead 40 on
>>>>>>>>> 
>>>>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p 2.96.48.1
>>>>>>>>> 2015-07-10 18:22:08 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 2.96.48.1. Takes about 60 seconds.
>>>>>>>>> Download:  6.73 Mbps
>>>>>>>>>   Upload:  0.58 Mbps
>>>>>>>>>  Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>>>>>>      Min: 24.094
>>>>>>>>>    10pct: 172.654
>>>>>>>>>   Median: 260.563
>>>>>>>>>      Avg: 253.580
>>>>>>>>>    90pct: 330.003
>>>>>>>>>      Max: 411.145
>>>>>>>>> 
>>>>>>>>> script configuring qdiscs on flows raw
>>>>>>>>> 
>>>>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>>>>>>> 78.145.32.1
>>>>>>>>> 2015-07-10 18:49:21 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 78.145.32.1. Takes about 60 seconds.
>>>>>>>>> Download:  6.75 Mbps
>>>>>>>>>   Upload:  0.59 Mbps
>>>>>>>>>  Latency: (in msec, 59 pings, 0.00% packet loss)
>>>>>>>>>      Min: 23.605
>>>>>>>>>    10pct: 169.789
>>>>>>>>>   Median: 282.155
>>>>>>>>>      Avg: 267.099
>>>>>>>>>    90pct: 333.283
>>>>>>>>>      Max: 376.509
>>>>>>>>> 
>>>>>>>>> script configuring qdiscs and overhead 36 on
>>>>>>>>> 
>>>>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p
>>>>>>>>> 80.44.96.1
>>>>>>>>> 2015-07-10 19:20:18 Testing netperf-eu.bufferbloat.net (ipv4) with 4 streams down and up while pinging 80.44.96.1. Takes about 60 seconds.
>>>>>>>>> Download:  6.56 Mbps
>>>>>>>>>   Upload:  0.59 Mbps
>>>>>>>>>  Latency: (in msec, 62 pings, 0.00% packet loss)
>>>>>>>>>      Min: 22.975
>>>>>>>>>    10pct: 195.473
>>>>>>>>>   Median: 281.756
>>>>>>>>>      Avg: 271.609
>>>>>>>>>    90pct: 342.130
>>>>>>>>>      Max: 398.573
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On 10/07/15 16:19, Alan Jenkins wrote:
>>>>>>>>>> I'm glad to hear there's a working version (even if it's not in the current build :).
>>>>>>>>>> 
>>>>>>>>>> Do you have measurable improvements with overhead configured (v.s. unconfigured)?
>>>>>>>>>> 
>>>>>>>>>> I've used netperfrunner from CeroWrtScripts, e.g.
>>>>>>>>>> 
>>>>>>>>>> sh netperfrunner.sh -H netperf-eu.bufferbloat.net -p $ISP_ROUTER
>>>>>>>>>> 
>>>>>>>>>> I believe accounting for overhead helps on this two-way test, because a) it saturates the uplink b) about half that bandwidth is tiny ack packets (depending on bandwidth asymmetry).  And small packets have proportionally high overhead.
>>>>>>>>>> 
>>>>>>>>>> (But it seems to only make a small difference for me, which always surprises Seb).
>>>>>>>>>> 
>>>>>>>>>> Alan
>>>>>>>>>> 
>>>>>>>>>> On 10/07/15 15:52, Fred Stratton wrote:
>>>>>>>>>>> You are absolutely correct.
>>>>>>>>>>> 
>>>>>>>>>>> I tried both a numeric overhead value, and alternatively 'pppoe-vcmux'
>>>>>>>>>>> and 'ether-fcs' in the build I crafted based on r46006, which is lupin
>>>>>>>>>>> undeclared version 2. Everything works as stated.
>>>>>>>>>>> 
>>>>>>>>>>> On lupin undeclared version 4, the current release based on r46117, the
>>>>>>>>>>> values were not recognised.
>>>>>>>>>>> 
>>>>>>>>>>> Thank you.
>>>>>>>>>>> 
>>>>>>>>>>> I had cake running on a Lantiq ADSL gateway running the same r46006
>>>>>>>>>>> build. Unfortunately this was bricked by attempts to get homenet
>>>>>>>>>>> working, so I have nothing to report about gateway usage at present.
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> On 10/07/15 13:57, Jonathan Morton wrote:
>>>>>>>>>>>> You're already using correct syntax - I've written it to be quite
>>>>>>>>>>>> lenient and use sensible defaults for missing information. There are
>>>>>>>>>>>> several sets of keywords and parameters which are mutually orthogonal,
>>>>>>>>>>>> and don't depend on each other, so "besteffort" has nothing to do with
>>>>>>>>>>>> "overhead" or "atm".
>>>>>>>>>>>> 
>>>>>>>>>>>> What's probably happening is that you're using a slightly old version
>>>>>>>>>>>> of the cake kernel module which lacks the overhead parameter entirely,
>>>>>>>>>>>> but a more up to date tc which does support it. We've seen this
>>>>>>>>>>>> combination crop up ourselves recently.
>>>>>>>>>>>> 
>>>>>>>>>>>> - Jonathan Morton
>>>>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> Cerowrt-devel mailing list
>>>>>>>>> Cerowrt-devel@lists.bufferbloat.net
>>>>>>>>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
> 


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] "Lupin undeclared"?
  2015-07-10 15:39       ` Alan Jenkins
@ 2015-07-10 23:16         ` Rich Brown
  2015-07-25 12:48         ` Dave Taht
  1 sibling, 0 replies; 30+ messages in thread
From: Rich Brown @ 2015-07-10 23:16 UTC (permalink / raw)
  To: Alan Jenkins; +Cc: cerowrt-devel

Ahah! I had not noticed the new code name. It's well protected - the Googles didn't find anything.

[But now it will... Oh dear... :-) ]

Rich

On Jul 10, 2015, at 11:39 AM, Alan Jenkins <alan.christopher.jenkins@gmail.com> wrote:

> The unversioned testing build Dave posted at
> 
> http://snapon.lab.bufferbloat.net/~cero3/lupin/ar71xx/
> 
> which is not declared on the CeroWrt homepage.


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Cerowrt-devel] "Lupin undeclared"?
  2015-07-10 15:39       ` Alan Jenkins
  2015-07-10 23:16         ` Rich Brown
@ 2015-07-25 12:48         ` Dave Taht
  1 sibling, 0 replies; 30+ messages in thread
From: Dave Taht @ 2015-07-25 12:48 UTC (permalink / raw)
  To: Alan Jenkins; +Cc: cerowrt-devel

"lupin undeclared" is a build I managed to deploy at the campground
campus to about 8 of the 30 or so routers, including a few critical
paths. So far it is working spectacularly well in deployment there -
no forced reboots, aps, routing, dnssec, source specific stuff,
minstrel-blues, minstrel-variance... even cake.

root@pool2:~# uptime

 05:40:49 up 14 days, 22 min,  load average: 0.15, 0.07, 0.05

But I chickened out on dragging ipv6 to the pool. (5 hops)

Anyway cake is working as well as it can on wifi, running on a
picostation, I do not see any memory growth, it drops and marks...

http://pastebin.com/wbcXuNFM

qdisc cake 8004: root refcnt 5 unlimited diffserv4 flows raw
 Sent 107577100738 bytes 79678911 pkt (dropped 152068, overlimits 0
requeues 757808)
 backlog 0b 0p requeues 757808

and I guess we have to improve the statistics generated by tc to use
"k" and "m" to keep the cake columns aligned.

I am keeping detailed statistics on this portion of the network while
I am away and trying to design more.

I certainly did not intend for others to try these builds all that much.

My goal in life for the lupin build was to have something that did not
crash. Ever. It is a pita to climb trees and reflash the firmware
where these core wifi routers are placed.

It is kind of my hope to get out a new build during battlemesh or
shortly thereafter, but I plan to stick with this one for battlemesh.
Would like to sink some time into the ac1200...

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2015-07-25 12:48 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-10 11:13 [Cerowrt-devel] Correct syntax for cake commands and atm issues Fred Stratton
2015-07-10 12:57 ` Jonathan Morton
2015-07-10 13:11   ` Fred Stratton
2015-07-10 13:40     ` Jonathan Morton
2015-07-10 14:52   ` Fred Stratton
2015-07-10 15:16     ` [Cerowrt-devel] "Lupin undeclared"? Rich Brown
2015-07-10 15:39       ` Alan Jenkins
2015-07-10 23:16         ` Rich Brown
2015-07-25 12:48         ` Dave Taht
2015-07-10 15:19     ` [Cerowrt-devel] Correct syntax for cake commands and atm issues Alan Jenkins
2015-07-10 15:48       ` Fred Stratton
2015-07-10 18:25       ` Fred Stratton
2015-07-10 18:46         ` Sebastian Moeller
2015-07-10 19:14           ` Fred Stratton
2015-07-10 19:15             ` Dave Taht
2015-07-10 19:18             ` Jonathan Morton
2015-07-10 19:30               ` Sebastian Moeller
2015-07-10 19:27             ` Sebastian Moeller
2015-07-10 19:34           ` Fred Stratton
2015-07-10 19:40             ` Sebastian Moeller
2015-07-10 19:45               ` Fred Stratton
2015-07-10 19:49                 ` Alan Jenkins
2015-07-10 19:50                 ` Sebastian Moeller
2015-07-10 20:07                   ` Fred Stratton
2015-07-10 20:12                     ` Sebastian Moeller
2015-07-10 20:24                       ` Fred Stratton
2015-07-10 20:34                         ` Sebastian Moeller
2015-07-10 19:41             ` Alan Jenkins
2015-07-10 19:43               ` Sebastian Moeller
2015-07-10 19:17         ` Alan Jenkins

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox