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

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

    XMLWordPrintableJSON

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

          Activity

            People

              benjaminhindman Benjamin Hindman
              evelinad Evelina Dumitrescu
              Jie Yu Jie Yu
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: