I am setting up a new routeros 3.x machine for testing and hopeful deployment.
As I go through the docs on 3.0 I see that there is still no ‘recommended’ way of doing things yet. I could do it with simple queues or tree with mangle.. So many choices, so many ways to ‘shoot myself in the foot’ and still ‘get the job done’.
Is there some doc somewhere that says ‘this is the most efficient way to do this for high volume traffic’ , that does not cause me to shoot myself in the foot?
Our 2.9 machine has ~25 interfaces, two type ether the rest are vlan.
I am looking for the most router resource efficient way to setup child queues for all the vlan’d interfaces.
We have a 5Mb link to the outside world via fiber which comes to us as ethernet, we also have a /22.
/queue simple print
All hosts internally have ‘free’ bandwidth to other things on the network.
0 name=“Internal” target-addresses=1.2.3.0/22 dst-address=1.2.3.0/22
interface=all parent=none direction=both priority=4
queue=ethernet-default/ethernet-default limit-at=0/0 max-limit=0/0
total-queue=ethernet-sfq
1 name=“Provider” dst-address=0.0.0.0/0 interface=provider parent=none
direction=both priority=2 queue=ethernet-default/ethernet-default
limit-at=0/0 max-limit=5767168/5767168 total-queue=ethernet-sfq
Give ourselves access to 2Mb
2 name=“Local” dst-address=0.0.0.0/0 interface=company-vlan
parent=none direction=both priority=3
queue=ethernet-default/ethernet-default limit-at=0/0
max-limit=2621440/2621440 total-queue=ethernet-sfq
Just keep an eye on what these next three hosts are doing.
3 name=“Users WebServer” target-addresses=1.2.3.6/32
dst-address=0.0.0.0/0 interface=all parent=Local direction=both
priority=6 queue=ethernet-default/ethernet-default limit-at=0/0
max-limit=0/0 total-queue=ethernet-sfq
4 name=“Incoming Mailserver” target-addresses=1.2.3.8/32
dst-address=0.0.0.0/0 interface=all parent=Local direction=both
priority=8 queue=ethernet-default/ethernet-default limit-at=0/0
max-limit=0/0 total-queue=ethernet-sfq
5 name=“Mailserver” target-addresses=1.2.3.15/32 dst-address=0.0.0.0/0
interface=all parent=Local direction=both priority=8
queue=ethernet-default/ethernet-default limit-at=0/0 max-limit=0/0
total-queue=ethernet-sfq total-max-limit=1048576
..
We have a queue for the coloc’s of 3Mb.
6 name=“ThreeMegaBits” dst-address=0.0.0.0/0 interface=all parent=none
direction=both priority=4 queue=ethernet-default/ethernet-default
limit-at=3000000/3000000 max-limit=3000000/3000000
total-queue=ethernet-red
Then we have varying queues for customers:
7 name=“cust1” target-addresses=1.2.3.240/28
dst-address=0.0.0.0/0 interface=cust1-vlan parent=ThreeMegaBits
direction=both priority=5 queue=ethernet-default/ethernet-default
limit-at=0/0 max-limit=2000000/2000000 total-queue=ethernet-red
8 name=“cust2” target-addresses=1.2.4.64/28 dst-address=0.0.0.0/0
interface=cust2-vlan parent=ThreeMegaBits direction=both priority=7
queue=ethernet-default/ethernet-default limit-at=0/0
max-limit=512000/512000 total-queue=ethernet-red
total-max-limit=1048576
9 name=“cust3” target-addresses=1.2.4.16/29 dst-address=0.0.0.0/0
interface=cust3-vlan parent=ThreeMegaBits direction=both
priority=5 queue=ethernet-default/ethernet-default limit-at=0/0
max-limit=1000000/1000000 total-queue=ethernet-sfq
10 name=“cust4” target-addresses=1.2.4.48/29 dst-address=0.0.0.0/>
interface=cust4-vlan parent=ThreeMegaBits direction=both
priority=5 queue=ethernet-default/ethernet-default limit-at=0/0
max-limit=768000/768000 total-queue=ethernet-red
11 name=“cust5” target-addresses=1.2.4.80/28 dst-address=0.0.0.0/0
interface=cust5-vlan parent=ThreeMegaBits direction=both priority=5
queue=ethernet-default/ethernet-default limit-at=0/0
max-limit=1000000/1000000 total-queue=ethernet-red
etc.. all the rest of the queues are basically like these.
and the /queue type print:
0 name=“default” kind=pcq pcq-rate=0 pcq-limit=50 pcq-classifier=“” pcq-total-limit=2000
1 name=“ethernet-default” kind=pfifo pfifo-limit=32
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=“default-orig” kind=pfifo pfifo-limit=32
6 name=“ethernet-default-orig” kind=pfifo pfifo-limit=128
7 name=“ethernet-default-consult” kind=sfq sfq-perturb=5 sfq-allot=1514
8 name=“ethernet-sfq” kind=sfq sfq-perturb=5 sfq-allot=1514
9 name=“ethernet-pcq” kind=pcq pcq-rate=0 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000
10 name=“ethernet-pfifo” kind=pfifo pfifo-limit=128
11 name=“ethernet-red” kind=red red-limit=30 red-min-threshold=5 red-max-threshold=25 red-burst=10 red-avg-packet=1000
12 name=“default-small” kind=pfifo pfifo-limit=10
This is 2.9.43 on a p3 600Mhz w/ 128M we are moving to a DellGX 260 (2.4G w/ 512M).
I would greatly appreciate someone pointing out changes that I could make to make this setup more efficient and streamlined. This config with this hardware locks up once every few weeks
So obviously I am shooting myself in the foot, but I can not see how ![]()
So please someone ‘tell me’ what the right way is to do something like this.
When things are busy received-packets-per-second, sent-packets-per-second, is usually 1000 or more on the real ethernet interfaces.
I come here b/c we have spent several hundred dollars on having a ‘Mikrotik Consultant’ come in ‘remotely’ and he did not help us at all. We had to explain to them what this setup was attempting to do as they could not tell. ![]()