I am doing some work on a small fixed wireless network, and they have 2 connections, neither of which are fiber. They are attempting to push most of the streaming traffic out one provider while allowing everything else to go through the other. I implemented routing marks based off of an example in the mikrotik wiki in order to accomplish that, marking based on layer7 regex for example:
/ip firewall mangle print
add action=mark-routing chain=prerouting comment=Facebook disabled=no \
in-interface=ether2-switch2 layer7-protocol=facebook new-routing-mark=\
to_WAN2 passthrough=no
I then have a route that matches the routing mark:
/ip route
comment=WAN2 distance=1 gateway=xxx.xxx.xx.x \
routing-mark=to_WAN2
After activating these rules, things starting matching the regex Layer 7 rules fine, CPU load was stable, but I noticed that the traffic on WAN2 (where most of the marked connections were going) was showing perfectly equal TX and RX traffic on the interface. This maxed out the upload on the connection and caused massive packet loss. Anyone have any idea why the traffic would have been looping like that?