blacklisting a certain gateway

I have a setup like this:
Internet connection 1 - router A - wireless link - router B - internet connection 2
router A and B each have clients that connect to their own internet connection. When the connection goes down, they use the other router’s internet. (That is: Clients of router A go out through Internet connection 1. If internet connection 1 fails, they go through router B to internet connection 2).

For this I set up OSPF. (the setup is a little more complicated as there is a VPN between router A and B in case the wireless link fails - this obviously is for when both connections are up).

The problem I have is that one of the connections is a cablemodem which (very often) fails in two ways:

  1. Cablemodem losses link (for example, cut cable outside). When this happens, the cablemodem goes into default mode and advertises an IP address in the 192.168.100.0/24 subnet AND a route through 192.168.100.1… which is of course a dead route. But for the router this is valid and it tries to route data through it, instead of using the other site.

  2. ISP losses a fiber link. So i get a valid DHCP lease and route, but upstream it goes nowhere.

How can I make routerOS deal with this situation?
For case 1 I’d like to setup some sort of black list. When there is a route through 192.168.100.1, just block it. Don’t even try to use it.

for case 2 I’m not sure…

Take a look at this: http://wiki.mikrotik.com/wiki/Advanced_Routing_Failover_without_Scripting
It might help

Yeah, I’ve used this setup in static address setups, but in my case the addresses are dynamic. It requires a lot of scripting to update and it’s too “fragile” for my taste.