Keith; > (regarding the complexity of putting a general-purpose layer to survive > address changes between L4 and L7) It is not merely complex but also useless to have such a layer. The basic problem of the approach to have such a layer is that only the application layer has proper knowledge on proper timeout value to try other addresses. So, the issue can be solved only involving application layer, though most applications over TCP can be satisfied by a default timeout of TCP. In either case, there is no room to have an additional layer. I documented it long ago (April 2000) in draft-ohta-e2e-multihoming-*.txt The Architecture of End to End Multihoming (current most version is 05) that: To support the end to end multihoming, no change is necessary on routing protocols. Instead, APIs and applications must be modified to detect and react against the loss of connection. In case of TCP where there is a network wide defact agreement on the semantics (timeout period) of the loss of connectivity, most of the work can be done by the kernel code at the transport layer, though some timing may be adjusted for some application. However, in general, the condition of "loss of connectivity" varies application by application that the multihoming must directly be controlled by application programs. Masataka Ohta PS Layering is abstraction and not indirection at all.