Page 1 of 1

Why doesn't PCQ work correctly?

Posted: Tue Nov 16, 2010 1:12 pm
by Max
I'm trying to do some bandwith management for my home network. I've been told that PCQ is the simplest way to distribute bandwidth equally.

This is the tutorial that I followed: http://mum.mikrotik.com/presentations/C ... _Megis.pdf

My network setup looks like this:
network_setup.png
I want to add that PC1 sometimes runs a few VMs in bridged mode.

The ISP connection has 2mbps down/1mbps up external, and 100mbps down/20mbps up metropolitan, but these speeds sometimes vary a lot.

The problem is that when heavy downloading/uploading, the network 10.223.44.0/29 takes the whole bandwidth and the PC from 10.223.45.0/30 isn't able to do anything online.

Here's everything that I've done(inspired from tutorial):
Mangle
Mangle.PNG
/ip firewall mangle print
Flags: X - disabled, I - invalid, D - dynamic 
0   chain=forward action=change-ttl new-ttl=increment:1 

1   chain=forward action=change-ttl new-ttl=increment:1 

2   chain=forward action=mark-connection new-connection-mark=44.0-con 
     passthrough=yes src-address=10.223.44.0/29 

3   chain=forward action=mark-connection new-connection-mark=44.0-con 
     passthrough=yes dst-address=10.223.44.0/29 

4   chain=forward action=mark-packet new-packet-mark=44.0_traffic 
     passthrough=no connection-mark=44.0-con 

5   chain=forward action=mark-packet new-packet-mark=44.0_traffic 
     passthrough=no src-address=10.223.44.0/29 

6   chain=forward action=mark-packet new-packet-mark=44.0_traffic 
     passthrough=no dst-address=10.223.44.0/29 

7   chain=forward action=mark-connection new-connection-mark=45.0-con 
     passthrough=yes src-address=10.223.45.0/30 

8   chain=forward action=mark-connection new-connection-mark=45.0-con 
     passthrough=yes dst-address=10.223.45.0/30 

9   chain=forward action=mark-packet new-packet-mark=45.0_traffic 
     passthrough=yes connection-mark=45.0-con 

10   chain=forward action=mark-packet new-packet-mark=45.0_traffic 
     passthrough=no src-address=10.223.45.0/30 

11   chain=forward action=mark-packet new-packet-mark=45.0_traffic 
     passthrough=no dst-address=10.223.45.0/30 

12   ;;; marking for apex
     chain=postrouting action=mark-packet new-packet-mark=port40100-3 
     passthrough=no protocol=tcp port=40100-40103 packet-mark=44.0_traffic 
     connection-mark=44.0-con 

13   chain=postrouting action=mark-packet new-packet-mark=port40100-3 
     passthrough=no protocol=udp port=40100-40103 packet-mark=44.0_traffic 
     connection-mark=44.0-con 

14   chain=postrouting action=mark-packet new-packet-mark=port40104-7 
     passthrough=no protocol=tcp port=40104-40107 packet-mark=44.0_traffic 
     connection-mark=44.0-con 

15   chain=postrouting action=mark-packet new-packet-mark=port40104-7 
     passthrough=no protocol=udp port=40104-40107 packet-mark=44.0_traffic 
     connection-mark=44.0-con 

16   chain=postrouting action=mark-packet new-packet-mark=port40108-11 
     passthrough=no protocol=tcp port=40108-40111 packet-mark=44.0_traffic 
     connection-mark=44.0-con 

17   chain=postrouting action=mark-packet new-packet-mark=port40108-11 
     passthrough=no protocol=udp port=40108-40111 packet-mark=44.0_traffic 
     connection-mark=44.0-con 

18   chain=postrouting action=mark-packet new-packet-mark=port60000-3 
     passthrough=no protocol=tcp port=60000-60003 packet-mark=44.0_traffic 
     connection-mark=44.0-con 

19   chain=postrouting action=mark-packet new-packet-mark=port60000-3 
     passthrough=no protocol=udp port=60000-60003 packet-mark=44.0_traffic 
     connection-mark=44.0-con 

20   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic_http 
     passthrough=yes protocol=tcp src-address=10.223.44.0/29 dst-port=80 

21   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic_http 
     passthrough=yes protocol=tcp dst-address=10.223.44.0/29 src-port=80 

22   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic_http 
     passthrough=yes protocol=udp src-address=10.223.44.0/29 dst-port=80 

23   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic_http 
     passthrough=yes protocol=udp dst-address=10.223.44.0/29 src-port=80 

24   chain=forward action=log log-prefix=""
Queue Tree
QueueTree.PNG
/queue tree> print
Flags: X - disabled, I - invalid 
0   name="44.0_down" parent=ether2 limit-at=0 priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

1   name="45.0_up" parent=Upload limit-at=0 priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

2   name="44.0_up" parent=Upload limit-at=0 priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

3   name="45.0_down" parent=ether3 limit-at=0 priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

4   name="p40100-3_up" parent=44.0_up packet-mark=port40100-3 limit-at=32k queue=default-small priority=8 max-limit=32k burst-limit=32k burst-threshold=1k 
     burst-time=1s 

5   name="pcq-download" parent=44.0_down packet-mark=44.0_traffic limit-at=0 queue=default priority=7 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

6   name="pcq-upload" parent=44.0_up packet-mark=44.0_traffic limit-at=0 queue=default-small priority=1 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

7   name="pcq-upload-45.0" parent=45.0_up packet-mark=45.0_traffic limit-at=0 queue=default priority=1 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

8   name="pcq-download-45.0" parent=45.0_down packet-mark=45.0_traffic limit-at=0 queue=default priority=1 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

9   name="p40104-7_up" parent=44.0_up packet-mark=port40104-7 limit-at=32k queue=default-small priority=8 max-limit=32k burst-limit=32k burst-threshold=1k 
     burst-time=1s 

10   name="p60000-3_up" parent=44.0_up packet-mark=port60000-3 limit-at=32k queue=default-small priority=8 max-limit=32k burst-limit=32k burst-threshold=1k 
     burst-time=1s 

11   name="p40108-11_up" parent=44.0_up packet-mark=port40108-11 limit-at=32k queue=default-small priority=8 max-limit=32k burst-limit=32k burst-threshold=1k 
     burst-time=1s 

12   name="p40100-3_down" parent=44.0_down packet-mark=port40100-3 limit-at=0 queue=default priority=8 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

13   name="p40104-7_down" parent=44.0_down packet-mark=port40104-7 limit-at=0 queue=default priority=8 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

14   name="p40108-11_down" parent=44.0_down packet-mark=port40108-11 limit-at=0 queue=default priority=8 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

15   name="Upload" parent=ether1 limit-at=0 priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

16   name="p60000-3_down" parent=44.0_down packet-mark=port60000-3 limit-at=0 queue=default priority=8 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

17   name="pcq-download-http" parent=44.0_down packet-mark=44.0_traffic_http limit-at=0 queue=default priority=7 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

18   name="pcq-upload-http" parent=44.0_up packet-mark=44.0_traffic_http limit-at=0 queue=default priority=1 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s
Queue Type
/queue type print
0 name="default" kind=pfifo pfifo-limit=50 

1 name="ethernet-default" kind=pfifo pfifo-limit=1000 

2 name="wireless-default" kind=sfq sfq-perturb=5 sfq-allot=1514 

3 name="synchronous-default" kind=red red-limit=60 red-min-threshold=10 red-max-threshold=50 red-burst=20 red-avg-packet=1000 

4 name="hotspot-default" kind=sfq sfq-perturb=5 sfq-allot=1514 

5 name="my_pcq_download" kind=pcq pcq-rate=0 pcq-limit=1 pcq-classifier=dst-address pcq-total-limit=200 

6 name="my_pcq_upload" kind=pcq pcq-rate=0 pcq-limit=1 pcq-classifier=src-address pcq-total-limit=200 

7 name="default-small" kind=pfifo pfifo-limit=10 

Can someone tell me what am I doing wrong?

Re: Why doesn't PCQ work correctly?

Posted: Tue Nov 16, 2010 9:04 pm
by rmichael
For starters queue tree priority will not work w/o max limit defined for the parent. Given that your maximum bandwidth fluctuates using priority queuing or PCQ may not be optimal.

I'd try SFQ first: disable everything and create one simple queue with target 10.233.0.0/16 and SFQ queue. See how that works out.

Re: Why doesn't PCQ work correctly?

Posted: Sun Nov 21, 2010 4:18 pm
by Max
rmichael, thank you for your suggestion.
I've tried it but, unfortunately I didn't get the expected results.
I've noticed an improvement in downloading streams, but pages still load with a large delay.

I read here[http://www.opalsoft.net/qos/DS-25.htm] that SFQ works well only when the queues are full. I don't know how to achieve that, and more importantly, my external bandwidth varies a lot lately[from 2mbps to 0.5mbps].


This problem is becoming really frustrating, I've tried so many things and I still can't manage to make 2 PC's surf the internet decently.

Any other suggestions?

Re: Why doesn't PCQ work correctly?

Posted: Sun Nov 21, 2010 5:49 pm
by skillful
Queue Type
/queue type print

5 name="my_pcq_download" kind=pcq pcq-rate=0 pcq-limit=1 pcq-classifier=dst-address pcq-total-limit=200 

6 name="my_pcq_upload" kind=pcq pcq-rate=0 pcq-limit=1 pcq-classifier=src-address pcq-total-limit=200 

pcq-limit=1 is too small. Change that value to 50 and test again.

Re: Why doesn't PCQ work correctly?

Posted: Sun Nov 21, 2010 8:50 pm
by Max
I've changed the value back to 50, but the problem persists.

I've set PC1 to download a few files, from external sources. It was downloading them at ~ 2mbps.
On PC2, I've opened 3 pages, a google search, an youtube clip, and an wikipedia page. All of them were moving painfully slow. After 30secs I've closed the wiki page because it hadn't loaded at all.

Re: Why doesn't PCQ work correctly?

Posted: Mon Nov 22, 2010 12:07 am
by rmichael
I've changed the value back to 50, but the problem persists.

I've set PC1 to download a few files, from external sources. It was downloading them at ~ 2mbps.
On PC2, I've opened 3 pages, a google search, an youtube clip, and an wikipedia page. All of them were moving painfully slow. After 30secs I've closed the wiki page because it hadn't loaded at all.
It sounds like DNS requests are being dropped. Make sure that you prioritize small tcp packets (ACK) and DNS for good performance. Also you should shape TCP and UDP traffic in separate queues.

EDIT: btw, because your max bandwidth varies, PCQ and priorities are not the best solutions. Both only work when your internet connection is capable of max-limit at any given point in time. If you say that 2Mbps is the lowest speed your connection gets then for HTB to work you have to set max-limit to 2M. This is the limitation of MT HTB implementation. Theoretically you could run a ping test and decrease or increase max-limit via script depending on latency (caused by congestion) but it is not very accurate.

Re: Why doesn't PCQ work correctly?

Posted: Wed Nov 24, 2010 7:22 pm
by Max
rmichael, I am going to separate UDP and TCP traffic, but there is one thing that I don't really know how to do it. Do I have to add a mark-connection rule each time I add a new mark-packet rule?
For example, first I'd have to mark traffic for each network(44.0 and 45.0), and here I have mark-connection rules as well.
Then I'd have to mark it for UDP, or TCP. Do I have to add mark-connection rules for TCP and UDP again?



Also, there's one thing that I find it really odd. Please check the Mangle image for rules 2,3,4,5,6.
2,3 are used to mark connections both src and dst for network 44.0.
5,6 are used to mark packets both src and dst for network 44.0.
but most of the traffic is on rule 4, which has no src and no dst.
This makes no sense, because traffic from 5 + traffic from 6 is a lot less compared to traffic that passes through 4(125GB vs 16MB).
If I don't add that 4 rule, most of the traffic will end up unmarked, down to the last "log" rule.

Re: Why doesn't PCQ work correctly?

Posted: Sun Nov 28, 2010 1:18 pm
by Max
Please help me out with this problem. I can't continue like this. :(

Re: Why doesn't PCQ work correctly?

Posted: Fri Dec 17, 2010 11:07 pm
by Max
Here's what I've done recently:

1) implemented a metropolitan peering address-list(hopefully, these are the networks that my ISP has peering with)
2) split traffic in metropolitan, extern, tcp, udp, other streams
3)implemented the correspoding queue tree for these streams

Still, haven't decided what kind of queue types to use for each queue of the queue tree.
 0   chain=forward action=change-ttl new-ttl=increment:1 

 1   chain=forward action=change-ttl new-ttl=increment:1 

 2   ;;; new packet marking
     chain=forward action=mark-connection new-connection-mark=44.0-con passthrough=yes src-address=10.223.44.0/29 

 3   chain=forward action=mark-connection new-connection-mark=44.0-con passthrough=yes dst-address=10.223.44.0/29 

 4   chain=forward action=mark-packet new-packet-mark=44.0_traffic passthrough=no src-address=10.223.44.0/29 

 5   chain=forward action=mark-packet new-packet-mark=44.0_traffic passthrough=no dst-address=10.223.44.0/29 

 6   chain=forward action=mark-connection new-connection-mark=45.0-con passthrough=yes src-address=10.223.45.0/30 

 7   chain=forward action=mark-connection new-connection-mark=45.0-con passthrough=yes dst-address=10.223.45.0/30 

 8   chain=forward action=mark-packet new-packet-mark=45.0_traffic passthrough=no src-address=10.223.45.0/30 

 9   chain=forward action=mark-packet new-packet-mark=45.0_traffic passthrough=no dst-address=10.223.45.0/30 

10   ;;; metro 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro passthrough=yes 
     dst-address-list=metropolitan packet-mark=44.0_traffic 

11   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro passthrough=yes 
     src-address-list=metropolitan packet-mark=44.0_traffic 

12   ;;; metro 45.0
     chain=postrouting action=mark-packet new-packet-mark=45.0_traffic-metro passthrough=yes 
     dst-address-list=metropolitan packet-mark=45.0_traffic 

13   chain=postrouting action=mark-packet new-packet-mark=45.0_traffic-metro passthrough=yes 
     src-address-list=metropolitan packet-mark=45.0_traffic 

14   ;;; ext 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext passthrough=yes 
     dst-address-list=!metropolitan packet-mark=44.0_traffic 

15   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext passthrough=yes 
     src-address-list=!metropolitan packet-mark=44.0_traffic 

16   ;;; ext 45.0
     chain=postrouting action=mark-packet new-packet-mark=45.0_traffic-ext passthrough=yes 
     dst-address-list=!metropolitan packet-mark=45.0_traffic 

17   chain=postrouting action=mark-packet new-packet-mark=45.0_traffic-ext passthrough=yes 
     src-address-list=!metropolitan packet-mark=45.0_traffic 

18   ;;; metro other+tcp+udp 44.0 
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-other passthrough=yes 
     packet-mark=44.0_traffic-metro 

19   ;;; metro tcp 44.0 
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-tcp passthrough=yes protocol=tcp 
     packet-mark=44.0_traffic-metro-other 

20   ;;; metro udp 44.0 
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-udp passthrough=yes protocol=udp 
     packet-mark=44.0_traffic-metro-other 

21   ;;; ext other+tcp+udp 44.0 
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-other passthrough=yes 
     packet-mark=44.0_traffic-ext 

22   ;;; ext tcp 44.0 
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-tcp passthrough=yes protocol=tcp 
     packet-mark=44.0_traffic-ext-other 

23   ;;; ext udp 44.0 
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-udp passthrough=yes protocol=udp 
     packet-mark=44.0_traffic-ext-other 

24   ;;; metro other+tcp+udp 45.0 
     chain=postrouting action=mark-packet new-packet-mark=45.0_traffic-metro-other passthrough=yes 
     packet-mark=45.0_traffic-metro 

25   ;;; metro tcp 45.0 
     chain=postrouting action=mark-packet new-packet-mark=45.0_traffic-metro-tcp passthrough=yes protocol=tcp 
     packet-mark=45.0_traffic-metro-other 

26   ;;; metro udp 45.0 
     chain=postrouting action=mark-packet new-packet-mark=45.0_traffic-metro-udp passthrough=yes protocol=udp 
     packet-mark=45.0_traffic-metro-other 

27   ;;; ext other+tcp+udp 45.0 
     chain=postrouting action=mark-packet new-packet-mark=45.0_traffic-ext-other passthrough=yes 
     packet-mark=45.0_traffic-ext 

28   ;;; ext tcp 45.0 
     chain=postrouting action=mark-packet new-packet-mark=45.0_traffic-ext-tcp passthrough=yes protocol=tcp 
     packet-mark=45.0_traffic-ext-other 

29   ;;; ext udp 45.0 
     chain=postrouting action=mark-packet new-packet-mark=45.0_traffic-ext-udp passthrough=yes protocol=udp 
     packet-mark=45.0_traffic-ext-other 

30   ;;; adc1 metro tcp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-tcp-adc1 passthrough=yes protocol=tcp 
     src-address=10.223.44.0/29 src-port=40100-40103 packet-mark=44.0_traffic-metro-tcp 

31   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-tcp-adc1 passthrough=yes protocol=tcp 
     dst-address=10.223.44.0/29 dst-port=40100-40103 packet-mark=44.0_traffic-metro-tcp 

32   ;;; adc1 metro udp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-udp-adc1 passthrough=yes protocol=udp 
     src-address=10.223.44.0/29 src-port=40100-40103 packet-mark=44.0_traffic-metro-udp 

33   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-udp-adc1 passthrough=yes protocol=udp 
     dst-address=10.223.44.0/29 dst-port=40100-40103 packet-mark=44.0_traffic-metro-udp 

34   ;;; adc1 ext tcp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-tcp-adc1 passthrough=yes protocol=tcp 
     src-address=10.223.44.0/29 src-port=40100-40103 packet-mark=44.0_traffic-ext-tcp 

35   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-tcp-adc1 passthrough=yes protocol=tcp 
     dst-address=10.223.44.0/29 dst-port=40100-40103 packet-mark=44.0_traffic-ext-tcp 

36   ;;; adc1 ext udp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-ext-adc1 passthrough=yes protocol=udp 
     src-address=10.223.44.0/29 src-port=40100-40103 packet-mark=44.0_traffic-ext-udp 

37   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-udp-adc1 passthrough=yes protocol=udp 
     dst-address=10.223.44.0/29 dst-port=40100-40103 packet-mark=44.0_traffic-ext-udp 

38   ;;; adc2 metro tcp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-tcp-adc2 passthrough=yes protocol=tcp 
     src-address=10.223.44.0/29 src-port=40104-40107 packet-mark=44.0_traffic-metro-tcp 

39   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-tcp-adc2 passthrough=yes protocol=tcp 
     dst-address=10.223.44.0/29 dst-port=40104-40107 packet-mark=44.0_traffic-metro-tcp 

40   ;;; adc2 metro udp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-udp-adc2 passthrough=yes protocol=udp 
     src-address=10.223.44.0/29 src-port=40104-40107 packet-mark=44.0_traffic-metro-udp 

41   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-udp-adc2 passthrough=yes protocol=udp 
     dst-address=10.223.44.0/29 dst-port=40104-40107 packet-mark=44.0_traffic-metro-udp 

42   ;;; adc2 ext tcp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-tcp-adc2 passthrough=yes protocol=tcp 
     src-address=10.223.44.0/29 src-port=40104-40107 packet-mark=44.0_traffic-ext-tcp 

43   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-tcp-adc2 passthrough=yes protocol=tcp 
     dst-address=10.223.44.0/29 dst-port=40104-40107 packet-mark=44.0_traffic-ext-tcp 

44   ;;; adc2 ext udp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-ext-adc2 passthrough=yes protocol=udp 
     src-address=10.223.44.0/29 src-port=40104-40107 packet-mark=44.0_traffic-ext-udp 

45   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-udp-adc2 passthrough=yes protocol=udp 
     dst-address=10.223.44.0/29 dst-port=40104-40107 packet-mark=44.0_traffic-ext-udp 

46   ;;; adc3 metro tcp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-tcp-adc3 passthrough=yes protocol=tcp 
     src-address=10.223.44.0/29 src-port=40108-40111 packet-mark=44.0_traffic-metro-tcp 

47   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-tcp-adc3 passthrough=yes protocol=tcp 
     dst-address=10.223.44.0/29 dst-port=40108-40111 packet-mark=44.0_traffic-metro-tcp 

48   ;;; adc3 metro udp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-udp-adc3 passthrough=yes protocol=udp 
     src-address=10.223.44.0/29 src-port=40108-40111 packet-mark=44.0_traffic-metro-udp 

49   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-udp-adc3 passthrough=yes protocol=udp 
     dst-address=10.223.44.0/29 dst-port=40108-40111 packet-mark=44.0_traffic-metro-udp 

50   ;;; adc3 ext tcp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-tcp-adc3 passthrough=yes protocol=tcp 
     src-address=10.223.44.0/29 src-port=40108-40111 packet-mark=44.0_traffic-ext-tcp 

51   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-tcp-adc3 passthrough=yes protocol=tcp 
     dst-address=10.223.44.0/29 dst-port=40108-40111 packet-mark=44.0_traffic-ext-tcp 

52   ;;; adc3 ext udp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-ext-adc3 passthrough=yes protocol=udp 
     src-address=10.223.44.0/29 src-port=40108-40111 packet-mark=44.0_traffic-ext-udp 

53   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-udp-adc3 passthrough=yes protocol=udp 
     dst-address=10.223.44.0/29 dst-port=40108-40111 packet-mark=44.0_traffic-ext-udp 

54   ;;; adc4 metro tcp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-tcp-adc4 passthrough=yes protocol=tcp 
     src-address=10.223.44.5 src-port=40108-40111 packet-mark=44.0_traffic-metro-tcp 

55   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-tcp-adc4 passthrough=yes protocol=tcp 
     dst-address=10.223.44.5 dst-port=40108-40111 packet-mark=44.0_traffic-metro-tcp 

56   ;;; adc4 metro udp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-udp-adc4 passthrough=yes protocol=udp 
     src-address=10.223.44.5 src-port=40108-40111 packet-mark=44.0_traffic-metro-udp 

57   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-udp-adc4 passthrough=yes protocol=udp 
     dst-address=10.223.44.5 dst-port=40108-40111 packet-mark=44.0_traffic-metro-udp 

58   ;;; adc4 ext tcp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-tcp-adc4 passthrough=yes protocol=tcp 
     src-address=10.223.44.5 src-port=40108-40111 packet-mark=44.0_traffic-ext-tcp 

59   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-tcp-adc4 passthrough=yes protocol=tcp 
     dst-address=10.223.44.5 dst-port=40108-40111 packet-mark=44.0_traffic-ext-tcp 

60   ;;; adc4 ext udp 44.0
     chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-metro-ext-adc4 passthrough=yes protocol=udp 
     src-address=10.223.44.5 src-port=40108-40111 packet-mark=44.0_traffic-ext-udp 

61   chain=postrouting action=mark-packet new-packet-mark=44.0_traffic-ext-udp-adc4 passthrough=yes protocol=udp 
     dst-address=10.223.44.5 dst-port=40108-40111 packet-mark=44.0_traffic-ext-udp 

62   chain=forward action=log log-prefix="" 

 0   name="44.0_down_METRO" parent=ether2 limit-at=0 priority=4 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

 1   name="44.0_down_metro_tcp" parent=44.0_down_METRO packet-mark=44.0_traffic-metro-tcp limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

 2   name="44.0_down_metro_udp" parent=44.0_down_METRO packet-mark=44.0_traffic-metro-udp limit-at=0 queue=default 
     priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

 3   name="44.0_down_metro_other" parent=44.0_down_METRO packet-mark=44.0_traffic-metro-other limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

 4   name="44.0_down_ext_other" parent=44.0_down_EXT packet-mark=44.0_traffic-ext-other limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

 5   name="44.0_up_ext_tcp" parent=44.0_up_EXT packet-mark=44.0_traffic-ext-tcp limit-at=0 queue=default priority=4 
     max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

 6   name="44.0_down_ext_udp" parent=44.0_down_EXT packet-mark=44.0_traffic-ext-udp limit-at=0 queue=default priority=4 
     max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

 7   name="44.0_down_EXT" parent=ether2 limit-at=0 priority=4 max-limit=1150k burst-limit=0 burst-threshold=0 
     burst-time=0s 

 8   name="adc_down_ext_tcp" parent=44.0_down_EXT limit-at=0 priority=4 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

 9   name="adc1_down_ext_tcp" parent=adc_down_ext_tcp packet-mark=44.0_traffic-ext-tcp-adc1 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

10   name="adc_down_metro_tcp" parent=44.0_down_METRO limit-at=0 priority=4 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

11   name="adc1_down_metro_tcp" parent=adc_down_metro_tcp packet-mark=44.0_traffic-metro-tcp-adc1 limit-at=0 
     queue=default priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

12   name="45.0_down_EXT" parent=ether3 limit-at=0 priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

13   name="45.0_down_METRO" parent=ether3 limit-at=0 priority=1 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

14   name="45.0_down_ext_other" parent=45.0_down_EXT packet-mark=45.0_traffic-ext-other limit-at=0 queue=default 
     priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

15   name="45.0_down_ext_tcp" parent=45.0_down_EXT packet-mark=45.0_traffic-ext-tcp limit-at=0 queue=default priority=1 
     max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

16   name="45.0_down_ext_udp" parent=45.0_down_EXT packet-mark=45.0_traffic-ext-udp limit-at=0 queue=default priority=1 
     max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

17   name="adc_down_ext_udp" parent=44.0_down_EXT limit-at=0 priority=4 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

18   name="adc1_down_ext_udp" parent=adc_down_ext_udp packet-mark=44.0_traffic-ext-udp-adc1 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

19   name="45.0_down_metro_other" parent=45.0_down_METRO packet-mark=45.0_traffic-metro-other limit-at=0 queue=default 
     priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

20   name="45.0_down_metro_tcp" parent=45.0_down_METRO packet-mark=45.0_traffic-metro-tcp limit-at=0 queue=default 
     priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

21   name="45.0_down_metro_udp" parent=45.0_down_METRO packet-mark=45.0_traffic-metro-udp limit-at=0 queue=default 
     priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

22   name="Upload_2" parent=ether1 limit-at=0 priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

23   name="44.0_up_EXT" parent=Upload_2 limit-at=0 priority=4 max-limit=900k burst-limit=0 burst-threshold=0 
     burst-time=0s 

24   name="44.0_up_METRO" parent=Upload_2 limit-at=0 priority=4 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

25   name="45.0_up_EXT" parent=Upload_2 limit-at=0 priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

26   name="45.0_up_METRO" parent=Upload_2 limit-at=0 priority=1 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

27   name="adc_down_metro_udp" parent=44.0_down_METRO limit-at=0 priority=4 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

28   name="adc1_down_metro_udp" parent=adc_down_metro_udp packet-mark=44.0_traffic-metro-udp-adc1 limit-at=0 
     queue=default priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

29   name="45.0_up_ext_other" parent=45.0_up_EXT packet-mark=45.0_traffic-ext-other limit-at=0 queue=default priority=1 
     max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

30   name="45.0_up_metro_tcp" parent=45.0_up_METRO packet-mark=45.0_traffic-metro-tcp limit-at=0 queue=default 
     priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

31   name="45.0_up_ext_tcp" parent=45.0_up_EXT packet-mark=45.0_traffic-ext-tcp limit-at=0 queue=default priority=1 
     max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

32   name="45.0_up_metro_udp" parent=45.0_up_METRO packet-mark=45.0_traffic-metro-udp limit-at=0 queue=default 
     priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

33   name="45.0_up_ext_udp" parent=45.0_up_EXT packet-mark=45.0_traffic-ext-udp limit-at=0 queue=default priority=1 
     max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

34   name="45.0_up_metro_other" parent=45.0_up_METRO packet-mark=45.0_traffic-metro-other limit-at=0 queue=default 
     priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

35   name="44.0_up_ext_other" parent=44.0_up_EXT packet-mark=44.0_traffic-ext-other limit-at=0 queue=default priority=4 
     max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

36   name="44.0_down_ext_tcp" parent=44.0_down_EXT packet-mark=44.0_traffic-ext-tcp limit-at=0 queue=default priority=4 
     max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

37   name="44.0_up_ext_udp" parent=44.0_up_EXT packet-mark=44.0_traffic-ext-udp limit-at=0 queue=default priority=1 
     max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

38   name="adc_up_ext_tcp" parent=44.0_up_EXT limit-at=0 priority=4 max-limit=32k burst-limit=0 burst-threshold=0 
     burst-time=0s 

39   name="adc1_up_ext_tcp" parent=adc_up_ext_tcp packet-mark=44.0_traffic-ext-tcp-adc1 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

40   name="adc_up_ext_udp" parent=44.0_up_EXT limit-at=0 priority=4 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

41   name="adc1_up_ext_udp" parent=adc_up_ext_udp packet-mark=44.0_traffic-ext-udp-adc1 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

42   name="44.0_up_metro_other" parent=44.0_up_METRO packet-mark=44.0_traffic-metro-other limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

43   name="44.0_up_metro_tcp" parent=44.0_up_METRO packet-mark=44.0_traffic-metro-tcp limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

44   name="44.0_up_metro_udp" parent=44.0_up_METRO packet-mark=44.0_traffic-metro-udp limit-at=0 queue=default 
     priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

45   name="adc_up_metro_tcp" parent=44.0_up_METRO limit-at=0 priority=4 max-limit=32k burst-limit=0 burst-threshold=0 
     burst-time=0s 

46   name="adc1_up_metro_tcp" parent=adc_up_metro_tcp packet-mark=44.0_traffic-metro-tcp-adc1 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

47   name="adc_up_metro_udp" parent=44.0_up_METRO limit-at=0 priority=4 max-limit=0 burst-limit=0 burst-threshold=0 
     burst-time=0s 

48   name="adc1_up_metro_udp" parent=adc_up_metro_udp packet-mark=44.0_traffic-metro-udp-adc1 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

49   name="adc2_down_ext_tcp" parent=adc_down_ext_tcp packet-mark=44.0_traffic-ext-tcp-adc2 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

50   name="adc2_down_metro_tcp" parent=adc_down_metro_tcp packet-mark=44.0_traffic-metro-tcp-adc2 limit-at=0 
     queue=default priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

51   name="adc2_down_ext_udp" parent=adc_down_ext_udp packet-mark=44.0_traffic-ext-udp-adc2 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

52   name="adc2_down_metro_udp" parent=adc_down_metro_udp packet-mark=44.0_traffic-metro-udp-adc2 limit-at=0 
     queue=default priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

53   name="adc3_down_ext_tcp" parent=adc_down_ext_tcp packet-mark=44.0_traffic-ext-tcp-adc3 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

54   name="adc3_down_metro_tcp" parent=adc_down_metro_tcp packet-mark=44.0_traffic-metro-tcp-adc3 limit-at=0 
     queue=default priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

55   name="adc3_down_ext_udp" parent=adc_down_ext_udp packet-mark=44.0_traffic-ext-udp-adc3 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

56   name="adc3_down_metro_udp" parent=adc_down_metro_udp packet-mark=44.0_traffic-metro-udp-adc3 limit-at=0 
     queue=default priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

57   name="adc4_down_ext_tcp" parent=adc_down_ext_tcp packet-mark=44.0_traffic-ext-tcp-adc4 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

58   name="adc4_down_metro_tcp" parent=adc_down_metro_tcp packet-mark=44.0_traffic-metro-tcp-adc4 limit-at=0 
     queue=default priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

59   name="adc4_down_ext_udp" parent=adc_down_ext_udp packet-mark=44.0_traffic-ext-udp-adc4 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

60   name="adc4_down_metro_udp" parent=adc_down_metro_udp packet-mark=44.0_traffic-metro-udp-adc4 limit-at=0 
     queue=default priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

61   name="adc2_up_ext_tcp" parent=adc_up_ext_tcp packet-mark=44.0_traffic-ext-tcp-adc2 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

62   name="adc2_up_ext_udp" parent=adc_up_ext_udp packet-mark=44.0_traffic-ext-udp-adc2 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

63   name="adc2_up_metro_tcp" parent=adc_up_metro_tcp packet-mark=44.0_traffic-metro-tcp-adc2 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

64   name="adc3_up_ext_tcp" parent=adc_up_ext_tcp packet-mark=44.0_traffic-ext-tcp-adc3 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

65   name="adc3_up_ext_udp" parent=adc_up_ext_udp packet-mark=44.0_traffic-ext-udp-adc3 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

66   name="adc3_up_metro_tcp" parent=adc_up_metro_tcp packet-mark=44.0_traffic-metro-tcp-adc3 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

67   name="adc4_up_ext_tcp" parent=adc_up_ext_tcp packet-mark=44.0_traffic-ext-tcp-adc4 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

68   name="adc4_up_ext_udp" parent=adc_up_ext_udp packet-mark=44.0_traffic-ext-udp-adc4 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

69   name="adc4_up_metro_tcp" parent=adc_up_metro_tcp packet-mark=44.0_traffic-metro-tcp-adc4 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

70   name="adc2_up_metro_udp" parent=adc_up_metro_udp packet-mark=44.0_traffic-metro-udp-adc2 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

71   name="adc3_up_metro_udp" parent=adc_up_metro_udp packet-mark=44.0_traffic-metro-udp-adc3 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

72   name="adc4_up_metro_udp" parent=adc_up_metro_udp packet-mark=44.0_traffic-metro-udp-adc4 limit-at=0 queue=default 
     priority=4 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 


Re: Why doesn't PCQ work correctly?

Posted: Fri Dec 17, 2010 11:16 pm
by Max
last picture.

Re: Why doesn't PCQ work correctly?

Posted: Sun Dec 19, 2010 12:04 pm
by Max
It doesn't work right because it seems that there are subnets in the metropolitan address-list that my ISP doesnt' have peering with, rendering the whole thing(queue+mangle rules) useless.


I really don't know what else to do.


Should I conclude that with RouterOS you can't share the bandwidth for 2 subnets that are NAT-ed behind the router without having a guaranteed bandwidth internet connection?