Opened 8 years ago

Last modified 8 years ago

#5287 new Bug

Local peer discovery opens two connections on dual-stack networks

Reported by: vermilion Owned by:
Priority: Low Milestone: None Set
Component: Transmission Version: 2.76
Severity: Trivial Keywords: IPv4, IPv6, dual-stack, LPD
Cc: kenyon@…

Description

When Transmission uses local peer discovery and finds a peer with more than one IP address, it treats each IP address as a separate peer. This scenario is reproducible when the local peers are on a dual-stack network (peers have both IPv4 and IPv6 addresses), but should also reproduce if a peer has more than one active network interface (e.g., Wi-Fi and Ethernet are both connected to the same network).

I doubt this messing with anything critical, but it is not an optimal scenario. Opening two "channels" between each other means twice as much protocol overhead, an extra peer for each client to manage, etc.

There's usually no way to look at an IPv4 and an IPv6 address and determine if they're the same computer. Transmission, for LPD clients, would need to send some kind of "signature" to determine if the local peer has more than one address, then connect to the best address (you probably can let the OS's address selection algorithms handle this).

I noticed this bug on my dual-stack home network, between a Mac running 2.76 and a NAS (based on FreeBSD) running 2.74, when I accidentally added the same torrent to each one.

Attachments (1)

DualStackBug.png (53.5 KB) - added by vermilion 8 years ago.
Annotated screenshot of the peers inspector (IP addresses removed to protect the innocent).

Download all attachments as: .zip

Change History (2)

Changed 8 years ago by vermilion

Annotated screenshot of the peers inspector (IP addresses removed to protect the innocent).

comment:1 Changed 8 years ago by kenyon

  • Cc kenyon@… added
Note: See TracTickets for help on using tickets.