What's new

[Cake test] Cake experiments for 386.2 Beta

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Status
Not open for further replies.

RMerlin

Asuswrt-Merlin dev
Staff member
Hi folks,

If you are currently testing Cake on 386.2 Beta, could you guys test the following customization, and see if there is any measurable improvement or issues?

Make sure you have custom JFFS scripts enabled (Administration -> System). Then, create /jffs/configs/cake-qos.conf.add with the following content:

Code:
DLIF=$(nvram get lan_ifname)
DLOPTIONS='wash dual-dsthost ingress'

Also create /jffs/scripts/qos-start with the following content:

Code:
#!/bin/sh

(
cat <<'ADDTEXT'
#!/bin/sh
source /etc/cake-qos.conf

case "$1" in
start)
# Upload
        tc qdisc add dev $ULIF root cake $ULPRIOQUEUE $ULOPTIONS $ULBW $OVERHEAD $FRAMING 2>/dev/null

# Download
        #tc qdisc add dev $DLIF handle ffff: ingress 2>/dev/null
        tc qdisc add dev $DLIF root cake $DLPRIOQUEUE $DLOPTIONS $DLBW $OVERHEAD $FRAMING 2>/dev/null

        ;;
stop)
        tc qdisc del dev $ULIF root 2>/dev/null
#        tc qdisc del dev $DLIF ingress 2>/dev/null
        tc qdisc del dev $DLIF root 2>/dev/null
        ;;
*)
esac
ADDTEXT
) > /tmp/qos

Make it executable:

Code:
chmod a+rx /jffs/scripts/qos-start

Then, restart QoS to apply the changes:

Code:
service restart_qos

This will use the LAN interface to process downloads rather than the eth0 interface, and will also directly do so without copying the traffic through an IFB interface. I'm curious if this would work properly (as it may improve overall performance by skipping the intermediary interface).
 
Last edited:
Using br0 limits the USB transfer speed to the cake bandwidth.

p.s
Can you check the USB transfer speed of rt-ac86u?
There seems to be a problem with cpu affinity.
I only see 40Mbps on a wireless connection and 70Mbps on a wired connection.

386.2_alpha2-g0b90696715
 
I'm curious if this would work properly (as it may improve overall performance by skipping the intermediary interface).

Performance is great, results are even better compared to 'default' built-in Cake. Everything feels smooth as butter. No issues to report. Docsis 3.0 Cable 250/25Mbit, ISP Modem in bridged mode, ack-filter enabled on uploads.

67739212.png
 
working great here too Eric - RT-AC86U - Triple A+ on dslreports FTTN 50/20 PPPoE VDSL2 PTM
MPU=64 BW Limits - 55 Down 19.25 Up. Download Speed -52 Upload Speed 17
Fast.com - between 4-6ms latency loaded/unloaded
 
Last edited:
Using br0 limits the USB transfer speed to the cake bandwidth.

p.s
Can you check the USB transfer speed of rt-ac86u?
There seems to be a problem with cpu affinity.
I only see 40Mbps on a wireless connection and 70Mbps on a wired connection.

386.2_alpha2-g0b90696715
I remember testings usb speeds and it was much slower on 386.1 compared to 384.19, 386.2 improved it but it was still a bit slower.

Edit:
DLIF=$(nvram get lan_ifname)

Cake doesn't limit downlink and I get bufferbloat. Tried changing download limit to 6mb still getting full speed + bufferbloat.

Removed both of these files, restarted qos again and it's back to normal
 
Last edited:
Cake doesn't limit downlink and I get bufferbloat. Tried changing download limit to 6mb still getting full speed + bufferbloat.
Can confirm this, downlink didn't get limited.
 
Won’t the ingress on br0 only catch LAN traffic heading toward the internet (i.e. Upload)?

EDIT: The first post was updated after I originally read it last night. Merlin thinks of everything. :)
 
Last edited:
Peformance feels better than with default.
1Gbit/50mbit. Bridge Mode on ISP Modem, ASUS 86u.
Before i got only 350Mbits, now around 80 mbits more.

Need to test more with downloading/uploading from several devices. Also running a "mediaserver" on it. Working also nice and smoothly.

Regards
GulPOGM.png
 
Had a go at this and the verdict is there is a notable improvement. Download buffer bloat seems to have improved and also download speed is now getting approx 40-60mbps more than on standard.

I'm on ASUS AX86U, 500/35 with ISP modem router in bridge mode. Tests carried out using AX client over WIFI.

Getting Triple A+ for nearly every test on DSL reports. Also tried the buffer bloat test whilst saturating the dl/ul and this is the best I've seen.

Just a quick question, has the change made here, resulted in the WAN being unaffected? I run spdmerlin to monitor my ISP connection (as I have speed issues at times) and I've just realised the tests are now unaffected by CAKE, whereas previously I couldn't see what the actual incoming speeds were on default, due to CAKE effectively throttling the speeds. This gets a big thumbs up from me on both counts!

EDIT. Whilst finishing writing this, I've done some more tests on dslreports following spdmerlin tests and it now seems download is now not being limited.

EDIT 2. Rebooted the router and it's limiting the speeds again. Tried another spdmerlin manual test and speeds not limited again at the WAN interface, but speeds now limited again as should be on the LAN.
 
Last edited:
Does this look like the expected outcome. I just notice the ingress line, and the ifb4eth0 lines

qdisc cake 8003: dev eth0 root refcnt 2 bandwidth 1894Kbit diffserv3 dual-srchost nat nowash ack-filter split-gso rtt 100ms noatm overhead 27
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth2 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth3 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth4 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev spu_us_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev spu_ds_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth5 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth6 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc ingress ffff: dev br0 parent ffff:fff1 ----------------
qdisc pfifo_fast 0: dev wds0.0.1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc cake 8002: dev ifb4eth0 root refcnt 2 bandwidth 27648Kbit besteffort dual-dsthost nat wash ingress ack-filter split-gso rtt 100ms noatm overhead 27
qdisc pfifo_fast 0: dev wds1.0.10 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev wds1.0.1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev wds0.0.4 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 
In LAN interface don't add the nat option and need add ingress or downlink didn't get limited.
Isn't the ingress handled by this queue?

Code:
tc qdisc add dev $DLIF handle ffff: ingress 2>/dev/null

I'm on ASUS AX86U, 500/35 with ISP modem router in bridge mode. Tests carried out using AX client over WIFI.

Getting Triple A+ for nearly every test on DSL reports. Also tried the buffer bloat test whilst saturating the dl/ul and this is the best I've seen.

You are probably getting good bufferbloat scores because you cannot saturate 500 Mbps without hardware acceleration. This makes the test somewhat invalid, Cake shouldn't be used on such a fast connection.
 
Does this look like the expected outcome. I just notice the ingress line, and the ifb4eth0 lines
No, you are still using IFB, these are the built-in settings.
 
Isn't the ingress handled by this queue?
Everything incoming from WAN is already de-NATted by the time it gets to br0, right?

I don’t believe you need or want the separate ingress qdisc on br0. The Cake ingress option on br0 is open for discussion.
 
I don’t believe you need or want the separate ingress qdisc on br0. The Cake ingress option on br0 is open for discussion.
Ok, let's try it this way then.

I updated the first post with new configs. I also removed nat from the LAN interface, let's see how it works out.

ALL: please test again with these latest changes made to both files.
 
No, you are still using IFB, these are the built-in settings.

Reading your last comment, I just checked and on the second line I also see IFB. I followed your instructions to the letter. Twice, actually, because I wasn't sure whether the modification would survive a reboot.

Code:
marco@RT-AC86U:/tmp/home/root#  tc qdisc | grep cake
qdisc cake 8013: dev eth0 root refcnt 2 bandwidth 23930Kbit diffserv3 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 8014: dev ifb4eth0 root refcnt 2 bandwidth 244807Kbit besteffort dual-dsthost nat wash ingress no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64

Edit: You just posted before me. Will try again with the changes you've made.
 
Last edited by a moderator:
Ok, let's try it this way then.

I updated the first post with new configs. I also removed nat from the LAN interface, let's see how it works out.

ALL: please test again with these latest changes made to both files.

Same issue, download not limited.
 
Results are all over the place now, bufferbloat is B on DSLReports but peak hours are beginning here, so probably not representative.

Second line is still showing ifb4eth0 btw:

Code:
marco@RT-AC86U:/tmp/home/root#  tc qdisc | grep cake
qdisc cake 8015: dev eth0 root refcnt 2 bandwidth 23930Kbit diffserv3 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 8014: dev ifb4eth0 root refcnt 2 bandwidth 244807Kbit besteffort dual-dsthost nat wash ingress no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
 
No, you are still using IFB, these are the built-in settings.
I kind of thought so. Im using built-in cake. double checked I copied everything exactly correct. Not sure, rebooted it also.

admin@RT-AC86U-DC90:/tmp# cat /jffs/configs/cake-qos.conf.add
ULOPTIONS="$ULOPTIONS ack-filter"
DLOPTIONS="$DLOPTIONS ack-filter"
DLIF=$(nvram get lan_ifname)

admin@RT-AC86U-DC90:/tmp# ls -l /jffs/scripts/qos-start
-rwxrwxrwx 1 admin root 652 Mar 19 10:57 /jffs/scripts/qos-start

admin@RT-AC86U-DC90:/jffs/scripts# cat /jffs/scripts/qos-start
#!/bin/sh

(
cat <<'ADDTEXT'
#!/bin/sh
source /etc/cake-qos.conf

case "$1" in
start)
# Upload
tc qdisc add dev $ULIF root cake $ULPRIOQUEUE $ULOPTIONS $ULBW $OVERHEAD $FRAMING 2>/dev/null
# Download
tc qdisc add dev $DLIF handle ffff: ingress 2>/dev/null
tc qdisc add dev $DLIF root cake $DLPRIOQUEUE $DLOPTIONS $DLBW $OVERHEAD $FRAMING 2>/dev/null
;;
stop)
tc qdisc del dev $ULIF root 2>/dev/null
tc qdisc del dev $DLIF ingress 2>/dev/null
tc qdisc del dev $DLIF root 2>/dev/null
;;
*)
esac
ADDTEXT
) > /tmp/qos
 
Last edited:
Status
Not open for further replies.

Similar threads

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!

Staff online

Top