Hotspot with multiple dhcp profiles for QOS

I want to setup a hotspot using my Radius server which sells different types of Internet Service, and then based on that service you would be assigned a certain IP and be placed in a certain PCQ queue. This would be done with multiple routers managed by one router connected to the Internet. Is it possible for a hotspot to have multiple DHCP servers, which then you could give different priorities too based on the IP? Or is there a better way to use QOS to give priority to different Internet Services?

Like so:

Service 1 - 4M/1M - Priority 1 - DHCP Pool 1
Service 2 - 2M/1M - Priority 2 - DHCP Pool 2
Service 3 - 1M/768k - Priority 3 - DHCP Pool 3

Then create the PCQ based the IP address range from the DHCP pool giving the priorities as needed.

Am I missing something or would their be a better way to prioritize traffic based on different Internet packages?

Thank you.

I don’t think you can do that via DHCP pools since you don’t know what the user will log in as at the time of DHCP assignment.

But if you read this thread: http://forum.mikrotik.com/t/request-for-change-in-hotspot-settings/33141/1

It documents a new RADIUS attribute and how to use it to get Hotspots running on PCQ instead of simple queues.

If, however, you don’t really need PCQ and just need to use RADIUS to assign different bandwidth limitations, it’s considerably easier to use Mikrotik-Group or Mikrotik-Rate-Limit RADIUS attributes instead to have the router create dynamic simple queues.

I read through that forum which was somewhat helpful, but I guess the bigger question I have would be:

What is the best way to handle QOS and priorities when you are selling different bandwidth packages?
The Radius Server would handle all bandwidth allocations, but I want to ensure the routers do this efficiently.

Maybe it makes more sense to forget about Priorities amongst the different packages, and just setup QOS to favor VOIP, DNS, and other important services and set lower priorities for P2P and other heavy bandwidth services?

Hotspots out of the box do not do any QoS whatsoever. A default Hotspot simply implements simple queues that police traffic by IP address to be a specific rate limit. Since Hotspots queues are client specific, it often makes sense to not worry about QoS since a client can only starve himself and doesn’t influence other people’s traffic.

That said, if you wanted to QoS by protocol across different packages, I think you’d be best off following that discussion and expanding it to implement sub-queues per Hotspot profile PCQ queue to give priority to specific protocols. You’d be marking much like in that thread but applying specific marks to protocol by address-list to assign priorities in queues. Personally I wouldn’t worry about priorities between different packages sold to end users - just because a guy paid you less money than another doesn’t mean his traffic should be discarded with a higher probability. He should receive a lower rate limit, though. At the end of the day he paid for the service. But if you wanted to implement that, you’d simply start attaching the Hotspot profile PCQ queues to a queue attached to global-in and global-out and assign priorities accordingly. It just changes the parent of the profile PCQ queues to do so.