urgent help needed ... QoS questions

i’d like someone to help me with a simple 4 rule QoS set

DNS: Priority 0 (ULTRA High)
HTTP browsing: Priority 1 (Highest)
IM (yahoo and MSN): Priority 2 (medium)
everything else: Priority 3 (Low)

I have looking at the forums and searched however i am not that keen on routeros just yet to do mangle and queues.

my line is 512kbps down and 256kbps up

can someone hit me with an example please i can use and then start to tweak?

http://www.mikrotik.com/docs/ros/2.9/ip/mangle

:slight_smile:

Or you could at least try to use the search function in the forum… the question HAS beeen answered before

/Jörgen

as i said above i am

  1. new to router os

and

  1. my request is sorta specific so even though i searched i was still going “huh”?

Well since you can’t seem to find the link yourself… http://forum.mikrotik.com/t/help-with-mangle-for-qos/4693/1

READ this topic, it clearly explains how to set up QoS

/Jörgen

sorry but i alread read that.

heres what i have now that i took from the online tutorial that i am using.

all i want now is to make something new to give priority 1 to http port 80.

[admin@MikroTik] queue tree> print
Flags: X - disabled, I - invalid 
 0   name="download" parent=ether2 packet-mark=users limit-at=0 
     queue=pcq-download priority=8 max-limit=0 burst-limit=0 
     burst-threshold=0 burst-time=0s 

 1   name="upload" parent=ether1 packet-mark=users limit-at=0 queue=pcq-upload 
     priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 

 [admin@MikroTik] queue tree>



[admin@MikroTik] ip firewall mangle> print
Flags: X - disabled, I - invalid, D - dynamic 
 0   chain=prerouting protocol=tcp dst-port=80 action=mark-connection 
     new-connection-mark=http-con passthrough=no 

 1   chain=prerouting connection-mark=http-con action=mark-packet 
     new-packet-mark=http passthrough=no 

 2   chain=forward src-address=192.168.0.0/24 action=mark-connection 
     new-connection-mark=users-con passthrough=yes 

 3   chain=forward connection-mark=users-con action=mark-packet 
     new-packet-mark=users passthrough=yes 
[admin@MikroTik] ip firewall mangle>

now i need some kind soul to help me make something like that to give the highest priority to port 80 for http

comeon guys. a little help please?

this will be the best help ever:
http://training.mikrotik.com/

yes. its a great website. i found it to be very useful however the online courses dont focus on what i need.

how about the on-site courses? go to one of the trainings closest to you. you will learn a lot in the training class

i cant. i am in baghdad/iraq right now. lol!

I believe that Cape Town will be the next closest training class to you (July 16-19), or of course you could attend MUM in Singapore in September and gain a few tips there.

Although I do think the link that joeri91942 provided should solve your issue.

You guys! Why dont you HELP the man? Seriously.

cylent,

your first mangle rule should have passthrough set to “yes”, otherwise no packets will get a http packet mark, so nothing can be possibly queued furtheron. So it should read

 0   chain=prerouting protocol=tcp dst-port=80 action=mark-connection 
     new-connection-mark=http-con passthrough=yes

Then you can add queue rules similar to the “user” ones you posted, but for packets with the “http” packet mark and priority 1 (or whatever you want).

Best regards,
Christian Meis

i went out and bought this:

http://www.tomsnetworking.com/2005/07/13/quickview_hbb1/

Hmmm, your decision… :smiley:

Best regards,
Christian Meis

Playing with prerouting and whatnot. how do i setup a queue to catch all traffic not already being marked and prioritized?

Just create a last (position is important!) mangle rule to mark all packets with a packet-mark of “the_rest” for example.
Then every packet that’s not already mangled before (take care of your passthrough=yes/no settings!) will get marked with “the_rest”.

You then can queue those “the_rest” packets as you want to.

Best regards,
Christian Meis

Thanks. Everything at the moment is set to passthrough=yes

0 chain=prerouting protocol=tcp dst-port=53 action=mark-connection new-connection-mark=dns-con passthrough=yes

1 chain=prerouting protocol=udp dst-port=53 action=mark-connection new-connection-mark=dns-con passthrough=yes

2 chain=prerouting protocol=tcp dst-port=53 action=mark-packet new-packet-mark=dns-con passthrough=yes

3 chain=prerouting protocol=tcp dst-port=80 action=mark-connection new-connection-mark=http-con passthrough=yes

4 chain=prerouting protocol=tcp dst-port=80 action=mark-packet new-packet-mark=http-con passthrough=yes

5 chain=prerouting protocol=tcp dst-port=110 action=mark-connection new-connection-mark=email-con passthrough=yes

6 chain=prerouting protocol=tcp dst-port=25 action=mark-connection new-connection-mark=email-con passthrough=yes

7 chain=prerouting protocol=tcp dst-port=110 action=mark-packet new-packet-mark=email-con passthrough=yes

8 chain=prerouting protocol=tcp dst-port=25 action=mark-packet new-packet-mark=email-con passthrough=yes

9 chain=prerouting protocol=tcp dst-port=443 action=mark-connection new-connection-mark=http-con passthrough=yes

10 chain=prerouting protocol=tcp dst-port=443 action=mark-packet new-packet-mark=http-con passthrough=yes

11 chain=prerouting protocol=tcp dst-port=8080 action=mark-connection new-connection-mark=http-con passthrough=yes

12 chain=prerouting protocol=tcp dst-port=8080 action=mark-packet new-packet-mark=http-con passthrough=yes

13 chain=prerouting p2p=all-p2p action=mark-connection new-connection-mark=p2p-con passthrough=yes

14 chain=prerouting p2p=all-p2p action=mark-packet new-packet-mark=p2p-con passthrough=yes

15 X chain=prerouting action=mark-connection new-connection-mark=other-con passthrough=yes

16 X chain=prerouting action=mark-packet new-packet-mark=other-con passthrough=yes

Can you tell me what ive done wrong here? When i enable the last rule it starts picking up all the traffic and the other rules no longer work

Every rule where you set a packet-mark should have its’ passthrough set to no in your example. So packets already marked do not pass the mangle rules further down. You passthrough=yes makes every packet traverse the following mangle rules also, and every packets is (again) matched by the last rule, marking everything as “other-con”…

And you don’t need to work with a mark-connection/mark-packet pair for the last “catch-all” rule - just a single mark-packet rule is enough.

Best regards,
Christian Meis