How to configure seperate queue for WiFi Access Point

I currently have two queue’s each with their own Max Limit.

UP-Q: Interface ether1 - my ether1 is not part of the bridge and connects to the Internet, PPPoE.
DOWN-Q: Interface bridge

Now I want to add two seperate queues for a WiFi Access Point which is connected to ether10.
I want to have two queues,
WiFi-Up: Interface ether10
WiFi-Down: Interface ether10

My problem is that WiFi-Up and WiFi-Down is on the same interface, ether10.

How do I solve this problem, so that I have two seperate WiFi Max Limits for WiFi-Up and WiFi-Down and have seperate Max Limits for LAN connected devices.

(Should I be having seperate mangling marks, currently I am using the same marks for WiFi and my normal Queue)

Here is what I have tried but have not found a solution yet:

\

  1. Mark the packets to the WiFi AP using the interface - fail cannot do that because the interface is a slave.

  2. Mark packets source IP of the WiFi AP, and Mark packets destination WiFi AP
    that did not work since some packets are not sent to the WiFi IP, they are not NATTED.

  3. Add DHCP Server to ETHER10, so that I can get a range if IP’s to be used for the markings,
    could not do that because the interface is a slave.

  4. MyWiFi Ap does not support this: Go to WiFi AP, and configure a DHCP on it and then use that range of IP’s to mark the packets,
    and once the packets are marked create queues based on those markings.


    next-up to try??

Here is my approach thus far, but I need some help with the Mangle Rule adjustments, down below.

[WiFi clients get a seperate IP Range]
I have moved the ethernet port which is connected to the WiFi access point into it’s own bridge,
then added a DHCP server to that interface and all clients connected to that WiFi Access point now gets a seperate IP range.

Steps:

  1. remove the ethernet port from the original bridge
  2. create a new bridge
  3. add the port removed in step 1 to the new bridge
  4. create network for that bridge, giving the WiFi AP Bridge and IP address.
  5. create a DHCP pool for that Interface
  6. create a DHCP server on the bridge interface.
  7. create DHCP network and set the network, gateway address and DNS server for that network.

[WiFi AP - Download]
In the Queue tree I created a new “Q”, with interface of the queue set to the bridge I created for the WiFi Access point.
Copied all the Mangling from my other Queue into this root node. This is easily done.

[WiF AP - Upload]
Now for the hard Part…
I have several Mangle rules, 23 of them and it seems I will have to create a entirely new set and mark them
using an address list.

Steps:
a) Create a new Address List, using the same DHCP address range as for the WiFi DHCP server.
b) Adjust the mangle rules to make use of the address list, using the Source Address list and Destination address list.

Here is a nice article I found at Mikrotik: https://wiki.mikrotik.com/wiki/Manual:HTB

[The harder part]
Please help adjusting my Mangle rules to incorporate the WiFi AP address list, [wifi_ap_addr_list].
I assume that I basically have to create duplicates where needed.

Here is my mange rules that need to be altered:

/ip firewall mangle
add action=mark-connection chain=prerouting comment=DNS connection-state=new new-connection-mark=DNS passthrough=yes port=\
    53 protocol=udp
add action=mark-packet chain=prerouting connection-mark=DNS new-packet-mark=DNS passthrough=no
add action=mark-connection chain=postrouting connection-state=new new-connection-mark=DNS passthrough=yes port=53 \
    protocol=udp
add action=mark-packet chain=postrouting connection-mark=DNS new-packet-mark=DNS passthrough=no
add action=mark-connection chain=prerouting comment=VOIP new-connection-mark=VOIP passthrough=yes port=\
    5060-5062,10000-20000 protocol=udp
add action=mark-packet chain=prerouting connection-mark=VOIP new-packet-mark=VOIP passthrough=no
add action=mark-connection chain=prerouting comment=QUIC connection-state=new new-connection-mark=QUIC passthrough=yes \
    port=80,443 protocol=udp
add action=mark-packet chain=prerouting connection-mark=QUIC new-packet-mark=QUIC passthrough=no
add action=mark-connection chain=prerouting comment=UDP connection-state=new new-connection-mark=UDP passthrough=yes \
    protocol=udp
add action=mark-packet chain=prerouting connection-mark=UDP new-packet-mark=UDP passthrough=no
add action=mark-connection chain=prerouting comment=ICMP connection-state=new new-connection-mark=ICMP passthrough=yes \
    protocol=icmp
add action=mark-packet chain=prerouting connection-mark=ICMP new-packet-mark=ICMP passthrough=no
add action=mark-connection chain=postrouting connection-state=new new-connection-mark=ICMP passthrough=yes protocol=icmp
add action=mark-packet chain=postrouting connection-mark=ICMP new-packet-mark=ICMP passthrough=no
add action=mark-packet chain=postrouting comment=ACK new-packet-mark=ACK packet-size=0-123 passthrough=no protocol=tcp \
    tcp-flags=ack
add action=mark-packet chain=prerouting new-packet-mark=ACK packet-size=0-123 passthrough=no protocol=tcp tcp-flags=ack
add action=mark-connection chain=prerouting comment=HTTP connection-mark=no-mark connection-state=new new-connection-mark=\
    HTTP passthrough=yes port=80,443 protocol=tcp
add action=mark-connection chain=prerouting connection-bytes=5000000-0 connection-mark=HTTP connection-rate=2M-100M \
    new-connection-mark=HTTP_BIG passthrough=yes protocol=tcp
add action=mark-packet chain=prerouting connection-mark=HTTP_BIG new-packet-mark=HTTP_BIG passthrough=no
add action=mark-packet chain=prerouting connection-mark=HTTP new-packet-mark=HTTP passthrough=no
add action=mark-connection chain=prerouting comment=OTHER connection-state=new new-connection-mark=POP3 passthrough=yes \
    port=995,465,587 protocol=tcp
add action=mark-packet chain=prerouting connection-mark=POP3 new-packet-mark=OTHER passthrough=no
add action=mark-connection chain=prerouting connection-mark=no-mark new-connection-mark=OTHER passthrough=yes
add action=mark-packet chain=prerouting connection-mark=OTHER new-packet-mark=OTHER passthrough=no