Auto-enable IPv6 by default, unless disabled#3720
Conversation
Removes -6 and --enableipv6, replacing with --noipv6. If --noipv6 is not specified, it will try first to open an IPv6 socket, and if the host does not support it, will fall back to an IPv4 socket. CSocket informs CClient or CServer of IPv6 availability via a reference. The bool bEnableIPv6 is gone, and the actual availability of IPv6 is published by a method in CClient or CServer.
|
If a server operator uses Does |
At the moment, and ever since we introduced basic IPv6 support five years ago (!), I don't think binding a specific address to a dual-stack socket makes any sense, and probably doesn't work. If we wanted to provide that ability we would need to open two separate sockets, one for 4 and another for 6, so they could each be bound to a separate specific address. This would then involve using Do you know what proportion of server operators actually use For now, we could just stipulate that |
Short description of changes
Auto-detects if the host supports IPv6, and enables it by default if so, unless explicitly disabled.
Removes
-6and--enableipv6, replacing them with--noipv6to disable. If--noipv6is not specified, it will try first to open an IPv6 socket, and if the host does not support it, will fall back to an IPv4 socket.CSocketinformsCClientorCServerof IPv6 availability via a passed-in reference.The bool
bEnableIPv6is gone, and the actual availability of IPv6 is published by a method inCClientorCServer.CHANGELOG: Client/Server: Enable IPv6 by default if supported by host. Provide option to disable manually.
Context: Fixes an issue?
Fixes #3300
Does this change need documentation? What needs to be documented and how?
The
--noipv6option should be documented, along with an explanation the IPv6 is always enabled on supporting hosts.Status of this Pull Request
Tested locally on Linux and ready for review.
What is missing until this pull request can be merged?
Just review and testing on multiple platforms.
Checklist