Community discussions

MikroTik App
 
User avatar
c0d3rSh3ll
Long time Member
Long time Member
Topic Author
Posts: 557
Joined: Mon Jul 25, 2011 9:42 pm
Location: [admin@Chile] >

Question about global in queue tree V6.x

Sat Sep 29, 2012 10:00 pm

Hi support team.

what is the reason for delete global-in, global-out and global-total and replace with global?

What happened with QoS by Megis?

http://mum.mikrotik.com/presentations/U ... is_qos.pdf
 
rmichael
Forum Veteran
Forum Veteran
Posts: 718
Joined: Sun Mar 08, 2009 11:00 pm

Re: Question about global in queue tree V6.x

Tue Oct 02, 2012 6:18 am

Good question. I also use global-in, global-out and global-total extensively so I'd really like to hear how would I be able to run packets through queue tree two or three times in ROSv6?
 
hel
Member Candidate
Member Candidate
Posts: 199
Joined: Sun Jun 12, 2011 6:31 am
Location: Kirov, Russia

Re: Question about global in queue tree V6.x

Tue Oct 02, 2012 1:49 pm

I have 3 LAN connected to my RB, so I don't have any idea on how to prioritize and limit users in that scenario (global-total and interfaces only).
 
User avatar
c0d3rSh3ll
Long time Member
Long time Member
Topic Author
Posts: 557
Joined: Mon Jul 25, 2011 9:42 pm
Location: [admin@Chile] >

Re: Question about global in queue tree V6.x

Wed Oct 10, 2012 1:51 am

up... waiting for a reply...
 
User avatar
NetworkPro
Forum Guru
Forum Guru
Posts: 1376
Joined: Mon Jan 05, 2009 6:23 pm
Location: bit.ly/the-qos
Contact:

Re: Question about global in queue tree V6.x

Fri Oct 12, 2012 10:32 am

Janis gives this info here http://tiktube.com/video/IJfq3ioIeGIoDE ... uIlooDIpK=

I support MikroTik with their optimisation decision.

We can do fine without dual queue-ing in one box. Janis' dual QoS with PCQ can be re-invented to a single step solution - just put the PCQ as a queueing in the first step and make additional adjustments to the Queue Tree design.
 
hel
Member Candidate
Member Candidate
Posts: 199
Joined: Sun Jun 12, 2011 6:31 am
Location: Kirov, Russia

Re: Question about global in queue tree V6.x

Fri Oct 12, 2012 3:29 pm

dual QoS with PCQ can be re-invented to a single step solution - just put the PCQ as a queueing in the first step and make additional adjustments to the Queue Tree design.
Dual QoS is a myth on mikrotik. :)
 
rmichael
Forum Veteran
Forum Veteran
Posts: 718
Joined: Sun Mar 08, 2009 11:00 pm

Re: Question about global in queue tree V6.x

Fri Oct 12, 2012 3:45 pm

I wonder if I'm the only one using 3 queues (in, total and out) for bandwidth limiting. I'll definitively miss extra queues it in V6.

Sure you may find workarounds for Janis QoS example but the workaround would clash if you're already using htb for other things.

Story of my life:
I've made QoS based on Nth in V4...it worked until v5 broke it (I simulate PCQ/SFQ using nth which randomly resets itself in v5)
I've made QoS based on three queues to replace nth in V5...which I will not be able to port to V6

time to move to EdgeMAX :lol:
 
User avatar
NetworkPro
Forum Guru
Forum Guru
Posts: 1376
Joined: Mon Jan 05, 2009 6:23 pm
Location: bit.ly/the-qos
Contact:

Re: Question about global in queue tree V6.x

Fri Oct 12, 2012 3:51 pm

Dual Queue-ing/shaping is Real until v6 where we have Global instead of Global-In/-Out/-Total . If user hel above do not believe this then he can do/go whatever/wherever he wants, no one cares.
 
User avatar
macgaiver
Forum Guru
Forum Guru
Posts: 1764
Joined: Wed May 18, 2005 5:57 pm
Location: Sol III, Sol system, Sector 001, Alpha Quadrant

Re: Question about global in queue tree V6.x

Fri Oct 12, 2012 4:33 pm

Only change that is in v6 compared to v5 is that there are no more HTBs separated by mangle. So remarking is not possible.

Simple queue functionality remains the same just faster - you can still use limit for download, upload and total.

Currently in v6 you can repeat double QoS system by creating small simple queue tree for each user.

/queue simple
add target=192.168.1.1/32 burst-limit=100M/100M burst-threshold=10M/10M burst-time=1m/1m limit-at=2M/2M max-limit=10M/10M
add limit-at=500k/500k max-limit=1M/1M packet-marks=priority1_mark parent=queue1 priority=1/1 target=ether1_local total-priority=1
add limit-at=500k/500k max-limit=1M/1M packet-marks=priority4_mark parent=queue1 priority=4/4 target=ether1_local total-priority=4
add limit-at=500k/500k max-limit=3M/3M packet-marks=priority2_mark parent=queue1 priority=2/2 target=ether1_local total-priority=2
add limit-at=500k/500k max-limit=5M/5M packet-marks=priority6_mark parent=queue1 priority=6/6 target=ether1_local total-priority=6

As number of simple queue are not relevant anymore then you can have thousands of them and you can easily create this with script for large number of addresses. as only thing that changes are target address on parent interface.

:for i from=1 to 2 do={
:for j from=1 to 100 do={
/queue simple
add target="192.168.$i.$j/32" name=("client".($i*100+$j)) burst-limit=100M/100M burst-threshold=10M/10M burst-time=1m/1m limit-at=2M/2M max-limit=10M/10M
add limit-at=500k/500k max-limit=1M/1M packet-marks=priority1_mark parent=("client".($i*100+$j)) priority=1/1 target=ether1_local total-priority=1
add limit-at=500k/500k max-limit=1M/1M packet-marks=priority4_mark parent=("client".($i*100+$j)) priority=4/4 target=ether1_local total-priority=4
add limit-at=500k/500k max-limit=3M/3M packet-marks=priority2_mark parent=("client".($i*100+$j)) priority=2/2 target=ether1_local total-priority=2
add limit-at=500k/500k max-limit=5M/5M packet-marks=priority6_mark parent=("client".($i*100+$j)) priority=6/6 target=ether1_local total-priority=6
}
}


Something like this - (i just wanted to show principle, you can create your own small trees)

And, whalla, you have double QoS again only in same chain and you only need few packet marks
 
hel
Member Candidate
Member Candidate
Posts: 199
Joined: Sun Jun 12, 2011 6:31 am
Location: Kirov, Russia

Re: Question about global in queue tree V6.x

Fri Oct 12, 2012 4:53 pm

Dual Queue-ing/shaping is Real
Can you give me a proof that even in one small scenario dual qos on mikrotik would be effective?
 
rmichael
Forum Veteran
Forum Veteran
Posts: 718
Joined: Sun Mar 08, 2009 11:00 pm

Re: Question about global in queue tree V6.x

Fri Oct 12, 2012 6:10 pm

Dual Queue-ing/shaping is Real
Can you give me a proof that even in one small scenario dual qos on mikrotik would be effective?
It works when you need to limit individual users's bandwidth and at the same time control his/her flows like VoIP, www and p2p. What is there to prove? If that's what you're after, it works.
 
hel
Member Candidate
Member Candidate
Posts: 199
Joined: Sun Jun 12, 2011 6:31 am
Location: Kirov, Russia

Re: Question about global in queue tree V6.x

Fri Oct 12, 2012 6:35 pm

It works when you need to limit individual users's bandwidth and at the same time control his/her flows like VoIP, www and p2p. What is there to prove? If that's what you're after, it works.
You're mentioning per-user prioritization, which is not possible on mikrotik.
 
rmichael
Forum Veteran
Forum Veteran
Posts: 718
Joined: Sun Mar 08, 2009 11:00 pm

Re: Question about global in queue tree V6.x

Fri Oct 12, 2012 7:34 pm

It works when you need to limit individual users's bandwidth and at the same time control his/her flows like VoIP, www and p2p. What is there to prove? If that's what you're after, it works.
You're mentioning per-user prioritization, which is not possible on mikrotik.
It's possible as long each user is assigned unique IP address which is common.
 
User avatar
macgaiver
Forum Guru
Forum Guru
Posts: 1764
Joined: Wed May 18, 2005 5:57 pm
Location: Sol III, Sol system, Sector 001, Alpha Quadrant

Re: Question about global in queue tree V6.x

Mon Oct 15, 2012 2:40 pm

to hel: i kinda gave you per-user-prioritization in simple queues for v6 i my previous post on this topic.
 
bawolek
Frequent Visitor
Frequent Visitor
Posts: 61
Joined: Thu Mar 29, 2007 3:33 pm
Location: Poland/Wroclaw

Re: Question about global in queue tree V6.x

Mon Oct 15, 2012 11:53 pm

ok so in v6 I can't build double tree (it's doesn't matter where in queue tree or queue simple) > one tree for traffic prioritization (global-in) and second tree for client limitation (global-out) or interface...
I'm not interested in the penetration of a single client bandwidth, My goal is to take care of the whole band at the peak load
but in v6 I can't do it ...
this is very disappointing
 
User avatar
NetworkPro
Forum Guru
Forum Guru
Posts: 1376
Joined: Mon Jan 05, 2009 6:23 pm
Location: bit.ly/the-qos
Contact:

Re: Question about global in queue tree V6.x

Tue Oct 16, 2012 5:06 am

You should be able to do what you want/need/have now in v5 with the new v6. Please give us the goals of the current Queue Tree/paste current current Queue Tree configuration and we will assist.
 
bawolek
Frequent Visitor
Frequent Visitor
Posts: 61
Joined: Thu Mar 29, 2007 3:33 pm
Location: Poland/Wroclaw

Re: Question about global in queue tree V6.x

Tue Oct 16, 2012 10:08 am

this is from router with adsl connection, with couple of clients (neighbors), two interfaces (LAN, WAN), and with masquerade
/ip firewall mangle
add action=accept chain=prerouting comment=urzadzenia_local disabled=no src-address-list=URZADZENIA
add action=mark-packet chain=prerouting comment=syn disabled=no dst-port=80,443,110,995,25,20,21,5060-5061 in-interface=!WAN new-packet-mark=1u packet-size=0-666 passthrough=no \
    protocol=tcp tcp-flags=syn
add action=mark-packet chain=prerouting disabled=no in-interface=WAN new-packet-mark=1d packet-size=0-666 passthrough=no protocol=tcp src-port=80,443,110,995,25,20,21,5060-5061 \
    tcp-flags=syn
add action=mark-packet chain=prerouting comment=ack disabled=no dst-port=80,443,110,995,25,20,21,5060-5061 in-interface=!WAN new-packet-mark=1u packet-size=0-123 passthrough=no \
    protocol=tcp tcp-flags=ack
add action=mark-packet chain=prerouting disabled=no in-interface=WAN new-packet-mark=1d packet-size=0-123 passthrough=no protocol=tcp src-port=80,443,110,995,25,20,21,5060-5061 \
    tcp-flags=ack
add action=mark-connection chain=prerouting comment=wazne_1 disabled=no new-connection-mark=1 passthrough=yes protocol=icmp
add action=mark-connection chain=prerouting disabled=no new-connection-mark=1 passthrough=yes port=53 protocol=udp
add action=mark-connection chain=prerouting disabled=no new-connection-mark=1 passthrough=yes port=22,53,8291,6610,12000,10020,7654 protocol=tcp
add action=mark-packet chain=prerouting connection-mark=1 disabled=no in-interface=WAN new-packet-mark=1d passthrough=no
add action=mark-packet chain=prerouting disabled=no in-interface=WAN new-packet-mark=1d passthrough=no protocol=icmp
add action=mark-packet chain=prerouting connection-mark=1 disabled=no new-packet-mark=1u passthrough=no
add action=mark-packet chain=prerouting disabled=no new-packet-mark=1u passthrough=no protocol=icmp
add action=mark-connection chain=prerouting comment="oczekiwania ludzi 3" disabled=no dst-address-list=PRIO_3 new-connection-mark=3 passthrough=yes
add action=mark-connection chain=prerouting disabled=no new-connection-mark=3 passthrough=yes src-address-list=PRIO_3
add action=mark-connection chain=prerouting disabled=no layer7-protocol=youtube new-connection-mark=3 passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting disabled=no layer7-protocol=wrzuta new-connection-mark=3 passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting disabled=no new-connection-mark=3 passthrough=yes port=27000-27030,27058,27056,1200 protocol=udp
add action=mark-connection chain=prerouting disabled=no new-connection-mark=3 passthrough=yes port=27010-27042,27058,27056,1200,110,995,25 protocol=tcp
add action=mark-connection chain=prerouting disabled=no new-connection-mark=3 passthrough=yes port=5350,8767,8769,27058,27071,27900,27901,27910,27960,28960,7171,44606,53422 \
    protocol=udp
add action=mark-connection chain=prerouting disabled=no layer7-protocol=counterstrike-source new-connection-mark=3 passthrough=yes
add action=mark-connection chain=prerouting disabled=no layer7-protocol=halflife2-deathmatch new-connection-mark=3 passthrough=yes
add action=mark-packet chain=prerouting connection-mark=3 disabled=no in-interface=WAN new-packet-mark=3d passthrough=no
add action=mark-packet chain=prerouting connection-mark=3 disabled=no new-packet-mark=3u passthrough=no
.
.
.
.
and the same (but different protocols / ports etc) until 8d/8u
.
.
.
then in forward :
add action=accept chain=forward disabled=no protocol=icmp
add action=accept chain=forward comment="urzadzenia" disabled=no dst-address-list=URZADZENIA
add action=accept chain=forward disabled=no src-address-list=URZADZENIA
add action=mark-packet chain=forward comment=syn disabled=no in-interface=!WAN new-packet-mark=dopal-u packet-size=0-666 passthrough=no protocol=tcp tcp-flags=syn
add action=mark-packet chain=forward disabled=no in-interface=WAN new-packet-mark=dopal-d packet-size=0-666 passthrough=no protocol=tcp tcp-flags=syn
add action=mark-packet chain=forward comment=ack disabled=no in-interface=!WAN new-packet-mark=dopal-u packet-size=0-123 passthrough=no protocol=tcp tcp-flags=ack
add action=mark-packet chain=forward disabled=no in-interface=WAN new-packet-mark=dopal-d packet-size=0-123 passthrough=no protocol=tcp tcp-flags=ack
add action=mark-packet chain=forward comment=dns disabled=no in-interface=!WAN new-packet-mark=dopal-u passthrough=no port=53 protocol=udp
add action=mark-packet chain=forward disabled=no new-packet-mark=dopal-d out-interface=!WAN passthrough=no port=53 protocol=udp
add action=mark-connection chain=forward disabled=no new-connection-mark=dopal passthrough=yes port=80,443 protocol=tcp
add action=mark-packet chain=forward connection-bytes=0-2000 connection-mark=dopal disabled=no in-interface=WAN new-packet-mark=dopal-d passthrough=no protocol=tcp
add action=mark-packet chain=forward connection-bytes=0-1000 connection-mark=dopal disabled=no in-interface=!WAN new-packet-mark=dopal-u passthrough=no protocol=tcp
add action=mark-connection chain=forward comment=ludzie disabled=no new-connection-mark=lud passthrough=yes src-address-list=ludzie
add action=mark-connection chain=forward disabled=no dst-address-list=ludzie new-connection-mark=lud passthrough=yes
add action=mark-packet chain=forward connection-mark=lud disabled=no in-interface=WAN new-packet-mark=ludzie-d passthrough=no
add action=mark-packet chain=forward connection-mark=lud disabled=no new-packet-mark=ludzie-u out-interface=WAN passthrough=no
/queue type
/queue type
set 0 kind=pfifo name=default pfifo-limit=50
set 1 kind=pfifo name=ethernet-default pfifo-limit=50
set 2 kind=sfq name=wireless-default sfq-allot=1514 sfq-perturb=5
set 3 kind=red name=synchronous-default red-avg-packet=1000 red-burst=20 red-limit=60 red-max-threshold=50 red-min-threshold=10
set 4 kind=sfq name=hotspot-default sfq-allot=1514 sfq-perturb=5
add kind=pcq name=up_all pcq-burst-rate=0 pcq-burst-threshold=0 pcq-burst-time=10s pcq-classifier=src-address pcq-dst-address-mask=32 pcq-dst-address6-mask=128 pcq-limit=40 \
    pcq-rate=95k pcq-src-address-mask=32 pcq-src-address6-mask=128 pcq-total-limit=2000
add kind=pcq name=dl_full pcq-burst-rate=2950k pcq-burst-threshold=1200k pcq-burst-time=12s pcq-classifier=dst-address pcq-dst-address-mask=32 pcq-dst-address6-mask=128 \
    pcq-limit=40 pcq-rate=2M pcq-src-address-mask=32 pcq-src-address6-mask=128 pcq-total-limit=2000
add kind=sfq name=SFQ sfq-allot=1514 sfq-perturb=5
set 8 kind=none name=only-hardware-queue
set 9 kind=mq-pfifo mq-pfifo-limit=50 name=multi-queue-ethernet-default
set 10 kind=pfifo name=default-small pfifo-limit=10
and queue tree, for traffic prioritization parent is global-in, I use masquerade so for client limitation parent is global-out:
/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=450k name=UP-TOTAL packet-mark="" parent=global-out priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=3900k name=DW-TOTAL packet-mark="" parent=global-out priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=457k name=USLUGI_ALL_UP packet-mark="" parent=global-in priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=3800k name=USLUGI_ALL_DW packet-mark="" parent=global-in priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=150k max-limit=720k name=n1d packet-mark=1d parent=USLUGI_ALL_DW priority=1 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=600k max-limit=3700k name=n3d packet-mark=3d parent=USLUGI_ALL_DW priority=3 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=90k max-limit=200k name=n1u packet-mark=1u parent=USLUGI_ALL_UP priority=1 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=80k max-limit=300k name=n3u packet-mark=3u parent=USLUGI_ALL_UP priority=3 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=3700k name=DW_reszta packet-mark="" parent=USLUGI_ALL_DW priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=450k name=UP_reszta packet-mark="" parent=USLUGI_ALL_UP priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=200k max-limit=2M name=n5d packet-mark=5d parent=DW_reszta priority=5 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=50k max-limit=400k name=n5u packet-mark=5u parent=UP_reszta priority=5 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=1M max-limit=3800k name=Reszta-D packet-mark=ludzie-d parent=DW-TOTAL priority=4 queue=dl_full
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=100k max-limit=440k name=Reszta-U packet-mark=ludzie-u parent=UP-TOTAL priority=5 queue=up_all
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=400k max-limit=3600k name=dopal-d packet-mark=dopal-d parent=DW-TOTAL priority=2 queue=SFQ
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=100k max-limit=440k name=dopal-u packet-mark=dopal-u parent=UP-TOTAL priority=2 queue=SFQ
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=3200k name=n6d packet-mark=6d parent=DW_reszta priority=6 queue=SFQ
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=50k max-limit=400k name=n6u packet-mark=6u parent=UP_reszta priority=6 queue=SFQ
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=3700k name=n8d packet-mark=8d parent=DW_reszta priority=8 queue=SFQ
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=400k name=n8u packet-mark=8u parent=UP_reszta priority=8 queue=SFQ
 
bawolek
Frequent Visitor
Frequent Visitor
Posts: 61
Joined: Thu Mar 29, 2007 3:33 pm
Location: Poland/Wroclaw

Re: Question about global in queue tree V6.x

Wed Oct 17, 2012 11:04 am

so NetworkPro, macgaiver... anybody has a ideas how to apply this solution from v5 to v6 ;p ?
maybe in v6 we can do this in the same time and place ... in global :P ?

In attached jpeg are print screens for better "analyze"


Image
Image
Image
Image
 
User avatar
NetworkPro
Forum Guru
Forum Guru
Posts: 1376
Joined: Mon Jan 05, 2009 6:23 pm
Location: bit.ly/the-qos
Contact:

Re: Question about global in queue tree V6.x

Wed Oct 17, 2012 11:50 pm

I think you can attach the Queue Trees on the interfaces HTBs + Global (mark unidirectional).
 
bawolek
Frequent Visitor
Frequent Visitor
Posts: 61
Joined: Thu Mar 29, 2007 3:33 pm
Location: Poland/Wroclaw

Re: Question about global in queue tree V6.x

Thu Oct 18, 2012 12:45 am

I think no, I was tried this and it's doesn't work fine :/
 
User avatar
NetworkPro
Forum Guru
Forum Guru
Posts: 1376
Joined: Mon Jan 05, 2009 6:23 pm
Location: bit.ly/the-qos
Contact:

Re: Question about global in queue tree V6.x

Thu Oct 18, 2012 9:55 am

I believe if we put a Queue Tree on the LAN interface for Download customers max-limit, one Queue Tree on the WAN interface for upload customers max-limit we will still have the Global to put two more Queue Trees - one for upload QoS and one for Download QoS. (separate upload/download packet marks needed)

But macgaivers example is cooler I think - move the QoS to each customer's "Simple Queue" turning the Simple Queue to a HTB structure with QoS per customer. Now that this is optimised in v6.

ros code

/queue tree
add max-limit=450k name=UP-TOTAL parent=WAN
add max-limit=3900k name=DW-TOTAL parent=LAN
add max-limit=457k name=USLUGI_ALL_UP parent=global
add max-limit=3800k name=USLUGI_ALL_DW parent=global
add limit-at=150k max-limit=720k name=n1d packet-mark=1d parent=USLUGI_ALL_DW priority=1 queue=default
add limit-at=600k max-limit=3700k name=n3d packet-mark=3d parent=USLUGI_ALL_DW priority=3 queue=default
add limit-at=90k max-limit=200k name=n1u packet-mark=1u parent=USLUGI_ALL_UP priority=1 queue=default
add limit-at=80k max-limit=300k name=n3u packet-mark=3u parent=USLUGI_ALL_UP priority=3 queue=default
add max-limit=3700k name=DW_reszta parent=USLUGI_ALL_DW
add max-limit=450k name=UP_reszta parent=USLUGI_ALL_UP
add limit-at=200k max-limit=2M name=n5d packet-mark=5d parent=DW_reszta priority=5 queue=default
add limit-at=50k max-limit=400k name=n5u packet-mark=5u parent=UP_reszta priority=5 queue=default
add limit-at=1M max-limit=3800k name=Reszta-D packet-mark=ludzie-d parent=DW-TOTAL priority=4 queue=pcq-download-default
add limit-at=100k max-limit=440k name=Reszta-U packet-mark=ludzie-u parent=UP-TOTAL priority=5 queue=pcq-upload-default
add limit-at=400k max-limit=3600k name=dopal-d packet-mark=dopal-d parent=DW-TOTAL priority=2 queue=wireless-default
add limit-at=100k max-limit=440k name=dopal-u packet-mark=dopal-u parent=UP-TOTAL priority=2 queue=wireless-default
add max-limit=3200k name=n6d packet-mark=6d parent=DW_reszta priority=6 queue=wireless-default
add limit-at=50k max-limit=400k name=n6u packet-mark=6u parent=UP_reszta priority=6 queue=wireless-default
add max-limit=3700k name=n8d packet-mark=8d parent=DW_reszta queue=wireless-default
add max-limit=400k name=n8u packet-mark=8u parent=UP_reszta queue=wireless-default
But the stuff attached to global is Invalid in the current 6.0rc2 dev build ? :|
QueueTreeInvalid.png
You do not have the required permissions to view the files attached to this post.
 
bawolek
Frequent Visitor
Frequent Visitor
Posts: 61
Joined: Thu Mar 29, 2007 3:33 pm
Location: Poland/Wroclaw

Re: Question about global in queue tree V6.x

Thu Oct 18, 2012 1:12 pm

macgaivers example isn't cooler for me I don't want to penetration of a single client bandwidth,
No self-respecting network (and network that respecting their customers) does not doing this.
this is a customer choice what he's doing with his bandwidth
our goal is to carry of whole network bandwidth (when we have a many customers online we have to carry that all services must work on the same good level)

macgyver's solution has another big problem when I create tree for everyone customers separately, I can't use PCQ for limitation.
now for example we have 10Mbit/5Mbit
and for example 10 customers (friends ;p) and no one wants strict 1Mbit max..
so we create for example pcq type queue with rate 7Mbit so if on-line is only 1 client he has 7Mbit ... if 2 clients are on-line they have 5Mbit and.....
PCQ works in this situation perfectly ! and very fast modifies the rate of customer (this is on-line :) )

So PCQ with global tree (whole network) services prioritization we have good solution ...

with trees in simple queue for everyone customers separately this is impossible

maybe is possible but I can't imagine what complicate must be simple queues and how many queues we have to creates (and we now that if queues are more complicated and we have many of queues we have worse "ping", jitter, delay for services ... we must have more efficient hardware etc....

so if I can't do this in V6, I will don't buy MT in the future and this will by one more reason to choose for example EdgeRouter (UBNT) with open linux when I can do what I want ...
 
User avatar
NetworkPro
Forum Guru
Forum Guru
Posts: 1376
Joined: Mon Jan 05, 2009 6:23 pm
Location: bit.ly/the-qos
Contact:

Re: Question about global in queue tree V6.x

Thu Oct 18, 2012 1:32 pm

We have this choice I agree with having freedom to choose.

The Simple Queues have a parent setting so all client's SQs will be under one parent, this way they should reach the max-limit of their parent.

This is just again HTB "Queue Tree" structure but it was called "Simple Queue" to make us think it is easy to accomplish what we want :lol:

As for "client chooses what to do with their bandwidth" this is not a pragmatic view because the client says " why u no prioritise my game traffic, I go to other ISP now!".
 
bawolek
Frequent Visitor
Frequent Visitor
Posts: 61
Joined: Thu Mar 29, 2007 3:33 pm
Location: Poland/Wroclaw

Re: Question about global in queue tree V6.x

Thu Oct 18, 2012 2:19 pm

I only want use pcq for client limitation (grouping customers in they rates for big networks, and dynamicaly limits in smal networks like my previous post) and global prioritization (whole network)
I don't want use one queue for one client... this is a reason why I use pcq

if developers from mikrotik abandoned idea with Dual Queue-ing/shaping this is very disappointing

mayby remarking is unnecessary for Dual Queue-ing/shaping in V6 ... but for this moment I don't now how do this without remarking and two places for queues

Jānis Meģis would be handy in this topic :D

As for "client chooses what to do with their bandwidth" this is not a pragmatic view because the client says " why u no prioritise my game traffic, I go to other ISP now!".
I use this view for several small networks with ADSL, for several with about 30-80Mbit and a several with 500-1200Mbit and everyone working fine (of course, each requiring individual optimization) but the idea of queue-ing is the same. and in the commercial networks with this idea customers are happy and there are more and more customers :) so I think this is good road to go ;p

I just like simple and effective solutions :)
Last edited by bawolek on Thu Oct 18, 2012 2:44 pm, edited 1 time in total.
 
linek1980
newbie
Posts: 34
Joined: Thu Feb 03, 2011 1:39 pm

Re: Question about global in queue tree V6.x

Thu Oct 18, 2012 2:35 pm

I only want use pcq for client limitation (grouping customers in they rates for big networks, and dynamicaly limits in smal networks like my previous post) and global prioritization (whole network)
I don't want use one queue for one client... this is a reason why I use pcq

if developers from mikrotik abandoned idea with Dual Queue-ing/shaping this is very disappointing
+1
 
User avatar
NetworkPro
Forum Guru
Forum Guru
Posts: 1376
Joined: Mon Jan 05, 2009 6:23 pm
Location: bit.ly/the-qos
Contact:

Re: Question about global in queue tree V6.x

Thu Oct 18, 2012 2:43 pm

We can use SQ for a subnet with queue type PCQ.
 
bawolek
Frequent Visitor
Frequent Visitor
Posts: 61
Joined: Thu Mar 29, 2007 3:33 pm
Location: Poland/Wroclaw

Re: Question about global in queue tree V6.x

Thu Oct 18, 2012 2:51 pm

We can use SQ for a subnet with queue type PCQ.
and I must use on one AP's a several subnets (subntes as much as tariffs I sell to customers on each ap's ) because each commercial networks are... with routing of corse ;p....... no thanks I'm using address-lists for grouping that, this is scalable solution

but I known in v6...If I use mangle for traffic ... and use it in tree for services then I can't mark it agin for ... limitation ....and the circle is closed :(
 
User avatar
NetworkPro
Forum Guru
Forum Guru
Posts: 1376
Joined: Mon Jan 05, 2009 6:23 pm
Location: bit.ly/the-qos
Contact:

Re: Question about global in queue tree V6.x

Thu Oct 18, 2012 3:02 pm

Test this when stable v6 gets out. ;)
 
bawolek
Frequent Visitor
Frequent Visitor
Posts: 61
Joined: Thu Mar 29, 2007 3:33 pm
Location: Poland/Wroclaw

Re: Question about global in queue tree V6.x

Thu Oct 18, 2012 3:32 pm

one more thing about
We can use SQ for a subnet with queue type PCQ.
what about this... (typical situation) ....for example we have 20 routers/AP's they are connected to backbone network, on each router/AP's we has subnet /24 for clients... of course on each router we have different subnet..... and of course on each router/AP clients have different tariffs (couple have 2/2Mbit couple have 3/1Mbit ....), but they are in the same subnet on AP :)

so how to use
We can use SQ for a subnet with queue type PCQ.
in this situation .....this is .... useless ... for grouping we have address-lists

PCQ as we known works good if we grouping to one group as many as possible the same type of traffic (tarffis etc...)
queues where we have couple the same groups but in different queue and every queues is pcq is ... meaningless
Last edited by bawolek on Thu Oct 18, 2012 3:40 pm, edited 1 time in total.
 
User avatar
NetworkPro
Forum Guru
Forum Guru
Posts: 1376
Joined: Mon Jan 05, 2009 6:23 pm
Location: bit.ly/the-qos
Contact:

Re: Question about global in queue tree V6.x

Thu Oct 18, 2012 3:40 pm

We can use address-list to mark packets and use the packet mark for SQs :D
Last edited by NetworkPro on Tue Oct 23, 2012 2:19 pm, edited 2 times in total.
 
bawolek
Frequent Visitor
Frequent Visitor
Posts: 61
Joined: Thu Mar 29, 2007 3:33 pm
Location: Poland/Wroclaw

Re: Question about global in queue tree V6.x

Thu Oct 18, 2012 3:42 pm

so we have to wait for stable V6

do You known why you have INVALID state in tree ? it's look like BUG in system
 
User avatar
NetworkPro
Forum Guru
Forum Guru
Posts: 1376
Joined: Mon Jan 05, 2009 6:23 pm
Location: bit.ly/the-qos
Contact:

Re: Question about global in queue tree V6.x

Thu Oct 18, 2012 4:14 pm

its a dev build I've asked them via e-mail if they do not reply I assume they are working on it.
 
User avatar
Chupaka
Forum Guru
Forum Guru
Posts: 8709
Joined: Mon Jun 19, 2006 11:15 pm
Location: Minsk, Belarus
Contact:

Re: Question about global in queue tree V6.x

Tue Oct 23, 2012 12:18 pm

I'm not sure I understand the problem... if you were using global-in and global-out with different packet marks, then changing parent to just 'global' should not change anything - you will mark in prerouting, packets will go to necessary queues, then you will remark in forward/postrouting, and packets will go to another queues for second stage of double-qos. that's how global-total works, according to manual )))

moreover (if you mark all traffic in both steps, so packet marks are changed between prerouting and postrouting), in v5 you should be able to change global-in/out to global-total, and everything should still work as earlier
 
bawolek
Frequent Visitor
Frequent Visitor
Posts: 61
Joined: Thu Mar 29, 2007 3:33 pm
Location: Poland/Wroclaw

Re: Question about global in queue tree V6.x

Tue Oct 23, 2012 12:32 pm

no Chupaka ... Currently (v6) double QoS is not possible
I tested it ( I was thought the same as you at start)..but it doesn't work is possible in v5 (and earlier) but not in v6

but you miss something ..in v6 you dont have two places for queues... only one on the end of chain.....
not two places (in the beginning ..global-in + prerouting for mangle, and second on the end global-out with forward for mangle)
we can't use two politics in one time .....if you do this ...you just lose yors mark from prerouting ... (remark without queueing)
in old politic you mark then queueing then second mark and second queueing

I corresponded with Janis Megis and he confirmed it.
currently they have some of directions, and are waiting for more feedback from customers and then they will decide on what to do
Last edited by bawolek on Tue Oct 23, 2012 12:42 pm, edited 1 time in total.
 
User avatar
Chupaka
Forum Guru
Forum Guru
Posts: 8709
Joined: Mon Jun 19, 2006 11:15 pm
Location: Minsk, Belarus
Contact:

Re: Question about global in queue tree V6.x

Tue Oct 23, 2012 12:41 pm

I'm watching that presentation, and... it sucks. I don't know why they say that 'global' is like 'global-total', the only similarity they have is that they both are in HTB %) 'global' has nothing to do with '-total', actually...

so, MT deceived me, I deceived you - I'm sorry :)
 
User avatar
normis
MikroTik Support
MikroTik Support
Posts: 26378
Joined: Fri May 28, 2004 11:04 am
Location: Riga, Latvia

Re: Question about global in queue tree V6.x

Mon Nov 05, 2012 2:02 pm

Thanks for your suggestions guys, we have addressed it:
http://forum.mikrotik.com/viewtopic.php?f=1&t=67037
 
linek1980
newbie
Posts: 34
Joined: Thu Feb 03, 2011 1:39 pm

Re: Question about global in queue tree V6.x

Wed Nov 07, 2012 2:13 pm

Could someone show how to do now qos the example given by bawolek?
 
cliusn
just joined
Posts: 2
Joined: Fri Sep 30, 2011 6:48 am
Location: jiangsu, China

Re: Question about global in queue tree V6.x

Wed Apr 03, 2013 2:38 pm

Look at the posts, I agree with bawolek's view.

'queue tree' of V6.x is very different with V5.x .
 
frost
just joined
Posts: 3
Joined: Wed Jul 17, 2013 5:19 pm

Re: Question about global in queue tree V6.x

Wed Jul 17, 2013 7:39 pm

Only change that is in v6 compared to v5 is that there are no more HTBs separated by mangle. So remarking is not possible.

Simple queue functionality remains the same just faster - you can still use limit for download, upload and total.

Currently in v6 you can repeat double QoS system by creating small simple queue tree for each user.

/queue simple
add target=192.168.1.1/32 burst-limit=100M/100M burst-threshold=10M/10M burst-time=1m/1m limit-at=2M/2M max-limit=10M/10M
add limit-at=500k/500k max-limit=1M/1M packet-marks=priority1_mark parent=queue1 priority=1/1 target=ether1_local total-priority=1
add limit-at=500k/500k max-limit=1M/1M packet-marks=priority4_mark parent=queue1 priority=4/4 target=ether1_local total-priority=4
add limit-at=500k/500k max-limit=3M/3M packet-marks=priority2_mark parent=queue1 priority=2/2 target=ether1_local total-priority=2
add limit-at=500k/500k max-limit=5M/5M packet-marks=priority6_mark parent=queue1 priority=6/6 target=ether1_local total-priority=6

As number of simple queue are not relevant anymore then you can have thousands of them and you can easily create this with script for large number of addresses. as only thing that changes are target address on parent interface.



Something like this - (i just wanted to show principle, you can create your own small trees)

And, whalla, you have double QoS again only in same chain and you only need few packet marks
Dear macgaiver
Your example doesnt work for me. When I create parent simple queue. Taget ip is limited, but whenever I create child queue with packet marks option. Only packet mark option traffic limited, Other traffic unlimited :shock: :( :(

Configuration:
[admin@MikroTik] /ip firewall mangle> print
Flags: X - disabled, I - invalid, D - dynamic
0 chain=prerouting action=mark-connection new-connection-mark=icmp_conn
passthrough=yes protocol=icmp

1 chain=prerouting action=mark-packet new-packet-mark=icmp passthrough=no
connection-mark=icmp_conn

[admin@MikroTik] /queue simple> print
Flags: X - disabled, I - invalid, D - dynamic
0 name="main" target=217.11.178.60/32 parent=none packet-marks=""
priority=8/8 queue=default-small/default-small limit-at=0/0
max-limit=256k/512k burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s

1 name="icmp" target=217.11.178.60/32 parent=main packet-marks=icmp
priority=1/1 queue=default-small/default-small limit-at=0/0
max-limit=240k/500k burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s
total-priority=1

Could you check my configuration ?

In above configuration only ICMP traffic is limited other traffic is unlimited
I really need help

version 6.2rc1
 
User avatar
macgaiver
Forum Guru
Forum Guru
Posts: 1764
Joined: Wed May 18, 2005 5:57 pm
Location: Sol III, Sol system, Sector 001, Alpha Quadrant

Re: Question about global in queue tree V6.x

Mon Jul 22, 2013 2:12 pm

You need to add another child queue for rest of the traffic and all will be OK
 
kimdonghwan
just joined
Posts: 13
Joined: Sat Feb 07, 2015 10:06 am

Re: Question about global in queue tree V6.x

Mon Mar 16, 2015 7:52 am

Dear Friends & Experts here,

i'm playing Counter Strike Online in my country, the official website has a tune-up script to reduce the latency (ping) and to prevent lag during the game.

The problem with the script is about Global-In & Global-Total, which has no problem in previous version of ROS.
i'm using ROS 6.27, everytime i enter the command, i got error: "input does not match any value of parent"

Please help me with this script (Bold text seems to be the problem):
Microtic Command :

/ip firewall mangle
add action=mark-packet chain=game connection-mark=CSO disabled=no \
new-packet-mark=Game_cso passthrough=no
add action=mark-packet chain=forward comment="SEMUA GAME DIPAKETKAN" \
connection-mark="GAME KONEKSI" disabled=yes new-packet-mark="GAME PAKET" \
passthrough=no
add action=mark-connection chain=prerouting comment="Counter Strike Koneksi UDP" \
disabled=yes dst-port=27005-27015 new-connection-mark="GAME KONEKSI" \
passthrough=no protocol=udp
add action=mark-connection chain=game disabled=no dst-address=122.102.53.0/24 \
dst-port=27005-27015 new-connection-mark=CSO passthrough=yes protocol=\
udp
add action=mark-connection chain=prerouting comment="Counter Strike KONEKSI TCP" \
disabled=yes dst-address=122.102.53.0/24 dst-port=47611 \
new-connection-mark="GAME KONEKSI" passthrough=yes protocol=tcp
add action=mark-connection chain=game comment="Counter Strike" disabled=no \
dst-address=122.102.53.0/24 dst-port=47611 new-connection-mark=CSO \
passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment="Counter Strike KONEKSI TCP" \
disabled=yes dst-address=122.102.53.0/24 dst-port=8000-8010 \
new-connection-mark="GAME KONEKSI" passthrough=yes protocol=tcp
add action=mark-connection chain=game comment="Counter Strike" disabled=no \
dst-address=122.102.53.0/24 dst-port=8000-8010 new-connection-mark=CSO \
passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment="Counter Strike KONEKSI TCP" \
disabled=yes dst-address=122.102.53.0/24 dst-port=36567 \
new-connection-mark="GAME KONEKSI" passthrough=yes protocol=tcp
add action=mark-connection chain=game comment="Counter Strike" disabled=no \
dst-address=122.102.53.0/24 dst-port=36567 new-connection-mark=CSO \
passthrough=yes protocol=tcp
add action=jump chain=prerouting disabled=no jump-target=game
add action=mark-connection chain=game disabled=no dst-address=122.102.53.0/24 \
dst-port=8000-8010 new-connection-mark=CSO passthrough=yes protocol=tcp
add action=mark-connection chain=game disabled=no dst-address=122.102.53.0/24 \
dst-port=36567 new-connection-mark=CSO passthrough=yes protocol=tcp
add action=mark-connection chain=game disabled=no dst-address=122.102.53.0/24 \
dst-port=47611 new-connection-mark=CSO passthrough=yes protocol=tcp
add action=mark-connection chain=game disabled=no dst-address=122.102.53.0/24 \
dst-port=27005-27015 new-connection-mark=CSO passthrough=yes protocol=\
udp


[b]/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=CSO packet-mark=Game_cso parent=[color=#FF0000]global-in[/color] priority=8 \
queue=CSO
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=Game packet-mark=Game_cso parent=[color=#FF0000]global-total[/color] priority=1 \
queue=Game[/b]


/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=ether1
add action=src-nat chain=srcnat comment="Masquerade CSO" disabled=no \
dst-address=122.102.53.0/24 out-interface=ether1 src-address=0.0.0.0/0 \
to-addresses=122.102.53.0/24
add action=src-nat chain=srcnat comment="Masquerade CSO1" disabled=no \
dst-address=122.102.53.0/24 out-interface=ether1 src-address=\
192.168.1.0/24 to-addresses=122.102.53.0/24
add action=masquerade chain=srcnat comment="Masquerade CSO2" disabled=no \
dst-address=122.102.53.0/24 out-interface=ether1 src-address=0.0.0.0/0 \
to-addresses=122.102.53.0/24
add action=masquerade chain=srcnat comment="Masquerade CSO3" disabled=no \
out-interface=ether1 to-addresses=122.102.53.0/24
add action=src-nat chain=srcnat comment="Masquerade CSO4" disabled=no \
out-interface=ether1 src-address=192.168.1.0/24 to-addresses=\
122.102.53.0/24
What should i do? Please help me..
Thanks in advance ^_^
 
kimdonghwan
just joined
Posts: 13
Joined: Sat Feb 07, 2015 10:06 am

Re: Question about global in queue tree V6.x

Mon Mar 16, 2015 8:01 am

i couldn't edit my previous Post, as i said the bold ones seems to be the problem:
Mikrotik Command for Counter Strike Online:

/ip firewall mangle
add action=mark-packet chain=game connection-mark=CSO disabled=no \
new-packet-mark=Game_cso passthrough=no
add action=mark-packet chain=forward comment="SEMUA GAME DIPAKETKAN" \
connection-mark="GAME KONEKSI" disabled=yes new-packet-mark="GAME PAKET" \
passthrough=no
add action=mark-connection chain=prerouting comment="Counter Strike Koneksi UDP" \
disabled=yes dst-port=27005-27015 new-connection-mark="GAME KONEKSI" \
passthrough=no protocol=udp
add action=mark-connection chain=game disabled=no dst-address=122.102.53.0/24 \
dst-port=27005-27015 new-connection-mark=CSO passthrough=yes protocol=\
udp
add action=mark-connection chain=prerouting comment="Counter Strike KONEKSI TCP" \
disabled=yes dst-address=122.102.53.0/24 dst-port=47611 \
new-connection-mark="GAME KONEKSI" passthrough=yes protocol=tcp
add action=mark-connection chain=game comment="Counter Strike" disabled=no \
dst-address=122.102.53.0/24 dst-port=47611 new-connection-mark=CSO \
passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment="Counter Strike KONEKSI TCP" \
disabled=yes dst-address=122.102.53.0/24 dst-port=8000-8010 \
new-connection-mark="GAME KONEKSI" passthrough=yes protocol=tcp
add action=mark-connection chain=game comment="Counter Strike" disabled=no \
dst-address=122.102.53.0/24 dst-port=8000-8010 new-connection-mark=CSO \
passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment="Counter Strike KONEKSI TCP" \
disabled=yes dst-address=122.102.53.0/24 dst-port=36567 \
new-connection-mark="GAME KONEKSI" passthrough=yes protocol=tcp
add action=mark-connection chain=game comment="Counter Strike" disabled=no \
dst-address=122.102.53.0/24 dst-port=36567 new-connection-mark=CSO \
passthrough=yes protocol=tcp
add action=jump chain=prerouting disabled=no jump-target=game
add action=mark-connection chain=game disabled=no dst-address=122.102.53.0/24 \
dst-port=8000-8010 new-connection-mark=CSO passthrough=yes protocol=tcp
add action=mark-connection chain=game disabled=no dst-address=122.102.53.0/24 \
dst-port=36567 new-connection-mark=CSO passthrough=yes protocol=tcp
add action=mark-connection chain=game disabled=no dst-address=122.102.53.0/24 \
dst-port=47611 new-connection-mark=CSO passthrough=yes protocol=tcp
add action=mark-connection chain=game disabled=no dst-address=122.102.53.0/24 \
dst-port=27005-27015 new-connection-mark=CSO passthrough=yes protocol=\
udp


/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=CSO packet-mark=Game_cso parent=global-in priority=8 \
queue=CSO
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=Game packet-mark=Game_cso parent=global-total priority=1 \
queue=Game



/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=ether1
add action=src-nat chain=srcnat comment="Masquerade CSO" disabled=no \
dst-address=122.102.53.0/24 out-interface=ether1 src-address=0.0.0.0/0 \
to-addresses=122.102.53.0/24
add action=src-nat chain=srcnat comment="Masquerade CSO1" disabled=no \
dst-address=122.102.53.0/24 out-interface=ether1 src-address=\
192.168.1.0/24 to-addresses=122.102.53.0/24
add action=masquerade chain=srcnat comment="Masquerade CSO2" disabled=no \
dst-address=122.102.53.0/24 out-interface=ether1 src-address=0.0.0.0/0 \
to-addresses=122.102.53.0/24
add action=masquerade chain=srcnat comment="Masquerade CSO3" disabled=no \
out-interface=ether1 to-addresses=122.102.53.0/24
add action=src-nat chain=srcnat comment="Masquerade CSO4" disabled=no \
out-interface=ether1 src-address=192.168.1.0/24 to-addresses=\
122.102.53.0/24
I got error: "input does not match any value of parent"

Please help me what should i do?
Thank you very much before :)

Who is online

Users browsing this forum: pellerb, Zan and 108 guests