[josm-dev] IPv6 problems

Simon Legner simon.legner at gmail.com
Fri Jan 1 12:09:30 UTC 2016


On Fri, Jan 1, 2016 at 12:47 AM, Florian Lohoff <f at zz.de> wrote:
> There is no such thing as a on-the-fly detection. You as the application
> author need to write the detection. You need robust "connect" logic
> which tries ipv6 and falls back to ipv4 when the connect does not
> work. The latest RFCs gives even more advice on how to work around
> long delays induced by servers advertising ipv6 and not responding
> to it or intermitted ipv6 problems e.g. packet loss in the v6 path. This
> is the daily business for an ISP - You path are different for v4 than
> for v6 so you have different latencys, paths, packet loss probabilities
> etc.

> So please - either fix ipv6 in JOSM by implementing the BCPs or
> drop the ipv6 support completely - Currently you are breaking tons
> of user setups and you actively blame ipv6 for it.

I tried to find some reference implementations for the RFC6555 / Happy
Eyeballs in Java – without success. None of the popular HTTP client
libraries [1, 2, 3] seem to have any support for this algorithm.
Instead, they seem to attempt connections sequentially to the resolved
addresses [4, 5].

On GitHub I could only find two Java demo projects on the
java.net.Socket level [6, 7].

Best regards,

[1] https://github.com/apache/httpclient
[2] https://github.com/eclipse/jetty.project
[3] https://github.com/square/okhttp/issues/506
[4] https://github.com/apache/httpclient/blob/be46d7fd93c7e3e576d739bb3ef40f4d2cf5e491/httpclient/src/main/java/org/apache/http/impl/conn/DefaultHttpClientConnectionOperator.java#L97-L171
[5] https://github.com/eclipse/jetty.project/blob/915a905df4dc19234938111095ea659b5deae5ce/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java#L538-L580
[6] https://github.com/ecki/IPv6Con/blob/master/src/main/java/net/eckenfels/ipv6con/SampleHappyEyeballs.java
[7] https://github.com/guinamen/Java-Happy-Eyeballs

More information about the josm-dev mailing list