<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">Hi David (and others interested in IPv6),<div><br></div><div>We want to add better IPv6 support to Tor relays, clients, and v3 onion services.</div><div><br></div><div>But if we do IPv6 v3 onion services first, the hop before intro and rend points</div><div>will know that the circuit is a v3 onion service circuit, because its EXTEND2</div><div>cells will have an IPv6 address.</div><div><br></div><div>So I suggest that we implement IPv6 support in this order:</div><div><ul><li><span style="background-color: rgba(255, 255, 255, 0);"><span class="searchword0">IPv6</span> single onion services (at any time, only uses direct IPv6 CREATE)</span></li><li><span style="background-color: rgba(255, 255, 255, 0);"><span class="searchword0">IPv6</span> relay extends</span></li><li><span style="background-color: rgba(255, 255, 255, 0);"><span class="searchword0">IPv6</span> relay reachability (provides cover traffic for IPv6 client extends)</span></li><li><span style="background-color: rgba(255, 255, 255, 0);"><span class="searchword0">IPv6</span> client extends for exit circuits</span></li><li><span style="background-color: rgba(255, 255, 255, 0);"><span class="searchword0">IPv6</span> client extends for multi-hop onion service circuits</span></li></ul></div><div>I've added this to an "Overview" section in: </div><div><a href="https://trac.torproject.org/projects/tor/wiki/org/roadmaps/Tor/IPv6Features">https://trac.torproject.org/projects/tor/wiki/org/roadmaps/Tor/IPv6Features</a></div><div><br></div><div>I also like the idea of testing and deploying our IPv6 code on relays first.</div><div>It's less risky than experimenting on clients or onion services.</div><div>And our relay operators give us some excellent bug reports.</div><div><br></div><div>And we can re-use some of the common code from the relay implementation</div><div>in the client and onion service implementations. (For example, we'll write</div><div>code that handles link specifiers.)</div><div><br></div><div><div><span style="background-color: rgba(255, 255, 255, 0);">Also, if we get IPv6 relay reachability checks working, that makes it easier</span></div><div><span style="background-color: rgba(255, 255, 255, 0);">to automatically configure IPv6 on relays. More IPv6 relays will make</span><span style="background-color: rgba(255, 255, 255, 0);"> the</span></div><div><span style="background-color: rgba(255, 255, 255, 0);">anonymity set larger for IPv6 clients.</span></div></div><div><br></div><div>What do you think?</div><div><br></div><div>T</div><div><br></div></body></html>