for instance, the options that you were mentioning that is missing, could
you expand on this?
The two layer 3 network that you mention, would this be like a multihomed
host?
The problem that rerouting could invalidate an earlier source address choice isn't mentioned.
Could expand this too? perhaps an example?
I'm unsure why we would want to inject BGP information into hosts.
I don't think that injecting BGP routing table has been considered in the
draft (but i may be forgetting something)
Reachability yes/no isn't very useful as the actual reachability status
of the other side is in almost all cases hidden by aggregation. So
basically this only indicates whether the ISP in question is available.
Determining preference based on BGP information is also a relatively
futile endeavor
Well,
as i see it, there are two systems that can be aware of reachability: the
routing system or the end host itself
The end host can discover reachability by itself, simply trying to send packets to the other end. This is more reliable way to discover reachability, since the host is actually reaching the target.
The other option is to use the routing system. As you mention, the
information provided by the routing system is aggregated, so it hides some
information. However, the routing system has the information in advance, while the host has to discover it when it needs it.
So the host obtained by the host is more accurate, but the routing system
provides it faster, i guess.
I don't really agree. Applications need to try all addresses for a correspondent. Some do this today, most don't. And this needs to be done in a smart way, a four minute timout between trying successive addresses isn't acceptable.
Well, rfc 3484 already states that "Well-behaved applications SHOULD iterate through the list of addresses returned from getaddrinfo() until they find a working address."
But i agree with you, something about this can be included here.
The other point about this is when considering retrying with different
source addresses. If you do this sequentially, i think that it would be up to the app to retry.
However if you do it in parallel, i think that the ip layer could simply
generate multiple packets and send them in parallel, so no need to change
the apps.