So things are much simpler to set up and stay orderly if you take the vrf way in some scenarios. But it has some limitations - the same routing tables/routing marks are used for both the vrf and for the "usual" policy routing, so if you would want to use the "usual" policy routing together with a vrf setup, your brain may quickly reach the boiling point trying to keep track with the mutual dependencies.
But this is exactly why I asked my question and unfortunately it still hasn't been answered. I need to know what /ip route vrf really does. A listing of the statements from the "usual" policy routing world that are applied when /ip route vrf is used.
This is required to be able to add additional rules to tune the behaviour in a predictible way without boiling the brain.
I know about VRF in other environments and about the mechanisms below /ip route rule and friends as they exist in Linux.
My use case is for a network which mainly consists of routers interconnected by wireless point-to-point links and access points connecting to endusers, this network lives in a Class-A network in the IPv4 addressing space (outside of the RFC1918 ranges), but sometimes those routers also have a connection to internet and they use tunnels over internet between them.
This is not so difficult when the router has no other purpose, one can set individual /32 routes for the tunnel endpoints' outer addresses, but sometimes people want to use the same router as a NAT router to internet for normal use.
Additionally, at some points in the Class-A network there is routing to/from internet. Note that this is different from the use of internet for tunnels!
So it makes sense to have two VRFs. One is the typical internet user setup, where you have some local network(s) and a default route to all of the internet, and likely NAT.
The other is the one handling the own Class-A network which has routes between all the networks served and also a default route that finds its way via the Class-A network towards the point where it routes to internet (so that is different from the default route in the other VRF!). This network does not use NAT. It does not need to.
Of course you want the outside of tunnel traffic to be routed by the first VRF and the inside by the second VRF.
And to make matters more complicated, some users want to have a local network where they can route to both networks depending on the destination.
(i.e. for systems on the local network they want to use the Class-A network to reach others in that network, but to use NAT via their local internet for the remainder of destinations, instead of using the default route in the second VRF. So they want to select VRF depending on some local condition)
To be able to reliably configure such things, I need to know what exactly is done when you configure a VRF, so that I know what extra marking etc I could add to satisfy certain demands.
I know how to do it without using VRF. A second routing table for the Class-A network and the proper /ip route filter setup does it. Sometimes a mark routing rule is added.
BGP can already maintain its routing table separately without using VRF.
But I thought that VRF might be a cleaner way to do the same thing.
So hopefully someone with in-depth knowledge of RouterOS will explain what is the EXACT equivalent of plain policy routing statements to a configuration with VRF, if such equivalence even exists.