Hello!
I did not find a similar topic. If you do it, poke it, please!
Most recipes concern the division of the channel equally among all or something about this task.
I have another problem. In a local with remote offices, some of which are transparently integrated by the provider into the local network at the L2 level, and some are connected via the Internet via VPN, there are 2 main services - video surveillance server and bookkeepers server.
So, the network must provide services
- Access from remote offices to the bookkeepers server in the central office (it uses RDP and HTTP)
- View video from cameras from remote offices in the central office.
Everything else is secondary (Zabbix network monitoring, Internet access from remote offices, etc.)
I here sketched the network layout for better understanding

Now there is a problem: as soon as the central office starts the program of viewing the cameras of remote offices, the entire network is tightly lays down, and, most importantly, the connections to the bookkeepers server are falling off. In general, it is understandable why - the video stream from each camera is from 1500 kb to 6000 kb, in each office there are several cameras, and the channel to each office is from 5,000 to 10,000 kb. The irony of the situation is that before, an old dead computer was used to view the video in the central office, which physically could not pull a powerful video stream, so everything was slowing down on it, but it was the system’s bottleneck. It all got bored and put a new powerful computer capable of chewing much more data than the network can deliver and network problems began … It would be possible to limit the flow from each camera, but this is not satisfactory, because I would like to receive from the selected camera if necessary the highest possible video quality, BUT (!!!) without compromising the need for data exchange between remote offices and the central bookkeepers server.
Tell me, please, by what means to solve this task in RouterOS?
It seems to be clear that these are mangles and queues. But so far nothing has happened at all.
The central switch is CRS326-24G-2S +
Each remote office is located in its subnet.
Now these settings:
/queue type
add kind=sfq name=q-BK
add kind=pcq name=q-BK-pcq pcq-classifier=src-address pcq-dst-address6-mask=\
64 pcq-limit=1024KiB pcq-src-address6-mask=64 pcq-total-limit=4000KiB
/queue tree
add limit-at=1M max-limit=4M name=q-m2-all packet-mark=p2-Other parent=\
global queue=p2-BK-pcq
add limit-at=512k max-limit=1M name=q-m2-1C packet-mark=p2-BK,p2-BK parent=q-m2-all \
priority=7 queue=q-BK-pcq
/ip firewall mangle
add action=mark-packet chain=forward dst-address=192.168.<ServerBookkeepers> in-interface=\
eth22-Office2 new-packet-mark=p2-BK passthrough=yes
add action=mark-packet chain=forward dst-address=!192.168.<ServerBookkeepers> in-interface=\
eth22-Office2 new-packet-mark=p2-Other passthrough=yes
I planned for each office to make a couple of queues and but for some reason it does not work.
Please, give an idea how to organize queues so that from every subnet of the remote office the traffic to the bookkeepers server would occupy the required channel width, and all the other traffic would take only what was left?
I thank the advice.