← Back to team overview

linuxdcpp-team team mailing list archive

[Bug 309402] Re: ipv6 support

 

IPv6 support in StrongDC++ is now almost ready - IPv4/IPv6 connections
to hubs work, connections between users work correctly too. But there
are two possible implementations and each one has its advantages and
disadvantages. Now I have to choose one of them:

a) hybrid dual-stack
+ just one IPv6 socket is created and it supports both IPv4 and IPv6 connections
+ very easy to implement and code is almost clean
- it's not supported on older OS's (e.g. WinXP doesn't support it)
- IPv4 addresses are in IPv4-mapped IPv6 format, so conversion must be done

b) independent dual-stack
+ works on all OS's with IPv6 support (including WinXP)
+ IPv4 addresses are in IPv4 format
- two sockets need to be created - one for IPv4 and one for IPv6 connections (increases resource usage)
- almost everything needs to be doubled (you need to listen on both sockets, do blocking wait on two sockets etc.)
- a more complicated for implementation than first method (you need to check for IP address version etc.)

StrongDC++ will use the first method. But what to do when hybrid dual-
stack is not supported (e.g. WinXP)? Should I fallback to second method
or completely disable IPv6 support in this case?

-- 
You received this bug notification because you are a member of
Dcplusplus-team, which is a bug assignee.
https://bugs.launchpad.net/bugs/309402

Title:
  ipv6 support

Status in DC++:
  Confirmed
Status in Linux DC++:
  Confirmed
Status in StrongDC++:
  In Progress

Bug description:
  Support for ipv6 as data transport and for client <-> hub
  communication should be added. As it looks like the ADC protocol
  already has ipv6 support, that shouldn't require too much work.

To manage notifications about this bug go to:
https://bugs.launchpad.net/dcplusplus/+bug/309402/+subscriptions