I agree that a single host that has SHIM components cannot preserve
established communications (since for this support from both ends of
the communication is needed).
However, if one of the nodes has SHIM components, it may be able to
establish new communications after an outage, something that a non
SHIM
host cannot. and this is a great benefit imho
When I look at the components of multi-homing support, I find the
following:
1) Support of multiple IPv6 interfaces & corresponding IPv6 addresses
This is standard in most IPv6 stacks.
By itself, it allows servers to accept connections over multiple
nets.
Programming interface is well known (bind to "any", then
listen).
Can break if egress filtering interferes, but only in some weird
cases.
2) Choice of the appropriate address pair when many are available
There is a standard spec for "source and dest address
selection".
It should allow clients to establish connections.
However, it relies on "static analysis" of the prefixes, and
does
not work well if one of the paths is unreliable.
Can break if egress-filtering interferes.
3) Better algorithm for address pair selection
Essentially, try multiple choices instead of just one.
Present in some stacks and some applications.
We could do better.
Does not necessarily require Shim6.
Only a partial solution to egress-filtering.
4) Egress-filtering solution
Resolve interaction between "destination based routing" and
egress filtering.
Different solutions for different types of networks.
5) Detection of rehoming events
Quickly detect that connectivity has changed,
Could use information from multiple layers
Adequate response can be performed at many layers
6) Connection maintenance after rehoming & other event
The solution that shim6 addresses...
-- Christian Huitema