* [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