Details
-
Task
-
Status: Accepted
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
Each Mesos entity should be able to bind on both Ipv4 and Ipv6 and let the enitity that wants to connect to decide which protocol to use.
For example, we can have a slave that wants to use IPv4 and another one that wants to use IPv6, so the master should bind on both.
In consequence, I want to propose in process.cpp to have two Node fields, one for each type of endpoint. It might be better that the field for Ipv6 to be an Option, because the stack might not support IPv6(eg: the kernel si not compiled with Ipv6 support). Also, UPID will contain two fields of Node, for each type of protocol.
For the HTTP endpoints, whenever a request is done, the entities should try firstly to connect on IPv4 and if the connection fails, to try to use IPv6, or vice versa. We could let the user set up which policy to use. I think in this context it does not matter which protocol is used. I saw this approach in various projects:
http://www.perforce.com/perforce/r13.1/manuals/cmdref/env.P4PORT.html (tcp4to6(Attempt to listen/connect to an IPv4 address. If this fails, try IPv6.) and tcp6to4(Attempt to listen/connect to an IPv6 address. If this fails, try IPv4.)
Attachments
Issue Links
- is duplicated by
-
MESOS-2250 Mesos entities should be able to use IPv6 and IPv4 in the same time
- Resolved
- is related to
-
MESOS-6120 TCP health checks do not support IPv6.
- Accepted