I am just curious how does SLA monitor on ASA work. As I understood and tested on GNS3, when configure SLA Monitor you have to specify outgoing interface and by that you are forcing packets (e.g. ICMP) out through specified interface (something that you have to do using local policy on routers).
Lets say we have configuration like this in scenario where we have two ISPs connected directly to ASA:
sla monitor 1
type echo protocol ipIcmpEcho 18.104.22.168 interface outside1
sla monitor schedule 1 life forever start-time now
Now you need to track default route and you configure default route which is installed in routing table if sla monitor is UP:
route outside1 0.0.0.0 0.0.0.0 10.10.10.10 track 1
route outside2 0.0.0.0 0.0.0.0 22.214.171.124 254
My question is: how come that you need to configure default route for sla monitor 1 to work? You need the route which is tracked by SLA probe which requires that route to function? Isn't that chicken-egg thing? After putting default route on outside1 sla probe starts working, but the route is NOT installed for 60 sec (because it is default frequency) and all behavior after that is fine. Could be the case that SLA monitor process uses that route for itself in background even it is not still installed in routing table?
Analog example: if you issue ping x.x.x.x command on ASA and you don't have route to x.x.x.x you will get "No route to host x.x.x.x", but if you issue ping outside1 x.x.x.x you will get "?????". Does that mean that in second command ASA doesn't consult routing table?
On a router same scenario works using local policy which forces packets to go out on desired interface without default route. Default route is installed if SLA probe goes well.
I hope you'll understand my question(s) :-)