We have moved to a new Sailfish OS Forum. Please start new discussions there.

ipv6 connection sharing

asked 2015-06-11 21:57:51 +0300

SlOrbA gravatar image

updated 2015-07-13 14:37:24 +0300

chemist gravatar image

Wifi hotspot feature should also share IPv6 connectivity in addition to IPv4.

edit retag flag offensive close delete



I opened https://together.jolla.com/question/98715/ipv6-tethering/?comment=98719 as I didn't find this by searching for "IPv6" tethering and I am copy-pasting it here:

Even if Jolla has IPv6 connectivity with the mobile network, tethering is always IPv4-only. I believe tethering should also be dualstack as my carrier has IPv4 behind CGN and Microsoft Lumia 435 tethered both, IPv4 and IPv6, just by enabling tethering without additional configuration.

This was discussed on #jollasuomi (in Finnish) at freenode on 2015-06-08 and if I understood correctly no GGNS (means what?) in the market supports IPv6 Prefix Delegation and Lumia uses nd-proxy which again was called as wrong way. It was also said that it also works on Jolla by compiling https://github.com/DanielAdolfsson/ndppd and putting DHCPv6 share e.g. /80 block of what is gotten from WISP's /64 and when WISP starts supporting prefix delegation it's just running radvd.

I don't care so much what is the "proper way" as this works on Microsoft Lumia 435 out of the box and PCs connected to it receive 20/20 of ipv6-test.com. It also is more functional by being dual-stack instead of having multiple levels of NAT by being IPv4-only.

Mikaela ( 2015-07-13 13:30:02 +0300 )edit

1 Answer

Sort by » oldest newest most voted

answered 2015-06-12 01:25:07 +0300

tigeli gravatar image

Sure it should, but the fact is that there are no GGSN's which support IPv6 prefix delegation, which is the "correct" way to make it work.

The hacks include using ULA+NAT or doing ND proxying which I've both tested that they do work devices running on SailfishOS. Also I'm 100% sure that IPv6 PD is the only way the ConnMan upstream will accept.

However, yes.. eventually we are planning to support IPv6 with connection sharing.

edit flag offensive delete publish link more



Other phones don't seem to have any issues with supporting IPv6 tethering, Microsoft Lumia 435 does that out of the box without any configuration, just enable tethering.

Mikaela ( 2015-07-13 13:30:56 +0300 )edit

@Mikaela I guess MS-phones are the only ones actually supporting IPv6-tethering for the time being. :)

tigeli ( 2015-07-13 23:13:04 +0300 )edit

And what prevents Jolla and others joining them with IPv6-tethering? If Microsoft can do it, others should be able to do it too.

Mikaela ( 2015-07-14 10:29:04 +0300 )edit

Apparently Apple can do it too with iOS 9 https://ipv6.net/news/revisiting-apple-and-ipv6/ .

Mikaela ( 2015-07-15 07:07:51 +0300 )edit

@tigeli Actually, there is another «correct» way to do it as well. See RFC7278: Extending an IPv6 /64 Prefix from a Third Generation Partnership Project (3GPP) Mobile Interface to a LAN Link.

The gist of this document is that even though the /64 assigned to an UE from a 3GPP network is advertised as being a link prefix assigned to the UE's upstream 3GPP-facing interface, 3GPP networks have some unique properties that facilitate a relaxed implementation. In particular:

  1. The UE is alone in the assigned /64, i.e., the 3GPP network's GGSN/PGW does not claim any global address in it. Therefore, there is no need to trasmit/proxy Duplicate Address Detection messages towards the 3GPP network.
  2. The UE's upstream 3GPP-facing interface behaves like a point-to-point interface, that is, the GGSN/PGW will not attempt to perform Neighbour Discovery for any address in the assigned /64. Instead, any packet addressed to the /64 will be forwarded to the UE, regardless of the destination address actually being in use or not.

Put together, these two properties makes it possible for the UE to consider and treat a 3GPP-assigned /64 as a delegated prefix that could be assigned to downstream interfaces (as opposed to a link prefix which strictly belongs to the 3GPP-facing radio interface).

As far as I know, this is supported on Android, iOS, and Windows Mobile, so it would be really nice to have it in SailfishOS as well.

This approach will only work for 3GPP uplinks, though. For other modes of tethering (e.g., using WiFi as an uplink for devices tethered with Ethernet over USB cable), you will need to perform ND Proxy (RFC4389 or DHCPv6-PD. If implemented, ND Proxy can also be used where the uplink is a 3GPP network (Apple iOS does this, to the best of my knowledge), even though it is is not really necessary in this case.

tore ( 2015-07-29 09:59:57 +0300 )edit
Login/Signup to Answer

Question tools



Asked: 2015-06-11 21:57:51 +0300

Seen: 1,114 times

Last updated: Jun 12 '15