IPv6 and v0.11.22

I notice that @calmh did some work on IPv6 in v0.11.22.

On my local network I have three nodes, all on st v0.11.23, running under Windows 10, Windows 7 and Raspbian Jessie (with System D). The Windows nodes use SyncTrayzor.

All routers are IPv4 only.

None of them uses global discovery and none uses st to any other node.

I’m pretty sure I didn’t see any IPv6 addresses in the GUIs before v0.11.22.

Current connections

  1. Win10-Win7 IPv6
  2. Win10-Rasp IPv4
  3. Win7-Rasp IPv6

I’m mildly curious about why some connections are IPv6 and others not.

I wonder if @calmh would want me to gather any information about this.

Assuming st prefers IPv6 over IPv4, it looks like Win10 can only talk to other Windows nodes over IPv6 and must use IPv4 to talk to Linux.

But I hven’t checked this out properly,

1 Like

There isn’t really a preference as such. Local discovery runs over both v4 and v6 in parallel. When connecting to another device, Syncthing will use whatever addresses it’s found so far, in whatever order. If everything works perfectly, you probably have a 50% chance of getting a connection over v6.

Prior to v0.11.22 (iirc) v6 discovery was completely broken on windows, so you wouldn’t have seen any v6 connections then.

There are probably cases where v4 broadcasts don’t get through and v6 multicasts do, and vice versa. Only v6 discovery will work properly if you run more than one Syncthing on the same computer, though.

Thanks for the explanation.

1 Like