Yes!!
I think a good way could be put a "radio contention" field in profile definition,
(in add to RX / TX rate fields).
I think this "script" (that already using with PERL::NET::SSh scripts outer from routerOS),
in something way like this:
On "queue simple profile" (or whatever), if we create a "simple queue profile" called:
"users sharing 64/128k", with ratio_contention=4 and RX/TX=64k/128k, RouterOS must create a
queue simple (64k /128k), with space to allocate only 4 "IP Targets".
Later, when I create users (from usermanager or wherever), I put in "group" (or a new field)
a reference to "queue simple profile".
Whit this, I can divide my total bandwidth without make dirty work to create by hand simple
queues.
Example:
First, create a queue simple profile called "USERS 64/128", with TX/RX = 64k/128k and RATIO_CONTENTION=4
Next I create in userman this users:
USER 1, group "USERS 64/128" (here routerOS must create a simple queue)
USER 2, group "USERS 64/128"
USER 3, group "USERS 64/128"
USER 4, group "USERS 64/128"
USER 5, group "USERS 64/128" (here routerOS must create a simple queue again)
USER 6, group "USERS 64/128"
USER 7, group "USERS 64/128"
USER 8 , group "USERS 64/128"
USER 9, group "USERS 64/128" (here routerOS must create a simple queue again)
and USER 10, group "USERS 64/128"
RouterOS must to create next simple queues
QUEUE 1: 64k / 128k , Targets User1, user2, user4, user4 (remember ratio contention=4)
with PCQ in order to share bandwidth fairly.
QUEUE 2: 64k / 128k , Targets User5, user6, user7, user8,
QUEUE 3: 64k / 128k , Targets User8, user 10 (and have 2 free slots in this profile)
Every time that I create a user with group "users 64/128", RouterOS must verify
if last queue created with that profile have space to allocate a new IP in target,
(cheking targets already allocated and ratio_contention).
If ( num of targets allocated by this queue ) < ratio_contention
{
put this user in this queue
}
else
{
create a new simple (and dynamic) queue with tx/rx = 64k/128k and ratio_contetion=4
}
Also, when first user is created, router Os must create first (dynamic) simple queue.
What do you think about this idea? 