Automatically pushing IPv6 routes to hosts doesn't seem important as long as people keep using IPv4 and forget about IPv6.
As soon as ones wants to do IPv6 setups, pushing IPv6 routes is kind of a basic need that can arise very quickly. We need a way to push IPv6 routes without using IGPs.
I don't think the requirement is as common as you are suggesting.
I have only a single install under my management which has the same layout as you are depicting, and in that installation there never is a need for host1 to talk to host2. It is even firewalled to not allow that.
The internet is becoming more and more a cloud model where the MikroTik equipment is usually at the client side, and all clients only talk to servers on the internet, not to other systems at the same location. So I think over time the demand for such features at MikroTik clients will become less and less.
Also, in this case you know to enable ICMP redirects on host1 and the MikroTik, and it will work just fine.
I agree that not everyone will need to push static routes, but it may still be useful for many people.
The drawing above is just a dummy example.
The need of pushing routes arises as soon as you have in your network a router which is not the default router, and is the only one to be able to access to another network.
Behind business network (and sometimes even homes), we have servers.
I called them Host1 Host2, but one of them is a server of course. By host, I just meant it's a "machine with a CPU plugged to the network".
About ICMP redirects: ICMP redirects can do the job here. But they kind of tell you: "Hey, why are you giving me that packet? You could have directly given it to the correct router that is in the same link scope as yourself, so you are using me for a job you can do yourself".
ICMP redirects depict an inefficient network configuration.
If possible, it's better to configure the network so that each host gives each packet to the correct router directly.
And because it doesn't scale to go in each host and manually configure a static route, we need a way to push this config.
For IPv4, the key is DHCPv4 Option 121 (Classless Route).
For IPV6, DHCPv6 doesn't support sending routes.
It seems the only way is by the "Route" option in RAs.
Instead of pushing a route, why not send out an addtl RA with like low/high priority as fits your situation?
RAs are very powerful. They can usually do 6 things:
- Make hosts put that router as their default gateway
- Advertise a prefix so that hosts can configure an IP themselves (SLAAC)
- Give a DNS server
- Tell hosts to do DHCPv6 for address configuration
- Tell hosts to configure themselves, and additionally request DHCPv6 only for other settings
- Send routes
The key here is the first point: I don't want Mikrotik to become the default gateway for that host. So for this, we need to set the RA Lifetime to 0 (this just tells the host not to change its default gateway).
And we don't send Prefix information either, because both public prefixes are distinct, we don't want a host to configure a wrong prefix in its network.
We only want to push a Route inside of the RA.
It's exactly what I'm requesting.
Here, we don't even need to play with preference settings. Because even if on one link scope we have 2 RAs simultaneously, none of them is overriding the other one. They are cumulative, all settings from both RAs will be kept and merged together by the host.
- Take default route from RA1
- Take prefix from RA1 and do SLAAC
- Take DNS from RA1
- But add an additional route coming from RA2
If I'm not mistaken, RouterOS is using radv under the hood. Radv supports sending routes in RAs, so it should not be too difficult to add that feature.