Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-2249

Mesos entities should be able to use IPv6 and IPv4 in the same time

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments


    • Task
    • Status: Accepted
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None


      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.)


        Issue Links


          This comment will be Viewable by All Users Viewable by All Users


            benjaminhindman Benjamin Hindman
            evelinad Evelina Dumitrescu
            Jie Yu Jie Yu




                Issue deployment