there would seem to be two paths here. the one we are currently walking has more and more complexity to try to deal with the lack of reality-based design in v6. every step, instead of making things simpler, adds more complexity to deal with the mistakes of old narrow decisions. consider an alternative. v6 is barely deployed at all, maybe 1/(10^6) of what it will be. so, a change that seems very expensive now will be trivially amortized if it saves later, while a cost that increases in time (shim6, 6to4, ...) will cost us massively in the future. so, if we had a free hand and ignored the dogmas, what would we change about the v6 architecture to make it really deployable and scalable and have compatibility with and a transition path from v4 without massive kludging, complexity, and long term cost? you can pay me now or pay me later. but later, everything costs a million times as much. randy