What's new

FlexQoS FlexQoS 1.0 - Flexible QoS Enhancement Script for Adaptive QoS

  • 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!

It creates a conflict when the child has a higher ceiling than the parent. It's not broken but it wasn't an ideal situation if you max out your bandwidth often/ever.
I suppose that would explain an issue I've been having with downloads being werid I'll check again tomorrow to see if removing the lines makes a difference

A secondary thing I noticed was very time I added the rule to the script and did an update check it would say athlete is an update available even if it's the same version, I'd have to say that's some amazing anti tamper mechanism.
 
A secondary thing I noticed was very time I added the rule to the script and did an update check it would say athlete is an update available even if it's the same version, I'd have to say that's some amazing anti tamper mechanism.
I think it was a technique Adamm started where an update with no version change (i.e. hotfix) was detected by calculating the md5sum of the local and github files. If they don't match, but the versions are the same, then it must be a hotfix. So yes, any local user changes to the script or asp file would be detected as a hotfix available during an update check.
 
@Vexira i also still used/unsing the 90% rule from freshjr.

Rule:
DownCeil="$(expr ${DownCeil} \* 90 / 100)"
UpCeil="$(expr ${UpCeil} \* 90 / 100)"

So its not good to use this anymore ?
 
It appears fq_codel’s days might be numbered?
If I’m reading it right, it’s unable to run in the upcoming Asus firmware.
 
Last edited:
@dave14305 Noticed I was having some internet issues so I reboot router....Noticed this in syslog. Can provide whole log if needed. It may be nothing but was curious about it.
Code:
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:2
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:4
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:6
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:8
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:10
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:12
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:14
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:16
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:18
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:20
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:22
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:24
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:26
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:28
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:30
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Unknown filter "flowid", hence option "1:13" is unparsable
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:32
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Unknown filter "flowid", hence option "1:13" is unparsable
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:34
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:36
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:38
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:40
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:42
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:44
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:46
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:48
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:50
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:52
 
@dave14305 Noticed I was having some internet issues so I reboot router....Noticed this in syslog. Can provide whole log if needed. It may be nothing but was curious about it.
Code:
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:2
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:4
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:6
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:8
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:10
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:12
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:14
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:16
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:18
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:20
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:22
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:24
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:26
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:28
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:30
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Unknown filter "flowid", hence option "1:13" is unparsable
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:32
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Unknown filter "flowid", hence option "1:13" is unparsable
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:34
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: Invalid argument
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: We have an error talking to the kernel
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:36
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:38
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:40
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:42
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:44
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:46
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:48
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:50
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:52
Did it eventually apply the rules correctly?
 
It appears fq_codel’s days might be numbered?
If I’m reading it right, it’s unable to run in the upcoming Asus firmware.
Let's cross that bridge when we get there. I'm glad I started experimenting with sfq, to see if it makes much of a difference under Adaptive QoS. I still think the overall impact on Adaptive QoS will be minimal. fq_codel will still be available for Traditional QoS, and that's where it would do the most good. The complex Adaptive QoS class structure makes the underlying leaf qdiscs less important than if you have a simpler Traditional QoS class structure of Highest, High, Medium, Low, Lowest.

I need an easy way to depict and annotate the hierarchy (besides resorting to a PowerPoint org chart :eek: ).
 
Let's cross that bridge when we get there. I'm glad I started experimenting with sfq, to see if it makes much of a difference under Adaptive QoS. I still think the overall impact on Adaptive QoS will be minimal. fq_codel will still be available for Traditional QoS, and that's where it would do the most good. The complex Adaptive QoS class structure makes the underlying leaf qdiscs less important than if you have a simpler Traditional QoS class structure of Highest, High, Medium, Low, Lowest.

I need an easy way to depict and annotate the hierarchy (besides resorting to a PowerPoint org chart :eek: ).

Just to be contrary, I too have fired up sfq. No apparent issues thus far.....:)
 
Did it eventually apply the rules correctly?
Yea it did...
Code:
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:50
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: RTNETLINK answers: No such file or directory
Oct 14 22:47:11 RT-AC86U-AEA8 FlexQoS: Command failed /tmp/flexqos_tcrules:52
Oct 14 22:47:12 RT-AC86U-AEA8 uiDivStats: Mounting uiDivStats WebUI page as user6.asp
Oct 14 22:47:16 RT-AC86U-AEA8 crond[1270]: time disparity of 1287222 minutes detected
Oct 14 22:47:39 RT-AC86U-AEA8 rc_service: amas_lib 7915:notify_rc restart_firewall
Oct 14 22:47:39 RT-AC86U-AEA8 custom_script: Running /jffs/scripts/service-event (args: restart firewall)
Oct 14 22:47:40 RT-AC86U-AEA8 nat: apply nat rules (/tmp/nat_rules_eth0_eth0)
Oct 14 22:47:40 RT-AC86U-AEA8 custom_script: Running /jffs/scripts/nat-start
Oct 14 22:47:40 RT-AC86U-AEA8 ntpMerlin: Sleeping for 5s to allow firewall/nat startup to be completed...
Oct 14 22:47:40 RT-AC86U-AEA8 custom_script: Running /jffs/scripts/firewall-start (args: eth0)
Oct 14 22:47:40 RT-AC86U-AEA8 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Oct 14 22:47:40 RT-AC86U-AEA8 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=18750) called with 2 args: -start eth0
Oct 14 22:47:40 RT-AC86U-AEA8 FlexQoS: Applying iptables static rules
Oct 14 22:47:40 RT-AC86U-AEA8 FlexQoS: Applying iptables custom rules
Oct 14 22:47:41 RT-AC86U-AEA8 FlexQoS: Flushing conntrack table
Oct 14 22:47:41 RT-AC86U-AEA8 FlexQoS: Applying AppDB rules and TC rates
 
What are your iptables rules?
I wonder if I miss some useful ones.
Here are mine:
1602795112249.png

Also thinking about adding some for Stadia: UDP/TCP 44700 - 44899: Gaming.
 
Most of my rules are focused on Work from home traffic. I had to re-add the Zoom rule when I saw some Zoom traffic still being classified as Untracked. The CF Warp rule is to de-emphasize my kids' traffic when they hide their activities behind the 1.1.1.1 app (Gaming is 6th priority in my list above File Downloads and Game Transferring).

1602805739654.png


Since I'm also experimenting with my Raspberry Pi again with Pi-Hole, I am also enjoying the benefits of my new inverted filter. Pi-Hole generates a lot of connection noise in the connection list and I can put a !DNS in the filter to hide them all.

1602806028604.png
 
Most of my rules are focused on Work from home traffic. I had to re-add the Zoom rule when I saw some Zoom traffic still being classified as Untracked. The CF Warp rule is to de-emphasize my kids' traffic when they hide their activities behind the 1.1.1.1 app (Gaming is 6th priority in my list above File Downloads and Game Transferring).

View attachment 26901

Since I'm also experimenting with my Raspberry Pi again with Pi-Hole, I am also enjoying the benefits of my new inverted filter. Pi-Hole generates a lot of connection noise in the connection list and I can put a !DNS in the filter to hide them all.

View attachment 26902

Thanks for info. How hard would it be to implement or if its even possible to do a dropdown with known preset rules (gaming, zoom, factime etc,) people can choose from?
 
Last edited:
Thanks for info. How hard would it be to implement or if its even possible to do a dropdown with known preset rules (gaming, zoom, factime etc,) people can choose from?
Done on the develop branch. I have added the default built-in rules, Zoom and Skype/Teams to the dropdown list for now. For the Gaming Rule, it defaults to the Local IP address of the device logged into the router UI, so be sure to change it to the actual Gaming device IP or CIDR after it's in the table.

The UI is very busy and crowded so I'm open to ideas on how to simplify it. I would really like to figure out a smart way to consolidate the Tracked Connections table where connections with the same attributes except Local Port aren't duplicated. For example, if I have a Pi-Hole making 300 connections to 9.9.9.11 on 53/udp and all are labeled DNS, but only the random local port is different, only print that line once and display a connection count instead of listing each one individually. Need to learn how to detect duplicates in arrays, ignoring one field of the array (local port).

Too many lines!
1602863028622.png
 
I can probably mimic the Well-known applications menu on the Port Trigger page. I borrowed a lot of code from that page already. ;)

Preset dropdown work better using Asus's implementation IMHO (much more intuitive to use). Here's an example that I recently implemented:

 
Preset dropdown work better using Asus's implementation IMHO (much more intuitive to use). Here's an example that I recently implemented:

I chose to use the Port Trigger code because I have to append the chosen value to an array used in tableApi. Or are you thinking I can put an arrow somewhere more convenient than adding a select menu? Since I use the tableApi CreatePanel, I don't have a lot of control over it (or so I think).

1602864543646.png
 
I chose to use the Port Trigger code because I have to append the chosen value to an array used in tableApi. Or are you thinking I can put an arrow somewhere more convenient than adding a select menu? Since I use the tableApi CreatePanel, I don't have a lot of control over it (or so I think).

If you don't already have input fields (like the search fields currently available on the Classification page), then that new system isn't very useful indeed, and you will have to use regular select fields. I thought you were looking into having presets next to, for example, the Application input field.
 
If you don't already have input fields (like the search fields currently available on the Classification page), then that new system isn't very useful indeed, and you will have to use regular select fields. I thought you were looking into having presets next to, for example, the Application input field.
I have a pull_arrow implemented in develop branch for the Local IP field, but your comment about Application input field gives me another idea how to filter the list by class priority level (0-7).

It turns out I can unintentionally filter the list by priority number due to a kludge I have for sorting by Application priority level. In my personal configuration, Work-From-Home is second priority (or 1 on a zero to 7 scale). If I enter '1>' in the Application field, I can get all Work-From-Home connections. If I add a pull_arrow dropdown to do the same with friendly names, it could be a useful feature. Just the unsensible '1>' would be confusing to look at.

1602874630895.png
 
Most of my rules are focused on Work from home traffic. I had to re-add the Zoom rule when I saw some Zoom traffic still being classified as Untracked. The CF Warp rule is to de-emphasize my kids' traffic when they hide their activities behind the 1.1.1.1 app (Gaming is 6th priority in my list above File Downloads and Game Transferring).

View attachment 26901

Since I'm also experimenting with my Raspberry Pi again with Pi-Hole, I am also enjoying the benefits of my new inverted filter. Pi-Hole generates a lot of connection noise in the connection list and I can put a !DNS in the filter to hide them all.

View attachment 26902
Thanks, Dave. This is very useful, especially for Zoom and Skype.
 

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!
Top