CakeQOS CakeQOS-Merlin

  • ATTENTION! You'll notice a Prefix dropdown when you create a thread. If your post applies to one of the topics listed, please use that Prefix for your post. When browsing the thread list you can use the Prefix to filter the view.
  • ATTENTION! As of November 1, 2020, you will not be able to reply to threads 6 months after the thread is opened. Threads will not be locked, so posts may still be edited by their authors.

Wade Coxon

Regular Contributor
I've noticed that when running diffserv4 that my Ring Doorbell Pro must mark it's traffic, particularly when I use Live View, as I get my upload traffic incrementing the Voice and Video tin counters. The Ring Doorbell is very fussy (aka rubbish) about it's connection so this helps me.

If you want to use diffserv4 on the download you need to set the extra download option nowash as the default on cake-qos is to wash the DSCP marking.
Yes, I suspect the small amount of tagged traffic that I see on my upload is also from my various Google Assistant devices.

I would also love to see additional traffic marking added to cake-qos, but also don't have the knowledge to do this. I have a vision that we could use the Trend Micro engine classifications just like with FlexQoS and apply these to cake as per this info https://man7.org/linux/man-pages/man8/tc-cake.8.html#OVERRIDING_CLASSIFICATION_WITH_TC_FILTERS, but sadly even with 30 years in IT Infrastructure, I don't have the knowledge to even know where to start in the code.
This is what I found, but not sure if the same technique can be applied on Asuswrt.
 

Morris

Regular Contributor
Yes, I suspect the small amount of tagged traffic that I see on my upload is also from my various Google Assistant devices.


This is what I found, but not sure if the same technique can be applied on Asuswrt.
I'd be surprised if any traffic is being tagged. You need to use a packet sniffer such as ethereal to see.
 

Wade Coxon

Regular Contributor
I'd be surprised if any traffic is being tagged. You need to use a packet sniffer such as ethereal to see.
The small amount of traffic is getting categorised somehow. The only way I can think that is happening is some devices are applying the appropriate tags themselves.
 

ugandy

Senior Member
are the current available cake binaries very outdated?
i'm not using cake right now, but I remember that was an open issue.
 

brummygit

Senior Member
The small amount of traffic is getting categorised somehow. The only way I can think that is happening is some devices are applying the appropriate tags themselves.
I can certainly start and stop traffic using the diffserv4 tins by powering off/on my Ring Doorbell Pro and using Live View to watch it's stream so I believe a small number of applications / devices in my home do DSCP marking.
 

brummygit

Senior Member
Disclaimer: I haven't yet had time to watch the video you linked
Cake is not using fairness. It classify traffic by traffic pattern. Real time streams such as Voice, Video and Gaming don't consume all the bandwidth, they send traffic at set rates while a download can grow to fill the pipe. Cake will slow the applications that fill the pipe to allow the real time applications the bandwidth they need. It is explained in the video.
Where is cake identifying the traffic type in this case. In besteffort there is only a single tin, but with diffserv profiles it relies on traffic having been tagged externally. My understanding is that within each tin the traffic is treated fairly so without either tagging before it arrives at the router, or an implementation such as Trend Micro to tag it, there is no prioritisation. I'd be happy to learn otherwise and will watch the video when time permits.

I just tested this on my 100-Mb symmetric FIOS link by running 4 4K videos, a 1400 byte ping and then added some downloads. I was surprised I could fit 4 4k videos yet they were working so I started task manager to watch interface utilization and was surprised to see it below at about 75-Mb. When I pegged the link at 100-Mb cake kicked in and after one of the videos experienced a buffer spinning wheel for a moment and there was one dropped packet everything started working and utilization was at 98-Mb. I might need to drop the bandwidth limits on my link a bit. It's very unusual for my network to be this busy so I'll leave it till I see real world issues rather than ones I create.
You are correct in that most of the high priority traffic will be low bandwidth and therefore even fairness will be enough for those connections. I had issues that my 4k TV stream wouldn't fit fairly with a number of applications running on my 50/10 connection at the same time. A(some also high bandwidth such as downloads) s a result my high bandwidth consumers struggled with their allocation of the bandwidth. Ideally the 4k TV would have been prioritised over the downloads, but I believe that this was not the case. I also have realtime CCTV uploads which take 2Mbps of my 10Mbps upload all the time - this can again be impacted if I have a number of parallel sessions where their shares each go below 2Mbps.
 

heysoundude

Very Senior Member
Interesting article and nice to see Network World is still alive.

Morris
well, it was when the article was published ~5yrs ago...
Same principles apply here, especially for the crowd that comes looking to get latency down to zero while maintaining "massive" (not really, but maybe for a home user the numbers are big) throughput.
 

heysoundude

Very Senior Member
Cake is not using fairness. It classify traffic by traffic pattern. Real time streams such as Voice, Video and Gaming don't consume all the bandwidth, they send traffic at set rates while a download can grow to fill the pipe. Cake will slow the applications that fill the pipe to allow the real time applications the bandwidth they need. It is explained in the video.

I just tested this on my 100-Mb symmetric FIOS link by running 4 4K videos, a 1400 byte ping and then added some downloads. I was surprised I could fit 4 4k videos yet they were working so I started task manager to watch interface utilization and was surprised to see it below at about 75-Mb. When I pegged the link at 100-Mb cake kicked in and after one of the videos experienced a buffer spinning wheel for a moment and there was one dropped packet everything started working and utilization was at 98-Mb. I might need to drop the bandwidth limits on my link a bit. It's very unusual for my network to be this busy so I'll leave it till I see real world issues rather than ones I create.

Morris
I believe we're at a point in this thread and cake's development for Merlin that a "best practices" post needs to be compiled and stickied somewhere so that people new to the script have a solid starting point- the defaults of 3-5yrs ago may not be as a propos today - Gig speeds and fibre are much more ubiquitous or prevalent, and even a 250+Mbps connection isn't as ostentatious/luxurious as it was back then
I've gone back to besteffort and zeros for up/down speeds on my 50/10 DSL connection and it is truly the best it has EVER been. I also have ack-filter and dual-XXXhost plus whatever is a default beyond that.
If I were to wish for any extra options (and I've tried) from the script menu it would be to have a way to adjust rtt downwards (where appropriate) from the menu....or to pull results from connmon (and possibly unbound - the logic would be interesting) then to self-adjust
 

brummygit

Senior Member
I tend to agree, but we have lots of conflicting opinions on the thread.

I also use upload ack-filter on my 50/10 connection as it seems beneficial on the upload where I see most of my contention.

I have been testing diffserv4 a little more today and I think Microsoft Teams is also setting the DSCP marks now (having read the Microsoft site it's fully supported so maybe our IT dept implemented it recently) so I have quite some of my upload traffic categorised, with a very small amount of download going into Voice. This needs me to override the wash setting in the defaults for download which I personally feel isn't a good default. The manual says that this is to overcome bad marking from Comcast and isn't needed if people stick with besteffort so I would see that there's more benefit to be had by leaving the nowash default in play within the script.
 

brummygit

Senior Member
Incidentally I've found cake-qos stopped a few times in the last couple of days - usually while investigating high latency. I currently have no Trend Micro services enabled so it won't be the signature update checker, and I've even turned off dual WAN in case that was restarting things, but it's still happened. Anyone else had similar?
 

Treadler

Very Senior Member
I believe we're at a point in this thread and cake's development for Merlin that a "best practices" post needs to be compiled and stickied somewhere so that people new to the script have a solid starting point- the defaults of 3-5yrs ago may not be as a propos today - Gig speeds and fibre are much more ubiquitous or prevalent, and even a 250+Mbps connection isn't as ostentatious/luxurious as it was back then
I've gone back to besteffort and zeros for up/down speeds on my 50/10 DSL connection and it is truly the best it has EVER been. I also have ack-filter and dual-XXXhost plus whatever is a default beyond that.
If I were to wish for any extra options (and I've tried) from the script menu it would be to have a way to adjust rtt downwards (where appropriate) from the menu....or to pull results from connmon (and possibly unbound - the logic would be interesting) then to self-adjust
rtt editing commands,:)

rtt TIME
Manually specify an RTT.

datacentre
For extremely high-performance 10GigE+ networks only.
Equivalent to rtt 100us.

lan
For pure Ethernet (not Wi-Fi) networks, at home or in the
office. Don't use this when shaping for an Internet access link.
Equivalent to rtt 1ms.

metro
For traffic mostly within a single city. Equivalent to rtt
10ms.

regional
For traffic mostly within a European-sized country. Equivalent
to rtt 30ms.

internet (default)
This is suitable for most Internet traffic. Equivalent to rtt
100ms.

oceanic
For Internet traffic with generally above-average latency, such
as that suffered by Australasian residents. Equivalent to rtt 300ms.

satellite
For traffic via geostationary satellites. Equivalent to rtt
1000ms.

interplanetary
So named because Jupiter is about 1 light-hour from Earth. Use
this to (almost) completely disable AQM actions. Equivalent to rtt
3600s.
 

Treadler

Very Senior Member
I tend to agree, but we have lots of conflicting opinions on the thread.

I also use upload ack-filter on my 50/10 connection as it seems beneficial on the upload where I see most of my contention.

I have been testing diffserv4 a little more today and I think Microsoft Teams is also setting the DSCP marks now (having read the Microsoft site it's fully supported so maybe our IT dept implemented it recently) so I have quite some of my upload traffic categorised, with a very small amount of download going into Voice. This needs me to override the wash setting in the defaults for download which I personally feel isn't a good default. The manual says that this is to overcome bad marking from Comcast and isn't needed if people stick with besteffort so I would see that there's more benefit to be had by leaving the nowash default in play within the script.
Re ‘wash’,

”Apply the wash option to clear all extra diffserv (but not ECN bits),
after priority queuing has taken place”.

”Priority queuing” = diffserv, so far as I can tell.
so, ‘wash’ does it’s business after diffserv has hit its ‘thresholds’, but not before?
 

heysoundude

Very Senior Member
Incidentally I've found cake-qos stopped a few times in the last couple of days - usually while investigating high latency. I currently have no Trend Micro services enabled so it won't be the signature update checker, and I've even turned off dual WAN in case that was restarting things, but it's still happened. Anyone else had similar?
Do you factory reset the router between changes back and forth to FlexQoS and cake? Doing so should withdraw you from the TrendMicro stuff, and keep your RAM usage from creeping like mine is.
Can't completely get rid of it, as I rely on DDNS (couldn't get Native IPv6 connection to my ISP without it, unfortunately), but not flipping the various switches in the GUI should keep it from engaging in the first place, right?
 

heysoundude

Very Senior Member
rtt editing commands,:)

rtt TIME
Manually specify an RTT.

datacentre
For extremely high-performance 10GigE+ networks only.
Equivalent to rtt 100us.

lan
For pure Ethernet (not Wi-Fi) networks, at home or in the
office. Don't use this when shaping for an Internet access link.
Equivalent to rtt 1ms.

metro
For traffic mostly within a single city. Equivalent to rtt
10ms.

regional
For traffic mostly within a European-sized country. Equivalent
to rtt 30ms.

internet (default)
This is suitable for most Internet traffic. Equivalent to rtt
100ms.

oceanic
For Internet traffic with generally above-average latency, such
as that suffered by Australasian residents. Equivalent to rtt 300ms.

satellite
For traffic via geostationary satellites. Equivalent to rtt
1000ms.

interplanetary
So named because Jupiter is about 1 light-hour from Earth. Use
this to (almost) completely disable AQM actions. Equivalent to rtt
3600s.
Perhaps you'd be kind enough to show me the error of my ways, as it won't take in the script. I've tried. want to get down to regional as my ping is in the 7-8ms range
do I have to stop cake to make the edit?
 

Treadler

Very Senior Member
Incidentally I've found cake-qos stopped a few times in the last couple of days - usually while investigating high latency. I currently have no Trend Micro services enabled so it won't be the signature update checker, and I've even turned off dual WAN in case that was restarting things, but it's still happened. Anyone else had similar?
Cake hasn’t stopped here, except for the known switch off @ Trend Micro defs update check time.
 

Treadler

Very Senior Member
Perhaps you'd be kind enough to show me the error of my ways, as it won't take in the script. I've tried. want to get down to regional as my ping is in the 7-8ms range
do I have to stop cake to make the edit?
[5] --> Extra Upload Options | [ack-filter-aggressive]

If I wanted to modify the line above, 4, then 5, enter ‘regional’, then a space, then ‘ack-filter-aggressive’.

Or ‘rtt nnms’, if you want a custom, manual setting. (Where ‘n’ = the rtt number setting you want).

Cake is happy to be left running in my experience.:cool:
 

heysoundude

Very Senior Member
[5] --> Extra Upload Options | [ack-filter-aggressive]

If I wanted to modify the line above, 4, then 5, enter ‘regional’, then a space, then ‘ack-filter-aggressive’.

Or ‘rtt nnms’, if you want a custom, manual setting. (Where ‘n’ = the rtt number setting you want).

Cake is happy to be left running in my experience.:cool:
You're right, it is and has been so far for me. but we're here to tweak, partially, right?
(is it necessary to use it on extra options for both up and down? will test - I've put it there for now)

UPDATE - only an hour or so in since making this change, but RAM usage creep seems to have been eliminated. Hopefully this holds true as we get through the afternoon and evening, when traffic is usually heavier than mornings
 
Last edited:

Kingp1n

Very Senior Member
Can I use the "ack-filter-aggressive" on my comcast (docsis) internet?

I'm currently using docsis ack-filter for both upload and download.
 

brummygit

Senior Member
Re ‘wash’,

”Apply the wash option to clear all extra diffserv (but not ECN bits),
after priority queuing has taken place”.

”Priority queuing” = diffserv, so far as I can tell.
so, ‘wash’ does it’s business after diffserv has hit its ‘thresholds’, but not before?
I'd missed this originally, and tested today - it does indeed seem to still prioritise some traffic but on my download it's very minimal anyway. I added 'wash' to upload and it still assigned traffic to the Voice and Video tins. Thanks
Do you factory reset the router between changes back and forth to FlexQoS and cake? Doing so should withdraw you from the TrendMicro stuff, and keep your RAM usage from creeping like mine is.
Can't completely get rid of it, as I rely on DDNS (couldn't get Native IPv6 connection to my ISP without it, unfortunately), but not flipping the various switches in the GUI should keep it from engaging in the first place, right?
No, no factory reset as it shouldn't be needed but I have been withdrawing consent from the privacy page after turning everything off.

I think I was doing something to cause it. Maybe it was because I was leaving my SSH session running the cake-qos script so I could easily check if it was running and look at my diffserv4 tin stats, but this was stopping it restarting cake when needed?

do I have to stop cake to make the edit?
The video posted by @Morris states that cake can be reconfigured on the fly without any packet loss. I've certainly seen no ill effects.
 

Morris

Regular Contributor
I tend to agree, but we have lots of conflicting opinions on the thread.

I also use upload ack-filter on my 50/10 connection as it seems beneficial on the upload where I see most of my contention.

I have been testing diffserv4 a little more today and I think Microsoft Teams is also setting the DSCP marks now (having read the Microsoft site it's fully supported so maybe our IT dept implemented it recently) so I have quite some of my upload traffic categorised, with a very small amount of download going into Voice. This needs me to override the wash setting in the defaults for download which I personally feel isn't a good default. The manual says that this is to overcome bad marking from Comcast and isn't needed if people stick with besteffort so I would see that there's more benefit to be had by leaving the nowash default in play within the script.
Yes, this would be very helpful with recommendations for different common connection types and speeds. The install is supposed to be as easy as cake yet it is hardly that way due to the scattered documentation, contradictions made by different forum members as lots of assumptions are being made.

Morris
 

Similar threads

Sign Up For SNBForums Daily Digest

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