Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: dave seddon <dave.seddon.ca@gmail.com>
To: Dave Taht <dave.taht@gmail.com>
Cc: Nils Andreas Svee <me@lochnair.net>,
	CAKE list <cake@lists.bufferbloat.net>
Subject: Re: [Cake] Ubiquity (Unifi ) Smart Queues
Date: Tue, 9 Jan 2024 08:47:47 -0800	[thread overview]
Message-ID: <CANypexQE1v6NZetOjpsHWX0mF43Sru6NxpCfNzWuEyrL+tL3tg@mail.gmail.com> (raw)
In-Reply-To: <CAA93jw4K2sgRfXieAV_tfjBpRrK3kEke1QhMk2tp+PqLMh8w4Q@mail.gmail.com>

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

Thanks to everyone for the comments.

Wow Dave.  Thanks for the links to the lawsuit.  Fascinating.  I didn't
know about this.

Since the original email, I actually downgraded from Spectrum cable 300
Mb/s to ? maybe it's 200 now ?, anyway it's $20 a month cheaper.  And
decreased the "smart queue" limits to 80/10 Mb/s.

Video streaming multiple TVs at once is all working well.  No complaints
from the family. Win!

Stats are looking pretty good after ~8 days uptime

root@USG-Pro-4:/home/daveseddon# tc -p -s -d qdisc show
qdisc fq_codel 8001: dev eth0 root refcnt 2 limit 10240p flows 1024 quantum
1514 target 5.0ms interval 100.0ms ecn
 Sent 161758598841 bytes 147108740 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
  maxpacket 1514 drop_overlimit 0 new_flow_count 299 ecn_mark 0
  new_flows_len 0 old_flows_len 4
qdisc htb 1: dev eth2 root refcnt 2 r2q 10 default 10 direct_packets_stat 0
ver 3.17
 Sent 32491619852 bytes 93191686 pkt (dropped 0, overlimits 36499993
requeues 0)                                <---- OVER ( 36499993 / 32491619852
~= 0.00112)
 backlog 0b 0p requeues 0
qdisc fq_codel 100: dev eth2 parent 1:10 limit 10240p flows 1024 quantum
1514 target 5.0ms interval 100.0ms ecn
 Sent 32491619852 bytes 93191686 pkt (dropped 37156, overlimits 0 requeues
0)                                    <------- DROPS ( 37156 / 32491619852
~= 0.0000011 )
 backlog 0b 0p requeues 0
  maxpacket 1514 drop_overlimit 0 new_flow_count 15549718 ecn_mark
1572           <--- some ECN
  new_flows_len 1 old_flows_len 5
qdisc ingress ffff: dev eth2 parent ffff:fff1 ----------------
 Sent 169147707173 bytes 346339031 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev imq0 root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0
1 1 1 1 1 1 1 1
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc htb 1: dev ifb_eth2 root refcnt 2 r2q 10 default 10
direct_packets_stat 0 ver 3.17
 Sent 173801196835 bytes 346221051 pkt (dropped 0, overlimits 192974926
requeues 0)                       <------- OVER ( 192974926 / 173801196835
~= 0.0011 )
 backlog 0b 0p requeues 0
qdisc fq_codel 100: dev ifb_eth2 parent 1:10 limit 10240p flows 1024
quantum 1514 target 5.0ms interval 100.0ms ecn
 Sent 173801196835 bytes 346221051 pkt (dropped 140361, overlimits 0
requeues 0)                           <------- DROPS ( 37156 / 32491619852
~= 0.00000080 )
 backlog 0b 0p requeues 0
  maxpacket 1514 drop_overlimit 0 new_flow_count 30970803 ecn_mark
1721          <--- some ECN
  new_flows_len 1 old_flows_len 3

root@USG-Pro-4:/home/daveseddon# tc -d class show dev eth2
class htb 1:10 root leaf 100: prio 0 quantum 118750 rate 9500Kbit ceil
9500Kbit burst 1598b/1 mpu 0b overhead 0b cburst 1598b/1 mpu 0b overhead 0b
level 0
class fq_codel 100:98 parent 100:
class fq_codel 100:c7 parent 100:
class fq_codel 100:180 parent 100:
class fq_codel 100:238 parent 100:
class fq_codel 100:305 parent 100:

root@USG-Pro-4:/home/daveseddon# tc -d class show dev ifb_eth2
class htb 1:10 root leaf 100: prio 0 quantum 200000 rate 76000Kbit ceil
76000Kbit burst 1596b/1 mpu 0b overhead 0b cburst 1596b/1 mpu 0b overhead
0b level 0
class fq_codel 100:247 parent 100:
class fq_codel 100:2c8 parent 100:

root@USG-Pro-4:/home/daveseddon# uptime
 08:18:21 up 8 days, 19:02,  1 user,  load average: 0.00, 0.01, 0.05

root@USG-Pro-4:/home/daveseddon# netstat -ia
Kernel Interface table
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR
Flg
eth0       1500 0  101353919      0      0 0      157787555      0      0
   0 BMRU
eth1       1500 0    663477      0      0 0       1090665      0      0
 0 BMRU
eth2       1500 0  377699134      0      0 0      98049876      0      0
   0 BMRU
eth3       1500 0         0      0      0 0             0      0      0
 0 BM
eth0.20    1500 0   3437713      0      0 0       2260022      0      0
 0 BMRU
eth0.40    1500 0     12524      0      0 0       1012668      0      0
 0 BMRU
ifb_eth2   1500 0  346333308      0  22391 0      346310917      0      0
   0 BORU   <--- i'm still curious about these drops, but it's a tiny
amount. 22391 / 346333308 ~= 0.000064
imq0      16000 0         0      0      0 0             0      0      0
 0 ORU
lo        65536 0     38330      0      0 0         38330      0      0
 0 LRU
loop0      1500 0         0      0      0 0             0      0      0
 0 BM
loop1      1500 0         0      0      0 0             0      0      0
 0 BM
loop2      1500 0         0      0      0 0             0      0      0
 0 BM
loop3      1500 0         0      0      0 0             0      0      0
 0 BM
npi0       1500 0         0      0      0 0             0      0      0
 0 BM
npi1       1500 0         0      0      0 0             0      0      0
 0 BM
npi2       1500 0         0      0      0 0             0      0      0
 0 BM
npi3       1500 0         0      0      0 0             0      0      0
 0 BM





On Tue, Jan 9, 2024 at 8:05 AM Dave Taht via Cake <
cake@lists.bufferbloat.net> wrote:

> On Tue, Jan 9, 2024 at 10:40 AM Nils Andreas Svee via Cake
> <cake@lists.bufferbloat.net> wrote:
>
> > Though frankly, I don’t plan on updating the sch_cake and tc binaries
> when new firmwares are released anymore, as they don’t publish the GPL
> archives on their webpage after the redesign, and they don’t respond to
> requests for them either by the looks of the forums. So if it breaks
> there’s not much I can do anymore.
>
> This irks me enormously. It is the direct outcome of the cambium
> elevate lawsuit, where both companies lost, the ISPs lost, open source
> practices long established about publishing sources, lost, and the
> lawyers went on to other nasty things leaving this trail of awful
> precedents  in their wake.
>
> https://www.mtin.net/blog/ubnt-vs-cambium/
>
> I do not know what to do about it. It also irks me that as a
> contributor to "smart queues" they are not maintaining it well.
>
> >
> > Best Regards,
> > Nils Andreas Svee
> >
> > On Jan 3, 2024, at 14:44, Pete Heist via Cake <
> cake@lists.bufferbloat.net> wrote:
> >
> > On Tue, 2024-01-02 at 10:59 -0800, dave seddon via Cake wrote:
> >
> > I thought people might be interested to see what Ubiquity/Unifi is
> > doing with "Smart Queues" on their devices.  The documentation on
> > their website is not very informative.
> > <snip>
> > "Smart Queue" Implementation
> >
> > Looks like they only apply tc qdiscs to the Eth2, and sadly this is
> > NOT cake, but fq_codel.
> >
> > And cake isn't available :(
> >
> > root@USG-Pro-4:~# tc qdisc replace dev eth0 cake bandwidth 100m rtt
> > 20ms
> > Unknown qdisc "cake", hence option "bandwidth" is unparsable
> >
> >
> > Hi Dave, there's a community contributed version of Cake for EdgeRouter
> > devices that I've been using for years on production ER-X's:
> >
> >
> https://community.ui.com/questions/Cake-compiled-for-the-EdgeRouter-devices/fc1ff27c-f321-4344-8737-fcc755cae8a2
> >
> > I don't think that works for UniFi/USG devices, however, and one should
> > note the disclaimer and be careful when installing it. Also, it must be
> > re-installed after every upgrade.
> >
> > Cheers,
> > Pete
> >
> > _______________________________________________
> > Cake mailing list
> > Cake@lists.bufferbloat.net
> > https://lists.bufferbloat.net/listinfo/cake
> >
> >
> > _______________________________________________
> > Cake mailing list
> > Cake@lists.bufferbloat.net
> > https://lists.bufferbloat.net/listinfo/cake
>
>
>
> --
> 40 years of net history, a couple songs:
> https://www.youtube.com/watch?v=D9RGX6QFm5E
> Dave Täht CSO, LibreQos
> _______________________________________________
> Cake mailing list
> Cake@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cake
>


-- 
Regards,
Dave Seddon
+1 415 857 5102

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

  reply	other threads:[~2024-01-09 16:48 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-02 18:59 dave seddon
2024-01-02 20:52 ` Sebastian Moeller
2024-01-02 21:15   ` dave seddon
2024-01-02 21:24     ` Sebastian Moeller
2024-01-02 21:57 ` Jonathan Morton
2024-01-03 13:44 ` Pete Heist
2024-01-09 15:39   ` Nils Andreas Svee
2024-01-09 15:59     ` Dave Taht
2024-01-09 16:05     ` Dave Taht
2024-01-09 16:47       ` dave seddon [this message]
2024-01-09 16:57       ` Nils Andreas Svee
2024-01-09 17:07         ` dave seddon
2024-01-09 17:17           ` Dave Taht
2024-01-09 23:28             ` Nils Andreas Svee
2024-04-29 21:55               ` dave seddon
2024-01-09 23:17           ` Nils Andreas Svee

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CANypexQE1v6NZetOjpsHWX0mF43Sru6NxpCfNzWuEyrL+tL3tg@mail.gmail.com \
    --to=dave.seddon.ca@gmail.com \
    --cc=cake@lists.bufferbloat.net \
    --cc=dave.taht@gmail.com \
    --cc=me@lochnair.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox