SQM Reporting?

This looks very interesting, thanks for sharing!

1 Like

Did you get a chance to try it out? If so, is it working okay for you?

Pushed another update to this Netdata chart to now support multiple SQM interfaces. Each SQM queue is queried and handled individually, so the SQM queues can be of different settings and handled accordingly. e.g. One queue could be layer_cake @ diffserv4 and another queue be piece_of_cake @ besteffort.

Repo: https://github.com/Fail-Safe/netdata-chart-sqm

1 Like

No, I haven't tried it yet. At the moment my priority with SQM is DSCP tagging for ingress but I haven't got it done...

1 Like

Ah nice--I just tackled the same over this past weekend. Still tweaking it a bit though. Interestingly enough, my Netdata chart helped me reason through some struggles I was having in the process. :slight_smile:

1 Like

I'm trying to get it done via ctfino and I guess that the netdata sqm chart could really help when verifying my setup. I can't wait to test it. :slight_smile:

What is ctfino?

From what I understand so far kmod-sched-ctinfo is needed to make DSCP work for the ingress side (at least for my pppoe-wan setup).
I'm trying to get @ldir's ctinfo4layer_cake script to work (actualy a more simple version of it) as nftables is way to complicated for my level of understanding.

@ldir This is very interesting! Is "diffserv5" a typo, though?

No. I have a patched CAKE that has a 5 tin diffserv implementation. Least Effort, BulK, Best Effort, VIdeo, VOice. Basically diffserv4 with an extra realy low priority tin.

1 Like

Ah, that makes sense! Is that patch readily available or under-wraps for now? :slight_smile:

@ldir
Can we still use your script with diffserv4?

Yes, you can. I use it myself with diffserv4.

1 Like

I am not seeing anywhere the same amount of traffic passing through the QOS_MARK_* and QOS_CAKE_* chains as I saw with my prior SQM setup. Something doesn't feel right there. @amteza are you seeing the same?

FWIW, I managed to patch and build the diffserv5 kmod-sched-cake and diffserv5 capable tc, but with diffserv5 I only end up with three tins for some reason. I realize this is very much a WIP by @ldir, so I'm not looking for support or a fix right now. Just sharing my observations. I'm sure it will all get ironed out into a smooth running machine when the time is right. :slight_smile:

@_FailSafe, nope, no problems here, traffic passing iptables rules are correct, I can see packets being classified as connmark connections are established. Classification works as configured, I can see traffic landing in the correct buckets, I used my Teams video calls to confirm mainly. How was your previous SQM setup configured?

Was running layer_cake w/diffserv4 on both eth0 (WAN) queue and eth1 (LAN) queue with @hisham2630's ultimate DSCP script (with some of my own rules added). With that config, I was seeing megabytes at a time ticking up in the DSCP chain, consistent with my usage.

I'm going to give it a little more time before I cast any more judgement on the ctinfo_4layercake configuration.

Make sure you switched interfaces, I reckon @hisham2630's gets instantiated on the LAN interface too, not only in your your egress/ingress WAN interface like this one.

Sorry, I'm not following that. Where are you referring to for switching interfaces?

Sorry, multitasking is not one of my virtues. I mean that if my memory serves me well with his solution you have two SQM instances, one in your WAN interface and another one in your LAN interfaces. With this approach you only need one in your WAN interface:

config queue 'eth0'
	option debug_logging '0'
	option verbosity '5'
	option qdisc 'cake'
	option linklayer 'ethernet'
	option overhead '44'
	option qdisc_advanced '1'
	option qdisc_really_really_advanced '1'
	option squash_dscp '0'
	option squash_ingress '0'
	option ingress_ecn 'ECN'
	option egress_ecn 'ECN'
	option download '90000'
	option upload '35000'
	option enabled '1'
	option iqdisc_opts 'nat dual-dsthost ingress'
	option script 'ctinfo_4layercake.qos'
	option interface 'eth0'
	option eqdisc_opts 'nat dual-srchost ack-filter docsis'
2 Likes

I didn't know that we can specify a script within the sqm config. Where is your ctinfo_4layercake.qos script located?