Hi Mikael,

On Jun 29, 2015, at 15:00 , Mikael Abrahamsson <[email protected]> wrote:
> [...]
> Hi,
> 
> Ok, yes, this worked, I must have forgotten do to update after I moved 
> ceropackages to the top of the list before. Thanks!
> 
> So now I have a sysupgrade image for the wrt1200ac that out of the box comes 
> with CeroPackages and working bidirectional shaping for cake (don't know why 
> it didn't work before, it might have to do with my modifications. This time I 
> didn't modify anything on-disk, this is purely from the CeroPackages feed).

        Erm, I committed the fix for the $DEV $IFACE confusion to the 
ceropackages repository, so you got the fixed version you helped fix ;) (that 
or you deselected ingress 3-tier classification).

> 
> I did try to get Kernel 4.1 to compile but that didn't work even though I 
> removed some packages that didn't compile, I ended up with no .dts file and 
> nothing to me obvious in scrollback to fix. So this is with 3.18.
> 
> Here are the cake 50M and 500M results and output from the router:
> 
> oot@OpenWrt:~# cat /etc/config/sqm
> 
> config queue 'eth1'
>       option interface 'eth0'
>       option qdisc_advanced '1'
>       option squash_dscp '0'
>       option squash_ingress '0'
>       option ingress_ecn 'ECN'
>       option egress_ecn 'ECN'
>       option qdisc_really_really_advanced '0'
>       option linklayer 'ethernet'
>       option overhead '42'
>       option linklayer_advanced '1'
>       option tcMTU '2047'
>       option tcTSIZE '128'
>       option tcMPU '0'
>       option enabled '1'
>       option script 'simple.qos'
>       option qdisc 'cake'
>       option linklayer_adaptation_mechanism 'cake'
>       option download '500000'
>       option upload '500000'
> 
> root@OpenWrt:~# tc -d qdisc
> qdisc cake 8009: dev eth0 root refcnt 9 bandwidth 500Mbit diffserv4 flows 
> noatm overhead 42
> qdisc ingress ffff: dev eth0 parent ffff:fff1 ----------------
> qdisc mq 0: dev eth1 root
> qdisc fq_codel 0: dev eth1 parent :1 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 parent :2 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 parent :3 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 parent :4 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 parent :5 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 parent :6 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 parent :7 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 parent :8 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc cake 800a: dev ifb4eth0 root refcnt 2 bandwidth 500Mbit diffserv4 flows 
> noatm overhead 42

        I love that passing per packet overheads to cake works, but for your 
testing it is going to reduce the maximum achievable speed from:

TCP/IPv4 Payload at 500Mbps shaping:
1500 - 20 - 20 = 1460 Byte
payload to OTWS ratio
1460/1518 = 0.961791831357
Payload Bandwidth
500*1460/1518 = 480.90 Mbps

to:

TCP/IPv4 Payload at 500Mbps shaping: with overhead 42
MTU: 1500
MSS: 1500 - 20 - 20 = 1460 Byte
PerPacketOverhead: 42
configured On-The-Wire Size: 1500 + 42 = 1542 Byte
payload to OTWS ratio (due to the explicitly configured overhead42)
1460/1542 = 0.961791831357
Payload Bandwidth
500*1460/1542 = 473.411154345 Mbps

I really ned to get a new router to take part in all the fun…

Best Regards
        Sebastian



> 
> These are the results from 50M and 500M, also including 50up and 50down that 
> I added to my test suite script.
> 
> http://swm.pp.se/aqm/rrul_150629-cake-4.tar
> 
> Then I re-did the test that Dave asked before, I set the wan port to 100 
> megabit/s in my switch, and removed the SQM. It resulted in the following 
> config:
> 
> root@OpenWrt:~# cat /etc/config/sqm
> 
> config queue 'eth1'
>       option interface 'eth0'
>       option qdisc_advanced '1'
>       option squash_dscp '0'
>       option squash_ingress '0'
>       option ingress_ecn 'ECN'
>       option egress_ecn 'ECN'
>       option qdisc_really_really_advanced '0'
>       option linklayer 'ethernet'
>       option overhead '42'
>       option linklayer_advanced '1'
>       option tcMTU '2047'
>       option tcTSIZE '128'
>       option tcMPU '0'
>       option script 'simple.qos'
>       option qdisc 'cake'
>       option linklayer_adaptation_mechanism 'cake'
>       option download '50000'
>       option upload '50000'
>       option enabled '0'
> 
> root@OpenWrt:~# tc -d qdisc
> qdisc mq 0: dev eth0 root
> qdisc fq_codel 0: dev eth0 parent :1 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth0 parent :2 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth0 parent :3 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth0 parent :4 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth0 parent :5 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth0 parent :6 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth0 parent :7 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth0 parent :8 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc mq 0: dev eth1 root
> qdisc fq_codel 0: dev eth1 parent :1 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 parent :2 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 parent :3 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 parent :4 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 parent :5 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 parent :6 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 parent :7 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 0: dev eth1 parent :8 limit 1024p flows 1024 quantum 300 
> target 5.0ms interval 100.0ms ecn
> qdisc cake 800c: dev ifb4eth0 root refcnt 2 bandwidth 50Mbit diffserv4 flows 
> noatm overhead 42
> root@OpenWrt:~# tc -d class show dev eth0
> class mq :1 root
> class mq :2 root
> class mq :3 root
> class mq :4 root
> class mq :5 root
> class mq :6 root
> class mq :7 root
> class mq :8 root
> 
> what worries me is this:
> 
> root@OpenWrt:~# ethtool eth0
> Settings for eth0:
>       Supported ports: [ TP MII ]
>       Supported link modes:   1000baseT/Half 1000baseT/Full
>       Supported pause frame use: No
>       Supports auto-negotiation: Yes
>       Advertised link modes:  1000baseT/Half 1000baseT/Full
>       Advertised pause frame use: No
>       Advertised auto-negotiation: Yes
>       Link partner advertised link modes:  1000baseT/Full
>       Link partner advertised pause frame use: No
>       Link partner advertised auto-negotiation: No
>       Speed: 1000Mb/s
>       Duplex: Full
>       Port: MII
>       PHYAD: 0
>       Transceiver: external
>       Auto-negotiation: on
>       Link detected: yes
> 
> So basically even after the wan port went to 100/full, eth0 doesn't know 
> about it (and it only supports gig speed (probably to the local switch) 
> anyway. I am seeing dropped packets, so this would support this theory.
> 
> First I ran some tests with only that, then I set SQM to 90 megabit/s results 
> here:
> 
> http://swm.pp.se/aqm/rrul_150629-cake-5.tar
> http://swm.pp.se/aqm/rrul_150629-cake-6.tar
> 
> Next I am going to test wireless but it seems something has gone wrong 
> because I can't get the wireless to enable properly, so that'll have to be 
> for the next email after I fix that problem.
> 
> -- 
> Mikael Abrahamsson    email: 
> [email protected]_______________________________________________
> Cerowrt-devel mailing list
> [email protected]
> https://lists.bufferbloat.net/listinfo/cerowrt-devel

_______________________________________________
Cerowrt-devel mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/cerowrt-devel

Reply via email to