PCQ base Tree for whole subnet

I am using following code to prioritize marked traffic. but it is being done for single client.
what If I want to use it for per user basis for whole subnet?

/ip firewall mangle
 
# Mark HTTP 80Traffic Connections/Packets
add action=mark-connection chain=forward comment="Zaib-Desktop - Mark HTTP Port 80" dst-port=80 new-connection-mark=Zaib_Desktop_http_80_Conn protocol=tcp src-address=101.11.14.1
add action=mark-packet chain=forward connection-mark=Zaib_Desktop_http_80_Conn new-packet-mark=Zaib_Desktop_http_80_pkts passthrough=no 
 
# Mark HTTPS 443 Traffic Connections/Packets
add action=mark-connection chain=forward comment="Zaib-Desktop - Mark HTTPS Port 443" dst-port=443 new-connection-mark=Zaib_Desktop_https_443_Conn protocol=tcp src-address=101.11.14.1
add action=mark-packet chain=forward connection-mark=Zaib_Desktop_https_443_Conn new-packet-mark=Zaib_Desktop_httsp_443_pkts passthrough=no add action=mark-connection chain=forward comment="Zaib Desktop - ICMP" new-connection-mark=Zaib_Desktop_ICMP_Conn protocol=icmp src-address=101.11.14.1
 
# Mark ICMP TRAFFIC Connections/Packets 
add action=mark-connection chain=forward comment="Zaib Desktop - ICMP" new-connection-mark=Zaib_Desktop_ICMP_Conn protocol=icmp src-address=101.11.14.1
add action=mark-packet chain=forward connection-mark=Zaib_Desktop_ICMP_Conn new-packet-mark=Zaib_Desktop_ICMP_Pkts passthrough=no 
 
# Mark ALL OTHER Traffic Connections/Packets 
add action=mark-connection chain=forward comment="Zaib Desktop - All Other Traffic" connection-mark=no-mark new-connection-mark=Zaib_Desktop_All_Other_Traffic src-address=101.11.14.1 
add action=mark-packet chain=forward connection-mark=Zaib_Desktop_All_Other_Traffic new-packet-mark=Zaib_Desktop_All_Other_Pkts passthrough=no

and QUEUE Section

# Mark QUEUE TREE
/queue tree 
add limit-at=128k max-limit=128k name="Zaib Dekstop - 128k" parent=global queue=default
 
# 1st Priority to ICMP Traffic from above 128k Parent Queue 
add name="PRIO 1 - ICMP" packet-mark=Zaib_Desktop_ICMP_Pkts parent="Zaib Dekstop - 128k" queue=default  priority=1
 
# 2nd Priority to HTTPS 443 Traffic from 128k Parent Queue
add name="PRIO 2 - HTTPS" packet-mark=Zaib_Desktop_httsp_443_pkts parent="Zaib Dekstop - 128k" queue=default priority=2
 
# 3rd Priority to HTTP Port 80 Traffic from 128k Parent Queue
add name="PRIO 3 - HTTP" packet-mark=Zaib_Desktop_http_80_pkts parent="Zaib Dekstop - 128k" queue=default  priority=3
 
# 4th Priority to All Other Traffic from 128k Parent Queue
add name="PRIO 4 - All Other Traffic" packet-mark=Zaib_Desktop_All_Other_Pkts parent="Zaib Dekstop - 128k" queue=default priority=8

I’m looking for pretty much the same thing. I want to use PCQ to shape traffic, but I want to prioritize certain traffic within each sub-queue of PCQ.

MikroTik RouterOS Workshop QoS Best Practice as well as other forum posts recommend that ISPs use PCQ in a queue tree for shaping their client traffic. But I need to do some basic prioritization of the customer traffic as well. Before reading these recommendations, I had already set up a structure of simple queues with prioritized sub-queues looking at packet-marks. Reading the Workshop, their recommended packet marking and queue structure sounds easier to manage and more efficient. But at the end where they talk about Traffic Prioritization they seem to leave the implementation hanging.

As I understand it, PCQ is only viable as a queue type for HTB leaf classes. Am I correct? If I am, then the only way I can see for this to work would be for the FIFO queues created for each PCQ sub-queue to respect the packet priority values set through Mangle. That would work for me, but I can find no confirmation anywhere that it does. Short of that, I’m at a loss as to how to do this.